Function at 0x632c10
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
mov byte [ebp - 0x25], cl
mov dword [ebp - 0x24], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x118]
test al, al
je 0x633fce
mov byte [ebp - 0x55], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x510]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x633a9f
inc eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x510]
mov edx, dword [ebp - 0x2c]
call fcn.0041e7b0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x30], 0
je 0x633a93
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x10], 0
je 0x632c90
mov byte [ebp - 0x55], 1
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x10], 0
je 0x632d07
mov eax, dword [ebp - 4]
cmp byte [eax + 0x470], 0
jne 0x632d07
mov eax, dword [ebp - 4]
cmp byte [eax + 0x46e], 0
jne 0x632d07
mov eax, dword [ebp - 4]
cmp byte [eax + 0x471], 0
jne 0x632d07
mov eax, dword [ebp - 0x24]
mov edx, dword [0x44113c]
call fcn.00403eb4
test al, al
je 0x632d07
mov eax, dword [ebp - 4]
cmp byte [eax + 0x472], 0
jne 0x632d07
mov eax, dword [ebp - 4]
cmp dword [eax + 0x628], 0
jge 0x632d07
mov eax, dword [ebp - 0x6c]
inc dword [eax + 0x14]
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0x14], 0xa
jl 0x632cfe
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 4]
inc dword [eax + 0x28c]
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
call fcn.0042b8f8
cmp dword [ebp - 0x88], 0
jne 0x632d36
cmp dword [ebp - 0x84], 0
jne 0x632d36
cmp dword [ebp - 0x80], 0
jne 0x632d36
cmp dword [ebp - 0x7c], 0
je 0x632d3a
xor eax, eax
jmp 0x632d3c
mov al, 1
test al, al
jne 0x633a93
mov eax, dword [ebp - 4]
cmp dword [eax + 0x410], 0
jne 0x633a93
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x50], 0
je 0x632d6a
cmp byte [ebp - 0x25], 0
jne 0x633a93
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4fe], 0
jne 0x633a93
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x31], 0
je 0x63318f
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
call fcn.00637818
test al, al
je 0x63318f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x470], 0
jne 0x63318f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x628], 0xffffffff
jne 0x63318f
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x70], eax
xor edx, edx
push ebp
push 0x633188
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x8a939c]
cmp byte [eax], 0
je 0x632e5c
mov eax, dword [ebp - 0x70]
call fcn.0042b91c
mov ecx, eax
mov dl, 1
mov eax, dword [0x555744]
call fcn.00555f98
mov dword [ebp - 0x18], eax
push 0x3f800000
mov eax, dword [0x8a9e44]
mov eax, dword [eax]
call fcn.00576ee4
mov ecx, eax
mov dl, 1
mov eax, dword [0x555638]
call fcn.00555ae0
mov dword [ebp - 0x20], eax
mov eax, 0xffffff
call fcn.00576ee4
mov ecx, eax
mov dl, 1
mov eax, dword [0x555570]
call fcn.00555de0
mov dword [ebp - 0x1c], eax
mov edx, dword [0x8aa080]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.00556038
mov eax, dword [0x8aa228]
fld qword [eax]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [ebp - 0x20]
call fcn.00555bbc
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x4ec]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x14]
call fcn.0042af74
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4e8]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x14]
call fcn.0042ae58
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4e4]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x10]
call fcn.0042ab58
mov dword [ebp - 0x48], 0x989680
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x54], 0xfff0bdc0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 4]
dec eax
test eax, eax
jl 0x632fa1
inc eax
mov dword [ebp - 0x74], eax
xor ebx, ebx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + ebx*8]
cmp eax, 0xfffff
je 0x632f97
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8 + 4]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov edi, eax
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 4], 4
jne 0x632f1d
cmp ebx, 1
je 0x632f11
cmp ebx, 2
jne 0x632f12
dec esi
cmp ebx, 2
je 0x632f1c
cmp ebx, 3
jne 0x632f1d
dec edi
mov eax, dword [0x8a939c]
cmp byte [eax], 0
je 0x632f50
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
mov edx, eax
add edx, edi
push edx
mov edx, edi
sub edx, eax
inc edx
push edx
mov edx, esi
sub edx, eax
inc edx
mov ecx, eax
add ecx, esi
mov eax, edx
pop edx
call fcn.00632bbc
pop ecx
jmp 0x632f77
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
mov edx, eax
add edx, esi
push edx
mov edx, eax
add edx, edi
push edx
mov edx, edi
sub edx, eax
inc edx
push edx
mov edx, esi
sub edx, eax
inc edx
mov eax, dword [ebp - 0x70]
pop ecx
call fcn.0042b4cc
cmp esi, dword [ebp - 0x48]
jge 0x632f7f
mov dword [ebp - 0x48], esi
cmp edi, dword [ebp - 0x4c]
jge 0x632f87
mov dword [ebp - 0x4c], edi
cmp esi, dword [ebp - 0x50]
jle 0x632f8f
mov dword [ebp - 0x50], esi
cmp edi, dword [ebp - 0x54]
jle 0x632f97
mov dword [ebp - 0x54], edi
inc ebx
dec dword [ebp - 0x74]
jne 0x632ec7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4f4], 0
je 0x633158
mov esi, dword [ebp - 0x50]
add esi, dword [ebp - 0x48]
sar esi, 1
jns 0x632fbe
adc esi, 0
mov edi, dword [ebp - 0x54]
add edi, dword [ebp - 0x4c]
sar edi, 1
jns 0x632fcb
adc edi, 0
mov eax, dword [0x8a939c]
cmp byte [eax], 0
je 0x633070
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
mov edx, eax
add edx, dword [ebp - 0x4c]
push edx
mov edx, dword [ebp - 0x4c]
sub edx, eax
inc edx
mov ecx, esi
sub ecx, eax
inc ecx
add eax, esi
xchg ecx, eax
call fcn.00632bbc
pop ecx
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
mov edx, eax
add edx, edi
push edx
mov edx, edi
sub edx, eax
inc edx
mov ecx, dword [ebp - 0x48]
sub ecx, eax
inc ecx
add eax, dword [ebp - 0x48]
xchg ecx, eax
call fcn.00632bbc
pop ecx
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
mov edx, eax
add edx, edi
push edx
mov edx, edi
sub edx, eax
inc edx
mov ecx, dword [ebp - 0x50]
sub ecx, eax
inc ecx
add eax, dword [ebp - 0x50]
xchg ecx, eax
call fcn.00632bbc
pop ecx
push ebp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
mov edx, eax
add edx, dword [ebp - 0x54]
push edx
mov edx, dword [ebp - 0x54]
sub edx, eax
inc edx
mov ecx, esi
sub ecx, eax
inc ecx
add esi, eax
mov eax, esi
xchg ecx, eax
call fcn.00632bbc
pop ecx
jmp 0x633158
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
add eax, esi
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
add eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [eax + 0x4f0]
inc ecx
mov eax, dword [ebp - 4]
mov edx, esi
sub edx, dword [eax + 0x4f0]
inc edx
mov eax, dword [ebp - 0x70]
call fcn.0042b4cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
add eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
add eax, edi
push eax
mov eax, dword [ebp - 4]
mov ecx, edi
sub ecx, dword [eax + 0x4f0]
inc ecx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x48]
sub edx, dword [eax + 0x4f0]
inc edx
mov eax, dword [ebp - 0x70]
call fcn.0042b4cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
add eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
add eax, edi
push eax
mov eax, dword [ebp - 4]
mov ecx, edi
sub ecx, dword [eax + 0x4f0]
inc ecx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x50]
sub edx, dword [eax + 0x4f0]
inc edx
mov eax, dword [ebp - 0x70]
call fcn.0042b4cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
add eax, esi
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4f0]
add eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x54]
sub ecx, dword [eax + 0x4f0]
inc ecx
mov eax, dword [ebp - 4]
mov edx, esi
sub edx, dword [eax + 0x4f0]
inc edx
mov eax, dword [ebp - 0x70]
call fcn.0042b4cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x63318f
mov eax, dword [0x8a939c]
cmp byte [eax], 0
je 0x633187
mov eax, dword [ebp - 0x18]
call fcn.00403d28
mov eax, dword [ebp - 0x20]
call fcn.00403d28
mov eax, dword [ebp - 0x1c]
call fcn.00403d28
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x49c]
cmp eax, dword [ebp - 0x30]
jne 0x633687
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
call fcn.006425d0
test al, al
jne 0x633687
mov eax, dword [ebp - 4]
cmp byte [eax + 0x472], 0
jne 0x633687
mov eax, dword [ebp - 4]
cmp byte [eax + 0x470], 0
jne 0x633687
mov eax, dword [ebp - 4]
cmp byte [eax + 0x471], 0
jne 0x633687
mov eax, dword [ebp - 4]
cmp byte [eax + 0x46e], 0
jne 0x633687
mov eax, dword [ebp - 4]
cmp byte [eax + 0x626], 0
jne 0x633687
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2b0], 0
je 0x633223
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d8], 0
jne 0x633a93
call sub.kernel32.dll_GetTickCount
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
call fcn.00637818
test al, al
je 0x633558
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x10]
mov dl, 4
call fcn.0042ac38
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov ebx, eax
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov edx, eax
mov eax, ebx
call fcn.005eaf84
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov edx, eax
mov eax, dword [ebp - 0x34]
call fcn.005eaf84
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov edx, eax
dec edx
mov eax, ebx
call fcn.005eaf84
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov edx, eax
dec edx
mov eax, dword [ebp - 0x34]
call fcn.005eaf84
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x414], 0
jle 0x633307
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x414]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x340]
dec edx
mov eax, dword [ebp - 0x38]
call fcn.005eaf8c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x418], 0
jle 0x633331
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x418]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x344]
dec edx
mov eax, dword [ebp - 0x3c]
call fcn.005eaf8c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x550]
jne 0x63337c
mov eax, dword [ebp - 4]
fld qword [eax + 0x3f0]
fcomp dword [0x633fd8]
fnstsw ax
sahf
je 0x63337c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x42c]
cmp eax, dword [ebp - 0x38]
jle 0x63337c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x414]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x340]
dec eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x554]
jne 0x6333c7
mov eax, dword [ebp - 4]
fld qword [eax + 0x3f0]
fcomp dword [0x633fd8]
fnstsw ax
sahf
je 0x6333c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x430]
cmp eax, dword [ebp - 0x3c]
jle 0x6333c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x344]
dec eax
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x38]
mov eax, esi
call fcn.005eaf8c
mov esi, eax
mov edx, dword [ebp - 0x3c]
mov eax, edi
call fcn.005eaf8c
mov edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x414]
sub eax, 0x1e
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x414]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x48]
add eax, 0x1e
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
sub eax, 0x1e
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x4c]
add eax, 0x1e
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x6c]
mov dword [edx + 0x18], eax
cmp edi, dword [ebp - 0x10]
jle 0x633471
cmp edi, dword [ebp - 8]
jge 0x633471
cmp esi, dword [ebp - 0xc]
jge 0x633471
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x14]
jle 0x633471
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
push edi
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.005eaf8c
push eax
push edi
mov edx, dword [ebp - 0x14]
mov eax, esi
call fcn.005eaf84
push eax
call sub.gdi32.dll_LineDDA
cmp esi, dword [ebp - 0x14]
jle 0x6334af
cmp esi, dword [ebp - 0xc]
jge 0x6334af
cmp edi, dword [ebp - 8]
jge 0x6334af
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x10]
jle 0x6334af
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
call fcn.005eaf8c
push eax
push esi
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.005eaf84
push eax
push esi
call sub.gdi32.dll_LineDDA
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x10]
jle 0x6334f9
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 8]
jge 0x6334f9
cmp esi, dword [ebp - 0xc]
jge 0x6334f9
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x14]
jle 0x6334f9
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov eax, dword [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.005eaf8c
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x14]
mov eax, esi
call fcn.005eaf84
push eax
call sub.gdi32.dll_LineDDA
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x14]
jle 0x6335e8
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0xc]
jge 0x6335e8
cmp edi, dword [ebp - 8]
jge 0x6335e8
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x10]
jle 0x6335e8
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
call fcn.005eaf8c
push eax
mov eax, dword [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.005eaf84
push eax
mov eax, dword [ebp - 0x38]
push eax
call sub.gdi32.dll_LineDDA
jmp 0x6335e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x344]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x334]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4e0]
push eax
mov eax, dword [ebp - 4]
push dword [eax + 0x3f4]
push dword [eax + 0x3f0]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x414]
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
call fcn.0064143c
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc], 0xa8
jne 0x63365a
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
call fcn.00637818
test al, al
je 0x63365a
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.0062cd90
dec eax
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
dec eax
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov edx, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
pop ecx
call fcn.00632a74
call sub.kernel32.dll_GetTickCount
mov eax, dword [ebp - 4]
cmp dword [eax + 0x2f8], 0
jge 0x633a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, 0xd2
call fcn.004425fc
jmp 0x633a93
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x6c]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x10]
mov dl, 4
call fcn.0042ac38
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 4], 0
jle 0x633a93
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
call fcn.00637818
test al, al
je 0x633918
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov ebx, eax
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov edx, eax
mov eax, ebx
call fcn.005eaf84
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov edx, eax
mov eax, dword [ebp - 0x34]
call fcn.005eaf84
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov edx, eax
dec edx
mov eax, ebx
call fcn.005eaf84
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov edx, eax
dec edx
mov eax, dword [ebp - 0x34]
call fcn.005eaf84
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x414], 0
jle 0x63377c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x414]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x340]
dec edx
mov eax, dword [ebp - 0x38]
call fcn.005eaf8c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x418], 0
jle 0x6337a6
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x418]
mov eax, dword [ebp - 4]
add edx, dword [eax + 0x344]
dec edx
mov eax, dword [ebp - 0x3c]
call fcn.005eaf8c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x550]
jne 0x6337f1
mov eax, dword [ebp - 4]
fld qword [eax + 0x3f0]
fcomp dword [0x633fd8]
fnstsw ax
sahf
je 0x6337f1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x42c]
cmp eax, dword [ebp - 0x38]
jle 0x6337f1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x414]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x340]
dec eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x554]
jne 0x63383c
mov eax, dword [ebp - 4]
fld qword [eax + 0x3f0]
fcomp dword [0x633fd8]
fnstsw ax
sahf
je 0x63383c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x430]
cmp eax, dword [ebp - 0x3c]
jle 0x63383c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x344]
dec eax
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x38]
mov eax, esi
call fcn.005eaf8c
mov esi, eax
mov edx, dword [ebp - 0x3c]
mov eax, edi
call fcn.005eaf8c
mov edi, eax
cmp dword [ebp - 0x2c], 0
jne 0x633862
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
push edi
mov eax, dword [ebp - 0x38]
push eax
push edi
push esi
call sub.gdi32.dll_LineDDA
cmp dword [ebp - 0x2c], 0
jne 0x633885
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov eax, dword [ebp - 0x3c]
push eax
push esi
push edi
push esi
call sub.gdi32.dll_LineDDA
cmp dword [ebp - 0x2c], 0
jne 0x6338a8
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x3c]
push eax
push esi
call sub.gdi32.dll_LineDDA
cmp dword [ebp - 0x2c], 0
jne 0x6338d1
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
push eax
push edi
mov eax, dword [ebp - 0x38]
push eax
call sub.gdi32.dll_LineDDA
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc], 0xa8
jne 0x633a93
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
mov ecx, edi
mov edx, esi
call fcn.00632a74
jmp 0x633a93
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax]
mov dword [ebp - 0x44], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x40], edx
mov ebx, 1
jmp 0x633a15
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp dword [eax + ebx*8], 0xfffff
jne 0x6339af
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8 - 8]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8 - 4]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov edi, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
push eax
push edi
push esi
call sub.gdi32.dll_LineDDA
inc ebx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8]
mov dword [ebp - 0x44], edx
mov edx, dword [eax + ebx*8 + 4]
mov dword [ebp - 0x40], edx
jmp 0x633a14
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8 - 8]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8 - 4]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8 + 4]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
push eax
push edi
push esi
call sub.gdi32.dll_LineDDA
inc ebx
mov eax, dword [ebp - 0x6c]
cmp ebx, dword [eax + 4]
jl 0x633932
mov eax, dword [ebp - 4]
cmp byte [eax + 0x46e], 0
jne 0x633a93
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx]
mov edx, dword [edx + eax*8 - 8]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx]
mov edx, dword [edx + eax*8 - 4]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov edi, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.0062cd90
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.0062cf0c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
push eax
push 0x632a10
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
push eax
push edi
push esi
call sub.gdi32.dll_LineDDA
inc dword [ebp - 0x2c]
dec dword [ebp - 0x68]
jne 0x632c5c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d4], 0
jne 0x633acf
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d8], 0
jne 0x633acf
cmp byte [ebp - 0x55], 0
jne 0x633acf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
xor edx, edx
call fcn.004425ec
jmp 0x633aee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp byte [eax + 0x40], 0
jne 0x633aee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dl, 1
call fcn.004425ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d4]
test eax, eax
jle 0x633fb9
cmp eax, 2
jle 0x633b1c
mov eax, dword [ebp - 4]
mov byte [eax + 0x614], 1
mov eax, dword [ebp - 4]
dec dword [eax + 0x3d4]
jmp 0x633f5e
cmp eax, 2
jne 0x633f03
mov eax, dword [ebp - 4]
mov byte [eax + 0x614], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x615], 0
je 0x633f5e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e4], 0
je 0x633c44
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 5
jne 0x633c44
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xd0]
call fcn.00645e2c
test al, al
jne 0x633c44
mov eax, dword [ebp - 4]
cmp dword [eax + 0x330], 0
jl 0x633c44
mov eax, dword [ebp - 4]
cmp dword [eax + 0x334], 0
jl 0x633c44
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x330]
mov ecx, dword [ebp - 4]
add edx, dword [ecx + 0x338]
cmp eax, edx
jl 0x633c44
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x334]
mov ecx, dword [ebp - 4]
add edx, dword [ecx + 0x33c]
cmp eax, edx
jl 0x633c44
mov eax, dword [ebp - 4]
cmp dword [eax + 0x340], 0
jle 0x633c44
mov eax, dword [ebp - 4]
cmp dword [eax + 0x344], 0
jle 0x633c44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x338]
jge 0x633c44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x344]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x33c]
jge 0x633c44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov edx, dword [ebp - 4]
imul dword [edx + 0x33c]
cmp eax, 0x3d090
jg 0x633c48
xor eax, eax
jmp 0x633c4a
mov al, 1
mov byte [ebp - 0x61], al
cmp byte [ebp - 0x61], 0
je 0x633ef8
mov eax, dword [ebp - 4]
add eax, 0x5e8
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x414]
mov edx, dword [ebp - 0x78]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
mov edx, dword [ebp - 0x78]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [ebp - 0x78]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x344]
mov edx, dword [ebp - 0x78]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x330]
mov edx, dword [ebp - 0x78]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x334]
mov edx, dword [ebp - 0x78]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov edx, dword [ebp - 0x78]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
mov edx, dword [ebp - 0x78]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x269]
mov edx, dword [ebp - 0x78]
mov byte [edx + 0x20], al
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a0], 0
je 0x633d60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x600]
jne 0x633d26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a0]
mov edx, dword [eax]
call dword [edx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x604]
je 0x633d60
xor eax, eax
push ebp
push 0x633d4b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x5a0
call fcn.00411378
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x633d55
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5a0], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a0], 0
jne 0x633d96
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x604]
push eax
push 5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x600]
mov dl, 1
mov eax, dword [0x63d47c]
call fcn.00645b8c
mov edx, dword [ebp - 4]
mov dword [edx + 0x5a0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5fc]
push eax
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x600]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x604]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x5f8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5a0]
call fcn.00649938
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a4], 0
je 0x633e52
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a4]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x5f0]
jne 0x633e18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a4]
mov edx, dword [eax]
call dword [edx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x5f4]
je 0x633e52
xor eax, eax
push ebp
push 0x633e3d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x5a4
call fcn.00411378
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x633e47
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5a4], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a4], 0
jne 0x633e88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f4]
push eax
push 5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x5f0]
mov dl, 1
mov eax, dword [0x63d47c]
call fcn.00645b8c
mov edx, dword [ebp - 4]
mov dword [edx + 0x5a4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a0]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x610], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x615], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x614], 0
mov cl, 1
mov dl, 1
mov eax, dword [0x6294fc]
call fcn.00426da8
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 4]
add eax, 0x5e8
mov edx, dword [ebp - 0x60]
mov dword [edx + 0x30], eax
mov dl, 3
mov eax, dword [ebp - 0x60]
call fcn.00426fa8
mov eax, dword [ebp - 0x60]
mov byte [eax + 0xf], 1
mov eax, dword [ebp - 0x60]
call fcn.00427130
mov eax, dword [ebp - 4]
dec dword [eax + 0x3d4]
jmp 0x633f5e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x615], 0
je 0x633f5e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a0], 0
je 0x633f55
xor eax, eax
push ebp
push 0x633f40
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x5a0
call fcn.00411378
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x633f4a
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5a0], edx
mov eax, dword [ebp - 4]
dec dword [eax + 0x3d4]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d4], 0
jne 0x633fb9
xor eax, eax
push ebp
push 0x633f8d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x88]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x633f97
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp dword [eax + 0x30], 0x32
jae 0x633fb9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, 0xd2
call fcn.004425fc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d8], 0
jle 0x633fce
mov eax, dword [ebp - 4]
dec dword [eax + 0x3d8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret