-
Notifications
You must be signed in to change notification settings - Fork 13
/
___281d0h.c
105 lines (83 loc) · 1.84 KB
/
___281d0h.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include "drally.h"
extern __POINTER__ ___1a1138h__VESA101_BACKGROUND;
extern __POINTER__ ___1a112ch__VESA101_ACTIVESCREEN_PTR;
// SHOP, MARKET, RACE SIGNUP REMOVE COPPER FRAME
void ___281d0h_cdecl(__DWORD__ A1, __DWORD__ A2, __DWORD__ A3, __DWORD__ A4){
__DWORD__ eax, ebx, ecx, edx, edi, esi, ebp;
__BYTE__ esp[0x18];
eax = A1;
edx = A2;
ebx = A3;
ecx = A4;
ebp = eax;
D(esp) = edx;
D(esp+0x4) = ecx;
eax = edx;
edx <<= 0x2;
eax += edx;
eax <<= 0x7;
edx = eax;
eax += 0xc80;
D(esp+0x10) = eax;
while(1){
memcpy(___1a112ch__VESA101_ACTIVESCREEN_PTR+edx+ebp, ___1a1138h__VESA101_BACKGROUND+edx+ebp, ebx);
edx += 0x280;
if(edx == D(esp+0x10)) break;
}
eax = D(esp+0x4);
edi = 4*eax;
edi += eax;
eax = D(esp);
edx = 4*eax;
edi <<= 0x7;
eax += edx;
esi = edi+0xfffff380;
eax <<= 0x7;
edx = esi+eax;
eax += edi;
D(esp+0xc) = eax;
while(1){
memcpy(___1a112ch__VESA101_ACTIVESCREEN_PTR+edx+ebp, ___1a1138h__VESA101_BACKGROUND+edx+ebp, ebx);
edx += 0x280;
esi = D(esp+0xc);
if(edx == esi) break;
}
if((int)D(esp+4) <= 0) goto ___282f7h;
eax = D(esp);
edi = 4*eax;
edi += eax;
eax = D(esp+0x4);
edx ^= esi;
esi = 4*eax;
esi += eax;
edi <<= 0x7;
esi <<= 0x7;
edx += edi;
edi += esi;
D(esp+0x8) = edi;
while(1){
memcpy(___1a112ch__VESA101_ACTIVESCREEN_PTR+edx+ebp, ___1a1138h__VESA101_BACKGROUND+edx+ebp, 0x5);
edx += 0x280;
if((int)edx >= (int)D(esp+8)) break;
}
___282f7h:
if((int)D(esp+4) <= 0) goto ___28364h;
eax = D(esp);
edi = D(esp+0x4);
edx = 4*eax;
esi = 4*edi;
eax += edx;
esi += edi;
eax <<= 0x7;
esi <<= 0x7;
edx = eax;
eax += esi;
D(esp+0x14) = eax;
while(1){
memcpy(___1a112ch__VESA101_ACTIVESCREEN_PTR+edx+ebp+ebx-0x5, ___1a1138h__VESA101_BACKGROUND+edx+ebp+ebx-0x5, 0x5);
edx += 0x280;
if((int)edx >= (int)D(esp+0x14)) break;
}
___28364h:
return;
}