Function at 0x61fc18
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 0x620fd6
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 0x620aa7
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.004210b0
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 0x620a9b
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x10], 0
je 0x61fc98
mov byte [ebp - 0x55], 1
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x10], 0
je 0x61fd0f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x470], 0
jne 0x61fd0f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x46e], 0
jne 0x61fd0f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x471], 0
jne 0x61fd0f
mov eax, dword [ebp - 0x24]
mov edx, dword [0x44984c]
call fcn.00403fb8
test al, al
je 0x61fd0f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x472], 0
jne 0x61fd0f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x628], 0
jge 0x61fd0f
mov eax, dword [ebp - 0x6c]
inc dword [eax + 0x14]
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0x14], 0xa
jl 0x61fd06
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.00430f18
cmp dword [ebp - 0x88], 0
jne 0x61fd3e
cmp dword [ebp - 0x84], 0
jne 0x61fd3e
cmp dword [ebp - 0x80], 0
jne 0x61fd3e
cmp dword [ebp - 0x7c], 0
je 0x61fd42
xor eax, eax
jmp 0x61fd44
mov al, 1
test al, al
jne 0x620a9b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x410], 0
jne 0x620a9b
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x50], 0
je 0x61fd72
cmp byte [ebp - 0x25], 0
jne 0x620a9b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4fe], 0
jne 0x620a9b
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x31], 0
je 0x620197
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
call fcn.00624858
test al, al
je 0x620197
mov eax, dword [ebp - 4]
cmp byte [eax + 0x470], 0
jne 0x620197
mov eax, dword [ebp - 4]
cmp dword [eax + 0x628], 0xffffffff
jne 0x620197
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x70], eax
xor edx, edx
push ebp
push 0x620190
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x989b20]
cmp byte [eax], 0
je 0x61fe64
mov eax, dword [ebp - 0x70]
call fcn.00430f3c
mov ecx, eax
mov dl, 1
mov eax, dword [0x522c1c]
call fcn.00523268
mov dword [ebp - 0x18], eax
push 0x3f800000
mov eax, dword [0x98a5d4]
mov eax, dword [eax]
call fcn.00538e50
mov ecx, eax
mov dl, 1
mov eax, dword [0x522b6c]
call fcn.00522ec4
mov dword [ebp - 0x20], eax
mov eax, 0xffffff
call fcn.00538e50
mov ecx, eax
mov dl, 1
mov eax, dword [0x522b0c]
call fcn.00523168
mov dword [ebp - 0x1c], eax
mov edx, dword [0x98a828]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.00523308
mov eax, dword [0x98a9d0]
fld qword [eax]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [ebp - 0x20]
call fcn.00522f44
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x4ec]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x14]
call fcn.00430324
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4e8]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x14]
call fcn.00430208
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4e4]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x10]
call fcn.0042ff08
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 0x61ffa9
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 0x61ff9f
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.00619d5c
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.00619ed8
mov edi, eax
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 4], 4
jne 0x61ff25
cmp ebx, 1
je 0x61ff19
cmp ebx, 2
jne 0x61ff1a
dec esi
cmp ebx, 2
je 0x61ff24
cmp ebx, 3
jne 0x61ff25
dec edi
mov eax, dword [0x989b20]
cmp byte [eax], 0
je 0x61ff58
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.0061fbc4
pop ecx
jmp 0x61ff7f
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.00430aec
cmp esi, dword [ebp - 0x48]
jge 0x61ff87
mov dword [ebp - 0x48], esi
cmp edi, dword [ebp - 0x4c]
jge 0x61ff8f
mov dword [ebp - 0x4c], edi
cmp esi, dword [ebp - 0x50]
jle 0x61ff97
mov dword [ebp - 0x50], esi
cmp edi, dword [ebp - 0x54]
jle 0x61ff9f
mov dword [ebp - 0x54], edi
inc ebx
dec dword [ebp - 0x74]
jne 0x61fecf
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4f4], 0
je 0x620160
mov esi, dword [ebp - 0x50]
add esi, dword [ebp - 0x48]
sar esi, 1
jns 0x61ffc6
adc esi, 0
mov edi, dword [ebp - 0x54]
add edi, dword [ebp - 0x4c]
sar edi, 1
jns 0x61ffd3
adc edi, 0
mov eax, dword [0x989b20]
cmp byte [eax], 0
je 0x620078
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.0061fbc4
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.0061fbc4
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.0061fbc4
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.0061fbc4
pop ecx
jmp 0x620160
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.00430aec
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.00430aec
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.00430aec
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.00430aec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x620197
mov eax, dword [0x989b20]
cmp byte [eax], 0
je 0x62018f
mov eax, dword [ebp - 0x18]
call fcn.00403e2c
mov eax, dword [ebp - 0x20]
call fcn.00403e2c
mov eax, dword [ebp - 0x1c]
call fcn.00403e2c
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x49c]
cmp eax, dword [ebp - 0x30]
jne 0x62068f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4d0]
call fcn.0062fa9c
test al, al
jne 0x62068f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x472], 0
jne 0x62068f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x470], 0
jne 0x62068f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x471], 0
jne 0x62068f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x46e], 0
jne 0x62068f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x626], 0
jne 0x62068f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2b0], 0
je 0x62022b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d8], 0
jne 0x620a9b
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.00624858
test al, al
je 0x620560
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x10]
mov dl, 4
call fcn.0042ffe8
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00619d5c
mov ebx, eax
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00619ed8
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.00619d5c
mov edx, eax
mov eax, ebx
call fcn.005cf504
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
call fcn.00619ed8
mov edx, eax
mov eax, dword [ebp - 0x34]
call fcn.005cf504
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.00619d5c
mov edx, eax
dec edx
mov eax, ebx
call fcn.005cf504
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.00619ed8
mov edx, eax
dec edx
mov eax, dword [ebp - 0x34]
call fcn.005cf504
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x414], 0
jle 0x62030f
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.005cf50c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x418], 0
jle 0x620339
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.005cf50c
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 0x620384
mov eax, dword [ebp - 4]
fld qword [eax + 0x3f0]
fcomp dword [0x620fe0]
fnstsw ax
sahf
je 0x620384
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x42c]
cmp eax, dword [ebp - 0x38]
jle 0x620384
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 0x6203cf
mov eax, dword [ebp - 4]
fld qword [eax + 0x3f0]
fcomp dword [0x620fe0]
fnstsw ax
sahf
je 0x6203cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x430]
cmp eax, dword [ebp - 0x3c]
jle 0x6203cf
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.005cf50c
mov esi, eax
mov edx, dword [ebp - 0x3c]
mov eax, edi
call fcn.005cf50c
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 0x620479
cmp edi, dword [ebp - 8]
jge 0x620479
cmp esi, dword [ebp - 0xc]
jge 0x620479
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x14]
jle 0x620479
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
push edi
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.005cf50c
push eax
push edi
mov edx, dword [ebp - 0x14]
mov eax, esi
call fcn.005cf504
push eax
call sub.gdi32.dll_LineDDA
cmp esi, dword [ebp - 0x14]
jle 0x6204b7
cmp esi, dword [ebp - 0xc]
jge 0x6204b7
cmp edi, dword [ebp - 8]
jge 0x6204b7
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x10]
jle 0x6204b7
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
call fcn.005cf50c
push eax
push esi
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.005cf504
push eax
push esi
call sub.gdi32.dll_LineDDA
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x10]
jle 0x620501
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 8]
jge 0x620501
cmp esi, dword [ebp - 0xc]
jge 0x620501
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x14]
jle 0x620501
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
mov eax, dword [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.005cf50c
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov edx, dword [ebp - 0x14]
mov eax, esi
call fcn.005cf504
push eax
call sub.gdi32.dll_LineDDA
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x14]
jle 0x6205f0
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0xc]
jge 0x6205f0
cmp edi, dword [ebp - 8]
jge 0x6205f0
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x10]
jle 0x6205f0
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
call fcn.005cf50c
push eax
mov eax, dword [ebp - 0x38]
push eax
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.005cf504
push eax
mov eax, dword [ebp - 0x38]
push eax
call sub.gdi32.dll_LineDDA
jmp 0x6205f0
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.0062e908
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc], 0xa8
jne 0x620662
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
call fcn.00624858
test al, al
je 0x620662
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.00619d5c
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.00619ed8
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.00619ed8
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax]
mov eax, dword [ebp - 4]
call fcn.00619d5c
mov edx, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x1c]
pop ecx
call fcn.0061fa7c
call sub.kernel32.dll_GetTickCount
mov eax, dword [ebp - 4]
cmp dword [eax + 0x2f8], 0
jge 0x620a9b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, 0xd2
call fcn.0044b198
jmp 0x620a9b
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.0042ffe8
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 4], 0
jle 0x620a9b
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
call fcn.00624858
test al, al
je 0x620920
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00619d5c
mov ebx, eax
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00619ed8
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.00619d5c
mov edx, eax
mov eax, ebx
call fcn.005cf504
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
call fcn.00619ed8
mov edx, eax
mov eax, dword [ebp - 0x34]
call fcn.005cf504
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.00619d5c
mov edx, eax
dec edx
mov eax, ebx
call fcn.005cf504
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.00619ed8
mov edx, eax
dec edx
mov eax, dword [ebp - 0x34]
call fcn.005cf504
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x414], 0
jle 0x620784
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.005cf50c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x418], 0
jle 0x6207ae
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.005cf50c
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 0x6207f9
mov eax, dword [ebp - 4]
fld qword [eax + 0x3f0]
fcomp dword [0x620fe0]
fnstsw ax
sahf
je 0x6207f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x42c]
cmp eax, dword [ebp - 0x38]
jle 0x6207f9
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 0x620844
mov eax, dword [ebp - 4]
fld qword [eax + 0x3f0]
fcomp dword [0x620fe0]
fnstsw ax
sahf
je 0x620844
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x430]
cmp eax, dword [ebp - 0x3c]
jle 0x620844
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.005cf50c
mov esi, eax
mov edx, dword [ebp - 0x3c]
mov eax, edi
call fcn.005cf50c
mov edi, eax
cmp dword [ebp - 0x2c], 0
jne 0x62086a
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
push edi
mov eax, dword [ebp - 0x38]
push eax
push edi
push esi
call sub.gdi32.dll_LineDDA
cmp dword [ebp - 0x2c], 0
jne 0x62088d
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
mov eax, dword [ebp - 0x3c]
push eax
push esi
push edi
push esi
call sub.gdi32.dll_LineDDA
cmp dword [ebp - 0x2c], 0
jne 0x6208b0
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
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 0x6208d9
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
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 0x620a9b
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.0061fa7c
jmp 0x620a9b
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 0x620a1d
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp dword [eax + ebx*8], 0xfffff
jne 0x6209b7
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8 - 8]
mov eax, dword [ebp - 4]
call fcn.00619d5c
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.00619ed8
mov edi, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.00619d5c
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.00619ed8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
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 0x620a1c
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov edx, dword [eax + ebx*8 - 8]
mov eax, dword [ebp - 4]
call fcn.00619d5c
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.00619ed8
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.00619d5c
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.00619ed8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
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 0x62093a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x46e], 0
jne 0x620a9b
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.00619d5c
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.00619ed8
mov edi, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.00619d5c
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.00619ed8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
push eax
push 0x61fa18
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 0x61fc64
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d4], 0
jne 0x620ad7
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d8], 0
jne 0x620ad7
cmp byte [ebp - 0x55], 0
jne 0x620ad7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
xor edx, edx
call fcn.0044b188
jmp 0x620af6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp byte [eax + 0x40], 0
jne 0x620af6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dl, 1
call fcn.0044b188
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d4]
test eax, eax
jle 0x620fc1
cmp eax, 2
jle 0x620b24
mov eax, dword [ebp - 4]
mov byte [eax + 0x614], 1
mov eax, dword [ebp - 4]
dec dword [eax + 0x3d4]
jmp 0x620f66
cmp eax, 2
jne 0x620f0b
mov eax, dword [ebp - 4]
mov byte [eax + 0x614], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x615], 0
je 0x620f66
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e4], 0
je 0x620c4c
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 0x620c4c
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xd0]
call fcn.006332f8
test al, al
jne 0x620c4c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x330], 0
jl 0x620c4c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x334], 0
jl 0x620c4c
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 0x620c4c
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 0x620c4c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x340], 0
jle 0x620c4c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x344], 0
jle 0x620c4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x338]
jge 0x620c4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x344]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x33c]
jge 0x620c4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
mov edx, dword [ebp - 4]
imul dword [edx + 0x33c]
cmp eax, 0x3d090
jg 0x620c50
xor eax, eax
jmp 0x620c52
mov al, 1
mov byte [ebp - 0x61], al
cmp byte [ebp - 0x61], 0
je 0x620f00
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 0x620d68
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 0x620d2e
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 0x620d68
xor eax, eax
push ebp
push 0x620d53
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x5a0
call fcn.004120b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x620d5d
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5a0], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a0], 0
jne 0x620d9e
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 [0x62a81c]
call fcn.00633058
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.00636e04
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a4], 0
je 0x620e5a
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 0x620e20
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 0x620e5a
xor eax, eax
push ebp
push 0x620e45
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x5a4
call fcn.004120b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x620e4f
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5a4], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a4], 0
jne 0x620e90
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 [0x62a81c]
call fcn.00633058
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 [0x616450]
call fcn.0042c130
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 4]
add eax, 0x5e8
mov edx, dword [ebp - 0x60]
mov dword [edx + 0x38], eax
mov dl, 3
mov eax, dword [ebp - 0x60]
call fcn.0042c334
mov eax, dword [ebp - 0x60]
mov byte [eax + 0xf], 1
mov eax, dword [ebp - 0x60]
call fcn.0042c4bc
mov eax, dword [ebp - 4]
dec dword [eax + 0x3d4]
jmp 0x620f66
mov eax, dword [ebp - 4]
cmp byte [eax + 0x615], 0
je 0x620f66
mov eax, dword [ebp - 4]
cmp dword [eax + 0x5a0], 0
je 0x620f5d
xor eax, eax
push ebp
push 0x620f48
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x5a0
call fcn.004120b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x620f52
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 0x620fc1
xor eax, eax
push ebp
push 0x620f95
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 0x620f9f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
cmp dword [eax + 0x30], 0x32
jae 0x620fc1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, 0xd2
call fcn.0044b198
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3d8], 0
jle 0x620fd6
mov eax, dword [ebp - 4]
dec dword [eax + 0x3d8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret