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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x2c
push 0
push 0
dec ecx
jne 0x61bf75
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea esi, [ebp - 4]
xor eax, eax
push ebp
push 0x61d247
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi]
cmp dword [eax + 0x224], 0xffffd8f1
je 0x61d1f1
mov eax, dword [esi]
cmp dword [eax + 0x2b0], 0
je 0x61c063
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, dword [0x604624]
call fcn.0040407c
test al, al
je 0x61c063
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, dword [0x604624]
call fcn.004040a0
mov edi, eax
cmp dword [edi + 0x244], 0
je 0x61c063
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, dword [0x604624]
call fcn.004040a0
cmp dword [edi + 0x270], 1
sbb eax, eax
inc eax
test al, al
jne 0x61c063
mov eax, dword [esi]
mov eax, dword [eax + 0x2b0]
mov edx, dword [0x6042ec]
call fcn.004040a0
mov edi, eax
cmp dword [edi + 0xe0], 0
je 0x61c063
mov al, byte [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x2b0]
mov edx, dword [0x6042ec]
call fcn.004040a0
mov esi, edi
mov ecx, ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0xe4]
call dword [esi + 0xe0]
jmp 0x61d1f1
test bl, bl
jne 0x61c21b
cmp dword [0x67ccac], 1
sbb eax, eax
inc eax
test al, al
jne 0x61c21b
mov eax, dword [esi]
cmp dword [eax + 0x2c0], 0
je 0x61c21b
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 0
jne 0x61c21b
mov eax, dword [esi]
mov eax, dword [eax + 0x280]
call fcn.0040602c
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
cmp dword [eax + 0x288], 0
jle 0x61c127
fild dword [ebp + 0xc]
mov eax, dword [esi]
fdiv qword [eax + 0x238]
call fcn.00402dfc
push edx
push eax
mov eax, dword [esi]
mov edi, dword [eax + 0x288]
mov eax, dword [esi]
mov eax, dword [eax + 0x280]
mov eax, dword [eax + edi*8 - 8]
cdq
cmp edx, dword [esp + 4]
jne 0x61c0e6
cmp eax, dword [esp]
pop edx
pop eax
jne 0x61c127
fild dword [ebp + 8]
mov eax, dword [esi]
fdiv qword [eax + 0x238]
call fcn.00402dfc
push edx
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x280]
mov eax, dword [eax + edi*8 - 4]
cdq
cmp edx, dword [esp + 4]
jne 0x61c112
cmp eax, dword [esp]
pop edx
pop eax
jne 0x61c127
push 0
mov ecx, dword [ebp + 8]
inc ecx
mov edx, dword [ebp + 0xc]
inc edx
mov eax, dword [esi]
call fcn.0060ca20
xor edx, edx
mov eax, dword [esi]
call fcn.0060f244
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.0060ca20
lea edx, [ebp - 0x11c]
mov eax, dword [0x67da58]
mov eax, dword [eax]
mov eax, dword [eax + 0x6c]
mov eax, dword [eax]
call fcn.00403e40
lea eax, [ebp - 0x11c]
mov edx, 0x61d258
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040339c
jne 0x61c18e
push 0
push 0xf4
push pe_nt_image_headers32
mov eax, dword [0x67da58]
mov eax, dword [eax]
mov eax, dword [eax + 0x6c]
call fcn.00485df4
push eax
call sub.user32.dll_PostMessageA
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov eax, edi
mov edx, dword [0x604624]
call fcn.0040407c
test al, al
je 0x61c20a
mov eax, edi
mov edx, dword [0x604624]
call fcn.004040a0
mov edi, eax
xor eax, eax
mov dword [edi + 0x238], eax
mov eax, dword [edi + 0x458]
call fcn.0040602c
dec eax
test eax, eax
jl 0x61c1f2
inc eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov edx, dword [edi + 0x458]
mov edx, dword [edx + eax*4]
mov ecx, dword [esi]
cmp edx, dword [ecx + 0x2b0]
jne 0x61c1ec
mov dword [edi + 0x238], eax
jmp 0x61c1f2
inc eax
dec dword [ebp - 0x1c]
jne 0x61c1d1
cmp dword [edi + 0x488], 0
je 0x61c20a
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x48c]
call dword [edi + 0x488]
mov edx, dword [ebp - 0x18]
mov eax, dword [esi]
call fcn.0060dcd8
xor eax, eax
mov dword [0x67cc68], eax
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 0xffffffff
jne 0x61c502
mov eax, dword [esi]
push dword [eax + 0x21c]
mov eax, dword [ebp + 0xc]
pop edx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x61c502
mov eax, dword [esi]
push dword [eax + 0x220]
mov eax, dword [ebp + 8]
pop edx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x61c502
mov eax, dword [esi]
cmp dword [eax + 0x1f8], 0
jne 0x61c459
mov eax, dword [esi]
cmp dword [eax + 0x1c4], 0xffffffff
jle 0x61c2d5
mov eax, dword [esi]
mov dword [eax + 0x178], 1
mov eax, dword [esi]
mov dword [eax + 0x17c], 1
mov eax, dword [esi]
mov edx, dword [eax + 0x1c4]
mov eax, dword [esi]
call fcn.0061b77c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [esi]
call fcn.0060cbc8
mov eax, dword [esi]
mov eax, dword [eax + 0x200]
mov edx, dword [esi]
mov dword [edx + 0x178], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x200]
mov edx, dword [esi]
mov dword [edx + 0x17c], eax
jmp 0x61d1f1
mov eax, dword [esi]
mov eax, dword [eax + 0x20c]
call fcn.0040602c
test eax, eax
je 0x61c502
mov eax, dword [esi]
mov eax, dword [eax + 0x188]
cmp eax, dword [ebp + 0xc]
jg 0x61c502
mov eax, dword [esi]
mov eax, dword [eax + 0x190]
cmp eax, dword [ebp + 0xc]
jl 0x61c502
mov eax, dword [esi]
mov eax, dword [eax + 0x18c]
cmp eax, dword [ebp + 8]
jg 0x61c502
mov eax, dword [esi]
mov eax, dword [eax + 0x194]
cmp eax, dword [ebp + 8]
jl 0x61c502
mov eax, dword [esi]
mov eax, dword [eax + 0x20c]
call fcn.0040602c
cmp eax, 3
jl 0x61c351
mov edx, 2
mov eax, dword [esi]
call fcn.0061b77c
jmp 0x61d1f1
mov eax, dword [esi]
cmp dword [eax + 0x1f8], 0
jne 0x61d1f1
mov eax, dword [esi]
mov eax, dword [eax + 0x188]
add eax, 4
mov edx, dword [esi]
mov dword [edx + 0x21c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x18c]
add eax, 2
mov edx, dword [esi]
mov dword [edx + 0x220], eax
lea eax, [ebp - 0x14]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.005c56fc
cmp dword [ebp - 0x14], 0
je 0x61c3da
push 0
push 0
mov eax, dword [esi]
mov ecx, dword [eax + 0x220]
mov eax, dword [esi]
mov edx, dword [eax + 0x21c]
mov eax, dword [esi]
call fcn.0061689c
mov eax, dword [esi]
add eax, 0x204
mov edx, dword [ebp - 0x14]
call fcn.00404cd4
xor ecx, ecx
xor edx, edx
mov eax, dword [esi]
call fcn.006184b8
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.00616e34
mov eax, dword [0x67d990]
cmp dword [eax], 0
jne 0x61d1f1
push 0
push 0
mov eax, dword [esi]
mov ecx, dword [eax + 0x220]
mov eax, dword [esi]
mov edx, dword [eax + 0x21c]
mov eax, dword [esi]
call fcn.0061689c
mov eax, dword [esi]
mov dword [eax + 0x200], 1
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp + 8]
lea edx, [ebp + 0xc]
mov eax, dword [esi]
call fcn.0061746c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [esi]
call fcn.00616850
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
lea ecx, [ebp + 8]
lea edx, [ebp + 0xc]
mov eax, dword [esi]
call fcn.0061746c
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.00616e34
jmp 0x61d1f1
mov eax, dword [esi]
mov eax, dword [eax + 0x2a0]
sub eax, 0xf
cmp eax, dword [ebp + 0xc]
jg 0x61c499
mov eax, dword [esi]
mov eax, dword [eax + 0x2a8]
add eax, 0xf
cmp eax, dword [ebp + 0xc]
jl 0x61c499
mov eax, dword [esi]
mov eax, dword [eax + 0x2a4]
sub eax, 0xf
cmp eax, dword [ebp + 8]
jg 0x61c499
mov eax, dword [esi]
mov eax, dword [eax + 0x2ac]
add eax, 0xf
cmp eax, dword [ebp + 8]
jge 0x61c502
mov eax, dword [esi]
mov eax, dword [eax + 0x188]
cmp eax, dword [ebp + 0xc]
jg 0x61c4cd
mov eax, dword [esi]
mov eax, dword [eax + 0x190]
cmp eax, dword [ebp + 0xc]
jl 0x61c4cd
mov eax, dword [esi]
mov eax, dword [eax + 0x18c]
cmp eax, dword [ebp + 8]
jg 0x61c4cd
mov eax, dword [esi]
mov eax, dword [eax + 0x194]
cmp eax, dword [ebp + 8]
jge 0x61c502
mov eax, dword [esi]
mov eax, dword [eax + 0x204]
call fcn.00404f40
test eax, eax
jne 0x61c4f3
mov eax, dword [esi]
mov eax, dword [eax + 0x2b4]
call fcn.0040602c
test eax, eax
jg 0x61d1f1
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.00616e34
jmp 0x61d1f1
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 1
jne 0x61c584
mov eax, dword [esi]
mov eax, dword [eax + 0x21c]
sub eax, dword [ebp + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x61c578
mov eax, dword [esi]
mov eax, dword [eax + 0x220]
sub eax, dword [ebp + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x61c578
test bl, bl
jne 0x61c558
push 0x5a
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, 0x5a
mov edx, 2
mov eax, dword [esi]
call fcn.0061a3d0
jmp 0x61c578
cmp bl, 1
jne 0x61c578
push 0x6e
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, 0x6e
mov edx, 2
mov eax, dword [esi]
call fcn.0061a3d0
mov eax, dword [esi]
mov dword [eax + 0x22c], 0xffffffff
test bl, bl
jne 0x61c5d5
mov eax, dword [esi]
cmp dword [eax + 0x214], 1
jne 0x61c5d5
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x214], edx
mov edx, 3
mov eax, dword [esi]
call fcn.006123fc
mov eax, dword [esi]
mov dword [eax + 0x22c], 0xffffffff
push 0
push 0
mov eax, dword [esi]
mov ecx, dword [eax + 0x220]
mov eax, dword [esi]
mov edx, dword [eax + 0x21c]
mov eax, dword [esi]
call fcn.0061689c
jmp 0x61c699
test bl, bl
jne 0x61c699
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 3
jne 0x61c699
mov eax, dword [esi]
cmp dword [eax + 0x1f8], 0
jne 0x61c625
mov eax, dword [esi]
mov eax, dword [eax + 0x1c4]
cmp eax, 0xffffffff
jle 0x61c612
mov edx, eax
mov eax, dword [esi]
call fcn.0061b77c
jmp 0x61c699
push 0
push 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [esi]
call fcn.0061689c
jmp 0x61c699
mov eax, dword [esi]
mov eax, dword [eax + 0x290]
sub eax, 0x14
cmp eax, dword [ebp + 0xc]
jg 0x61c665
mov eax, dword [esi]
mov eax, dword [eax + 0x294]
sub eax, 0x14
cmp eax, dword [ebp + 8]
jg 0x61c665
mov eax, dword [esi]
mov eax, dword [eax + 0x298]
add eax, 0x14
cmp eax, dword [ebp + 0xc]
jl 0x61c665
mov eax, dword [esi]
mov eax, dword [eax + 0x29c]
add eax, 0x14
cmp eax, dword [ebp + 8]
jge 0x61c68c
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.00616e34
cmp dword [0x67cc78], 1
jne 0x61c699
mov eax, dword [esi]
mov eax, dword [eax + 0x1d8]
mov edx, 0xffff
call fcn.0042a320
jmp 0x61c699
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [esi]
call fcn.0060cbc8
test bl, bl
jne 0x61c6ee
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 4
jne 0x61c6ee
mov eax, dword [esi]
cmp dword [eax + 0x1f8], 0
je 0x61c6bd
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.00616e34
mov eax, dword [ebp + 8]
push eax
mov edx, dword [0x67d8e4]
mov edx, dword [edx]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi]
call fcn.0060d3f8
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.006123fc
mov eax, dword [esi]
mov dword [eax + 0x22c], 0xffffffff
jmp 0x61cae3
test bl, bl
jne 0x61c8ce
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 9
jne 0x61c8ce
mov eax, dword [esi]
call fcn.0061bbd8
xor edx, edx
call fcn.0047f228
mov eax, dword [esi]
call fcn.0061bbd8
mov eax, dword [eax + 0x48]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x1e
jle 0x61cae3
mov eax, dword [esi]
call fcn.0061bbd8
mov eax, dword [eax + 0x4c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x14
jle 0x61cae3
mov eax, dword [esi]
call fcn.0061bbd8
mov edi, dword [eax + 0x40]
mov eax, dword [esi]
call fcn.0061bbd8
add edi, dword [eax + 0x48]
push edi
mov eax, dword [esi]
call fcn.0061bbd8
mov eax, dword [eax + 0x40]
pop edx
call fcn.004328f0
mov edx, dword [esi]
sub eax, dword [edx + 0x40]
lea edx, [ebp - 0x14]
call fcn.00409afc
push dword [ebp - 0x14]
push 0x61d270
mov eax, dword [esi]
call fcn.0061bbd8
mov edi, dword [eax + 0x44]
mov eax, dword [esi]
call fcn.0061bbd8
add edi, dword [eax + 0x4c]
push edi
mov eax, dword [esi]
call fcn.0061bbd8
mov eax, dword [eax + 0x44]
pop edx
call fcn.004328f0
mov edx, dword [esi]
sub eax, dword [edx + 0x44]
lea edx, [ebp - 0x120]
call fcn.00409afc
push dword [ebp - 0x120]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00405000
push dword [ebp - 0x14]
push 0x61d270
mov eax, dword [esi]
call fcn.0061bbd8
mov eax, dword [eax + 0x48]
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x124]
call fcn.00409afc
push dword [ebp - 0x124]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00405000
push dword [ebp - 0x14]
push 0x61d270
mov eax, dword [esi]
call fcn.0061bbd8
mov eax, dword [eax + 0x4c]
cdq
xor eax, edx
sub eax, edx
lea edx, [ebp - 0x128]
call fcn.00409afc
push dword [ebp - 0x128]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00405000
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x230]
mov ecx, 0x7fffffff
mov edx, 4
call fcn.004051a0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x12c]
mov ecx, 0x61d27c
mov edx, dword [ebp - 0x10]
call fcn.00404f8c
mov edx, dword [ebp - 0x12c]
mov eax, 0x61d27c
call fcn.00405284
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.004051a0
push dword [ebp - 0x14]
push 0x61d288
push dword [ebp - 0x10]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00405000
mov eax, dword [0x67d608]
mov ecx, dword [ebp - 0x14]
mov edx, 0x61d294
call fcn.00404f8c
push 0
push 4
push pe_nt_image_headers32
mov eax, dword [0x67da58]
mov eax, dword [eax]
mov eax, dword [eax + 0x6c]
call fcn.00485df4
push eax
call sub.user32.dll_PostMessageA
jmp 0x61cae3
test bl, bl
jne 0x61ca1c
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 0xb
jne 0x61ca1c
mov eax, dword [esi]
mov eax, dword [eax + 0x21c]
sub eax, dword [ebp + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x61cae3
mov eax, dword [esi]
mov eax, dword [eax + 0x220]
sub eax, dword [ebp + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x61cae3
xor eax, eax
call fcn.00640da4
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
call fcn.00647f10
lea eax, [ebp - 0x13c]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x2b0]
mov edx, dword [0x6042ec]
call fcn.004040a0
mov ecx, eax
mov eax, dword [0x67d120]
mov eax, dword [eax]
pop edx
call fcn.00607fa4
xor eax, eax
call fcn.00640da4
mov eax, dword [0x67d720]
cmp dword [eax], 0
je 0x61c97e
mov eax, dword [0x67d720]
mov eax, dword [eax]
add eax, 0x4c4
call fcn.00404c80
mov eax, dword [esi]
mov dword [eax + 0x19c], 0xffffffff
mov eax, dword [0x67d608]
mov edx, 0x61d2a8
call fcn.00404cd4
mov eax, dword [ebp + 8]
add eax, 0x50
push eax
lea eax, [ebp - 0x13c]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 0xc8
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
call fcn.0041cd1c
push esi
lea esi, [ebp - 0x13c]
mov edi, 0x681a98
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
push 0
push 0
push 0x681a98
call sub.user32.dll_OffsetRect
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, dword [0x604624]
call fcn.004040a0
mov edx, dword [esi]
call fcn.00623d80
mov eax, dword [0x67d608]
call fcn.00404c80
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, dword [0x604624]
call fcn.004040a0
xor ecx, ecx
mov edx, 0xb
call fcn.00637d50
jmp 0x61cae3
test bl, bl
jne 0x61cae3
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 8
jne 0x61cae3
mov eax, dword [esi]
cmp dword [eax + 0x1f8], 0
je 0x61ca48
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.00616e34
mov eax, dword [0x67cc30]
mov edx, 0x61d2b8
call fcn.0040508c
jne 0x61ca63
lea eax, [ebp - 0x14]
call fcn.00404c80
jmp 0x61ca70
lea edx, [ebp - 0x14]
mov eax, dword [0x67cc30]
call fcn.0058e3c4
mov eax, dword [ebp - 0x14]
mov edx, 0x61d2c4
call fcn.0040508c
jne 0x61ca87
lea eax, [ebp - 0x14]
call fcn.00404c80
mov eax, dword [ebp - 0x14]
mov edx, 0x61d2d0
call fcn.0040508c
je 0x61cacd
mov eax, dword [ebp + 8]
sub eax, 0x46
push eax
push 0x61d2dc
push dword [ebp - 0x14]
push 0x61d2f4
lea eax, [ebp - 0x140]
mov edx, 3
call fcn.00405000
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp + 0xc]
sub ecx, 0x46
mov eax, dword [esi]
call fcn.0060d3f8
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.006123fc
mov eax, dword [esi]
mov dword [eax + 0x22c], 0xffffffff
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 0xffffffff
jne 0x61ccf9
test bl, bl
jne 0x61ccf9
mov eax, dword [esi]
cmp dword [eax + 0x1f8], 0
je 0x61ccf9
mov eax, dword [esi]
push dword [eax + 0x21c]
mov eax, dword [ebp + 0xc]
pop edx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x61ccf9
mov eax, dword [esi]
push dword [eax + 0x220]
mov eax, dword [ebp + 8]
pop edx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x61ccf9
mov eax, dword [esi]
mov eax, dword [eax + 0x2a0]
sub eax, 0xf
cmp eax, dword [ebp + 0xc]
jg 0x61ccf9
mov eax, dword [esi]
mov eax, dword [eax + 0x2a8]
add eax, 0xf
cmp eax, dword [ebp + 0xc]
jl 0x61ccf9
mov eax, dword [esi]
mov eax, dword [eax + 0x2a4]
sub eax, 0xf
cmp eax, dword [ebp + 8]
jg 0x61ccf9
mov eax, dword [esi]
mov eax, dword [eax + 0x2ac]
add eax, 0xf
cmp eax, dword [ebp + 8]
jl 0x61ccf9
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [esi]
call fcn.0060cbc8
mov eax, dword [esi]
cmp dword [eax + 0x2b0], 0
jne 0x61cbdc
mov al, byte [0x61d2fc]
push eax
lea eax, [ebp - 0x144]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x204]
xor ecx, ecx
mov edx, 0x61d308
call fcn.0040f7a4
mov edx, dword [ebp - 0x144]
mov eax, dword [esi]
add eax, 0x204
call fcn.00404cd4
lea eax, [ebp - 0x148]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x204]
xor ecx, ecx
xor edx, edx
call fcn.005c56fc
mov edx, dword [ebp - 0x148]
mov eax, dword [esi]
add eax, 0x204
call fcn.00404cd4
mov eax, dword [esi]
cmp dword [eax + 0x2b0], 0
jne 0x61cc57
mov eax, dword [esi]
mov edx, dword [eax + 0x204]
mov eax, 0x61d314
call fcn.00405284
dec eax
jge 0x61cc57
lea eax, [ebp - 0x14c]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x204]
mov ecx, 0x64
mov edx, dword [0x67cc50]
call fcn.0056ef60
mov edx, dword [ebp - 0x14c]
mov eax, dword [esi]
add eax, 0x204
call fcn.00404cd4
mov eax, dword [0x67d990]
cmp dword [eax], 1
jne 0x61cc77
mov eax, dword [esi]
mov eax, dword [eax + 0x204]
call fcn.00404f40
inc eax
mov edx, dword [esi]
mov dword [edx + 0x200], eax
mov eax, dword [esi]
call fcn.00619860
mov eax, dword [esi]
mov edx, dword [eax + 0x204]
mov eax, 0x61d320
call fcn.00405284
dec eax
jge 0x61cca1
xor ecx, ecx
mov edx, 0x61d32c
mov eax, dword [esi]
call fcn.006184b8
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp + 8]
lea edx, [ebp + 0xc]
mov eax, dword [esi]
call fcn.0061746c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [esi]
call fcn.00616850
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
lea ecx, [ebp + 8]
lea edx, [ebp + 0xc]
mov eax, dword [esi]
call fcn.0061746c
xor edx, edx
mov eax, dword [esi]
call fcn.0061736c
mov eax, dword [0x67d990]
cmp dword [eax], 1
jne 0x61ccf9
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.00616e34
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 0xa
jne 0x61d00d
xor edx, edx
mov eax, dword [esi]
call fcn.0047f514
mov eax, dword [0x67d720]
mov eax, dword [eax]
cmp dword [eax + 0x4c4], 0
jne 0x61ce3c
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x230]
mov ecx, 0x7fffffff
mov edx, 4
call fcn.004051a0
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebp - 0xc]
mov eax, 0x61d27c
call fcn.00405284
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004051a0
mov eax, dword [0x67d720]
mov eax, dword [eax]
mov eax, dword [eax + 0x3e8]
mov eax, dword [eax + 0x168]
call fcn.0042da78
mov edx, dword [eax]
call dword [edx + 0x2c]
test eax, eax
jle 0x61cd99
mov ecx, dword [0x67d9ec]
mov ecx, dword [ecx]
lea eax, [ebp - 0x14]
mov edx, 0x61d338
call fcn.00404f8c
jmp 0x61cda9
lea eax, [ebp - 0x14]
mov edx, dword [0x67d9ec]
mov edx, dword [edx]
call fcn.00404d18
push 0x61d34c
push dword [ebp - 0x14]
push 0x61d2b8
push dword [ebp - 0xc]
push 0x61d358
lea edx, [ebp - 0x150]
mov eax, dword [ebp + 0xc]
call fcn.00409afc
push dword [ebp - 0x150]
push 0x61d364
lea edx, [ebp - 0x154]
mov eax, dword [ebp + 8]
call fcn.00409afc
push dword [ebp - 0x154]
push 0x61d2b8
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x158]
call fcn.00409be8
push dword [ebp - 0x158]
push 0x61d2f4
lea eax, [ebp - 0xc]
mov edx, 0xb
call fcn.00405000
mov eax, dword [0x67d720]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00641f0c
mov eax, dword [0x67d720]
mov eax, dword [eax]
xor edx, edx
mov dword [eax + 0x4c8], edx
jmp 0x61ce52
lea eax, [ebp - 0xc]
mov edx, dword [0x67d720]
mov edx, dword [edx]
mov edx, dword [edx + 0x4c4]
call fcn.00404d18
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.00404d18
mov eax, dword [0x67d720]
mov eax, dword [eax]
mov eax, dword [eax + 0x3e8]
mov eax, dword [eax + 0x168]
call fcn.0042da78
mov edx, dword [eax]
call dword [edx + 0x2c]
test eax, eax
jle 0x61cfe4
push 0x61d370
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x15c]
call fcn.00409be8
push dword [ebp - 0x15c]
push 0x61d384
mov eax, dword [0x67d9ec]
push dword [eax]
push 0x61d384
lea edx, [ebp - 0x160]
mov eax, dword [esi]
call fcn.0047f308
push dword [ebp - 0x160]
push 0x61d358
lea edx, [ebp - 0x164]
mov eax, dword [ebp + 0xc]
call fcn.00409afc
push dword [ebp - 0x164]
push 0x61d364
lea edx, [ebp - 0x168]
mov eax, dword [ebp + 8]
call fcn.00409afc
push dword [ebp - 0x168]
push 0x61d2f4
lea eax, [ebp - 0xc]
mov edx, 0xb
call fcn.00405000
mov ecx, dword [0x67d720]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x521024]
call fcn.00528234
mov edi, eax
xor edx, edx
mov eax, edi
call fcn.0047f228
xor edx, edx
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov dl, 1
mov eax, edi
call fcn.0043d784
mov eax, dword [0x67d720]
mov eax, dword [eax]
mov eax, dword [eax + 0x3e8]
mov eax, dword [eax + 0x168]
call fcn.0042da78
push eax
mov eax, dword [edi + 0x168]
call fcn.0042da78
pop edx
mov ecx, dword [eax]
call dword [ecx + 8]
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, edi
call fcn.005264bc
mov eax, dword [0x67d720]
mov eax, dword [eax]
mov eax, dword [eax + 0x3e8]
mov edx, dword [eax + 0x48]
mov eax, edi
call fcn.0047ea9c
mov eax, dword [0x67d720]
mov eax, dword [eax]
mov eax, dword [eax + 0x3e8]
mov edx, dword [eax + 0x4c]
mov eax, edi
call fcn.0047eac0
mov edx, dword [edi + 0x4c]
mov eax, dword [0x67d720]
mov eax, dword [eax]
mov eax, dword [eax + 0x4cc]
sub edx, dword [eax + 0x4c]
sar edx, 1
jns 0x61cfb8
adc edx, 0
mov ecx, dword [ebp + 8]
sub ecx, edx
push ecx
mov edx, dword [0x67d720]
mov ecx, dword [eax + 0x48]
sar ecx, 1
jns 0x61cfce
adc ecx, 0
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
mov eax, dword [esi]
call fcn.0060d3f8
mov dl, 1
mov eax, edi
mov ecx, dword [eax]
call dword [ecx - 4]
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [esi]
call fcn.0060d3f8
mov eax, dword [esi]
mov dword [eax + 0x22c], 0xffffffff
mov eax, dword [esi]
mov dword [eax + 0x2bc], 0xffffffff
test byte [ebp + 0x10], 4
je 0x61d06f
mov eax, dword [esi]
cmp dword [eax + 0x2b0], 0
je 0x61d06f
mov eax, dword [esi]
mov eax, dword [eax + 0x2b0]
mov edx, dword [0x6042ec]
call fcn.004040a0
mov edi, dword [eax + 0x1d4]
test edi, edi
je 0x61d06f
mov eax, dword [esi]
mov eax, dword [eax + 0x2b0]
mov edx, dword [0x6042ec]
call fcn.004040a0
mov al, byte [edi + 0x57]
xor al, 1
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x2b0]
mov edx, dword [0x6042ec]
call fcn.004040a0
mov eax, edi
pop edx
call fcn.0047f228
mov al, byte [0x61d388]
cmp al, byte [ebp + 0x10]
jne 0x61d0e6
cmp bl, 1
jne 0x61d0e6
mov eax, dword [esi]
mov eax, dword [eax + 0x21c]
sub eax, dword [ebp + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x61d0e6
mov eax, dword [esi]
mov eax, dword [eax + 0x220]
sub eax, dword [ebp + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x61d0e6
mov eax, dword [esi]
cmp dword [eax + 0x1f8], 0
jne 0x61d0e6
mov eax, dword [esi]
mov ebx, dword [eax + 4]
mov eax, ebx
mov edx, dword [0x604624]
call fcn.0040407c
test al, al
je 0x61d0e6
mov eax, ebx
mov edx, dword [0x604624]
call fcn.004040a0
cmp dword [eax + 0x490], 0
jne 0x61d0e6
push ebp
call fcn.0061bef0
pop ecx
xor eax, eax
mov dword [0x67ccac], eax
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 0xffffffff
jne 0x61d10d
mov eax, dword [esi]
cmp dword [eax + 0x1f8], 0
jne 0x61d10d
or edx, 0xffffffff
mov eax, dword [esi]
call fcn.006137d8
mov eax, dword [esi]
cmp dword [eax + 0x2bc], 5
jne 0x61d15a
mov eax, dword [esi]
mov ebx, dword [eax + 0x2c4]
test ebx, ebx
je 0x61d139
mov eax, ebx
mov edx, dword [0x43a9b4]
call fcn.004040a0
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [esi]
mov ebx, dword [eax + 0x2b0]
test ebx, ebx
je 0x61d15a
mov eax, ebx
mov edx, dword [0x43a9b4]
call fcn.004040a0
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [esi]
cmp dword [eax + 0x1d0], 0
je 0x61d190
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x1d0], edx
mov eax, dword [esi]
mov ebx, dword [eax + 0x2c4]
test ebx, ebx
je 0x61d190
mov eax, ebx
mov edx, dword [0x43a9b4]
call fcn.004040a0
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [esi]
cmp dword [eax + 0x2b0], 0
je 0x61d1f1
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, dword [0x604624]
call fcn.0040407c
test al, al
je 0x61d1f1
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, dword [0x604624]
call fcn.004040a0
mov ebx, eax
cmp dword [ebx + 0x244], 0
je 0x61d1f1
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, dword [0x604624]
call fcn.004040a0
cmp dword [ebx + 0x270], 1
sbb eax, eax
inc eax
test al, al
jne 0x61d1f1
mov edx, dword [esi]
mov eax, dword [esi]
call fcn.0060f244
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x61d24e
lea eax, [ebp - 0x168]
mov edx, 2
call fcn.00404ca4
lea eax, [ebp - 0x160]
call fcn.00404c80
lea eax, [ebp - 0x15c]
mov edx, 8
call fcn.00404ca4
lea eax, [ebp - 0x12c]
mov edx, 4
call fcn.00404ca4
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404ca4
ret