Function at 0x59c220
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x59d27e
sub esp, 0x110
mov eax, 0
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
mov byte [esp + 0x33], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov eax, dword [0x7cc830]
test eax, eax
je 0x59c2bb
lea eax, [0x69275c]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x108], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x104], eax
mov byte [esp + 0x33], 1
mov eax, dword [esp + 0x118]
setne cl
mov byte [esp + 0x32], cl
mov edx, dword [eax + 8]
test edx, edx
jne 0x59c460
nop
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test edx, edx
jne 0x59c44e
mov eax, dword [esp + 0x118]
mov edx, dword [eax + 4]
mov eax, dword [eax]
test edx, edx
jne 0x59c3f6
lea eax, [0x679ad5]
mov edx, 3
mov dword [esp + 0x38], edx
mov dword [esp + 0x5c], eax
lea ecx, [0x64d2c0]
mov dword [esp], ecx
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [esp + 0xa0], eax
mov dword [eax + 4], 0x15
lea ecx, [0x67f737]
mov dword [eax], ecx
lea ecx, [0x65a740]
mov dword [esp], ecx
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x59c3e8
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
lea ecx, [0x6cadb0]
mov dword [edi + 0x10], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59c3cf
mov eax, dword [esp + 0xa0]
mov dword [edi + 0x14], eax
mov dword [esp + 0x11c], 0
lea eax, [0x6cb0b0]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edi
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x59c3ac
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005c9ca0
jmp 0x59c3a5
lea ecx, [edi + 0x14]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0045c920
mov edi, edx
jmp 0x59c37c
mov eax, dword [esp + 0x5c]
call fcn.0045c920
jmp 0x59c35f
mov dword [esp + 0x70], eax
lea ecx, [edx - 1]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004bae50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004475a0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x59c302
mov ecx, dword [edx + 0x10]
mov dword [esp], eax
call ecx
movzx ecx, byte [esp + 0x32]
jmp 0x59c2e3
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.0059ac70
lea esi, [esp + 4]
lea edi, [esp + 0xdc]
call fcn.0045d09e
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
call fcn.0059d290
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov byte [esp + 0x2f], 0
lea edi, [esp + 0xf0]
xor eax, eax
call fcn.0045cbbb
lea eax, [0x5c9cf0]
mov dword [esp + 0xf0], eax
lea eax, [esp + 0x2f]
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x118]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0x68]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x100], eax
lea edi, [esp + 8]
mov dword [esp + 0x9c], edi
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x59c53d
mov edi, dword [esp + 0x9c]
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
test ebx, ebx
jg 0x59c8d5
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
lea ebp, [ecx + 1]
cmp ebx, ebp
jb 0x59c891
lea ebx, [ecx + 1]
mov dword [esp + 0xb0], ebx
mov ebx, dword [0x7e34e0]
mov eax, dword [esp + 0x118]
lea ebp, [edx + ecx*4]
test ebx, ebx
jne 0x59c881
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
lea esi, [esp + 0xdc]
call fcn.0045d09e
call fcn.0059ab00
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
test eax, eax
jne 0x59c6b9
mov edx, dword [esp + 0x118]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xac]
test ebp, ebp
jbe 0x59d23c
mov eax, dword [esi]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0059c0d0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
movzx ebx, byte [esp + 0x19]
test al, al
je 0x59c664
mov ebp, dword [esp + 0x118]
mov eax, ecx
mov ecx, dword [ebp + 0x20]
mov ebp, dword [ebp + 0x24]
test ecx, ecx
je 0x59c532
mov byte [esp + 0x30], bl
mov dword [esp + 0x40], edx
mov dword [esp + 0x98], eax
mov eax, dword [ecx + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x40]
movzx ebx, byte [esp + 0x30]
jmp 0x59c532
mov eax, dword [esp + 0x68]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x59c696
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005c9ca0
jmp 0x59c68f
mov byte [esp + 0x2f], 1
lea edi, [esp + 0xc8]
lea esi, [esp + 0xdc]
call fcn.0045d09e
mov ecx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
test ebp, 0x80000000
je 0x59c86c
shl ebp, 1
mov esi, ecx
shr ecx, 0x1f
or ecx, ebp
mov ebp, esi
shl esi, 1
mov edi, ecx
shl ecx, 1
shr esi, 0x1f
or esi, ecx
mov ecx, esi
add esi, 0xd7b17f80
shr edi, 0x1f
add ecx, 0xd7b17f80
adc edi, 0xd
mov dword [esp + 0x80], ebx
mov dword [esp + 0x50], eax
test esi, esi
sete cl
test edi, edi
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x59c7aa
test ebp, 0x3fffffff
jne 0x59c7aa
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x59c787
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005c9ca0
jmp 0x59c780
mov eax, dword [edx]
call eax
movzx eax, byte [esp]
test al, al
jne 0x59c7c6
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x80]
jmp 0x59c73e
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
lea edx, [0x653940]
mov dword [esp], edx
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov dword [esp], 0
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
lea ecx, [0x689515]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x31
call fcn.004475a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x94]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59c865
mov dword [edi], eax
mov byte [edi + 8], 1
lea eax, [0x6caff0]
mov ebx, edi
jmp 0x59c73e
call fcn.0045c920
jmp 0x59c854
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xd4]
mov ebp, ecx
jmp 0x59c715
mov ecx, edi
mov edi, ebp
call fcn.0045c920
mov edi, ecx
jmp 0x59c591
lea eax, [0x6739c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xac], edx
mov edi, dword [esp + 0x9c]
jmp 0x59c56c
mov dword [esp + 0x6c], eax
mov dword [esp + 0x54], ecx
mov byte [esp + 0x31], dl
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
lea eax, [0x67a7c1]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.0057cf60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x59d13b
mov dword [esp + 0x44], eax
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x118]
mov edx, dword [edx + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00531690
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x59cff4
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x118]
mov ebx, dword [edx + 0x48]
mov ebp, dword [edx + 0x44]
test ebx, ebx
je 0x59cfed
mov edx, dword [edx + 8]
mov esi, dword [edx + 0x14]
cmp dword [edx + 0x18], ebx
je 0x59cfcc
mov eax, 1
test al, al
jne 0x59cf89
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xac]
test ebx, ebx
jbe 0x59d268
mov dword [esp + 0x7c], eax
mov dword [esp + 0x48], edx
mov eax, dword [ebp]
mov dword [esp + 0x78], eax
call fcn.0040d2e0
mov eax, dword [esp]
mov dword [esp + 0x90], eax
lea ecx, [0x670320]
mov dword [esp], ecx
call fcn.0040c800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x54]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x59cf7b
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov ecx, dword [0x7e34e0]
mov eax, dword [esp + 0x68]
test ecx, ecx
jne 0x59cf4d
mov dword [edi + 0x74], eax
mov ecx, dword [esp + 0x64]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [edi + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x48], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59cf34
mov ecx, dword [esp + 0x7c]
mov dword [edi + 0x44], ecx
mov ecx, dword [0x7e34e0]
mov ebx, dword [esp + 0x78]
mov eax, dword [ebx + 0x70]
test ecx, ecx
jne 0x59cf21
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebx + 0x78]
mov dword [edi + 0x78], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59cf0e
mov dword [edi + 0x7c], eax
mov dword [esp + 0x118], edi
movzx eax, byte [esp + 0x31]
test al, al
je 0x59ca71
mov edx, dword [ebx + 0x28]
test edx, edx
jne 0x59ce14
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
lea ebx, [ecx - 1]
cmp ebx, ecx
jae 0x59d261
mov eax, dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x118]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0059a9f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x59cd2f
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x114]
mov edi, dword [esi + 8]
test edi, edi
je 0x59cd24
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov eax, dword [edi]
mov edx, edi
call eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
cmp dword [0x7cceb8], eax
je 0x59cca3
mov edx, dword [esp + 0x68]
mov ebx, dword [edx + 0x2c]
cmp ebx, 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [edx + 0x28]
cmp esi, 0xffffffff
xchg edi, ebx
sete bl
xchg edi, ebx
and ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x59cc77
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
lea edx, [0x64a840]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040a160
mov eax, dword [0x61c358]
mov ecx, dword [0x61c35c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0x800
mov dword [esp + 0x14], 0
call fcn.00494fa0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x59cbcf
mov edi, dword [esp + 0x9c]
jmp 0x59c54c
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea ebx, [0x6cb0b0]
cmp ebx, ecx
jne 0x59d245
mov edx, dword [esp + 0x44]
mov dword [eax + 0xc], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x59cc65
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x59cc42
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005c9ca0
jmp 0x59cc3b
lea edi, [eax + 8]
mov edx, eax
mov eax, dword [esp + 0x74]
call fcn.0045c920
mov eax, edx
jmp 0x59cc18
cmp esi, 0x800
xchg ebp, ebx
setbe bl
xchg ebp, ebx
test ebx, ebx
sete bl
xchg esi, ebx
setl bl
xchg esi, ebx
and ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x59cb55
jmp 0x59cba9
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x7ccebc]
mov dword [esp + 8], edx
call fcn.00404120
movzx eax, byte [esp + 0xc]
test al, al
jne 0x59cccf
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
jmp 0x59cb2b
mov eax, dword [esp + 0x68]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x59cd01
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005c9ca0
jmp 0x59ccfa
lea edi, [0x6927d0]
jmp 0x59cafa
mov dword [esp + 0x60], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x90], eax
nop
lea ecx, [0x67a46e]
mov dword [esp], ecx
mov dword [esp + 4], 7
call fcn.0057e310
mov eax, dword [esp + 8]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x63e880]
mov dword [esp], edx
call fcn.0040c800
mov edi, dword [esp + 4]
mov dword [esp + 0x8c], edi
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x59ce09
mov eax, dword [esp + 0x60]
mov dword [edi], eax
lea eax, [0x666580]
mov dword [esp], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
call fcn.004112c0
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x59cdf8
mov eax, dword [esp + 0x8c]
mov dword [edi], eax
jmp 0x59cacc
mov eax, dword [esp + 0x8c]
call fcn.0045c920
jmp 0x59cacc
mov eax, dword [esp + 0x60]
call fcn.0045c920
jmp 0x59cda2
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp]
mov esi, dword [esp + 0xc]
mov dword [eax + 0x20], ebp
mov ebp, dword [0x7e34e0]
test ebp, ebp
jne 0x59ceff
mov dword [eax + 0x24], ebx
test ecx, ecx
jne 0x59ce62
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x78]
mov ebx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x30], ecx
jmp 0x59ca71
mov eax, dword [esp + 0x68]
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test ebx, ebx
jne 0x59cedc
mov dword [esp], ecx
mov dword [esp + 4], esi
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x59ceb9
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005c9ca0
jmp 0x59ceb2
mov dword [esp + 0x84], esi
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp], eax
call ecx
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x84]
jmp 0x59ce70
lea edi, [eax + 0x24]
mov eax, ebx
call fcn.0045c920
jmp 0x59ce42
lea ecx, [edi + 0x7c]
mov edx, edi
mov edi, ecx
call fcn.0045c920
mov edi, edx
jmp 0x59ca56
lea ecx, [edi + 0x70]
mov edx, edi
mov edi, ecx
call fcn.0045c920
mov edi, edx
jmp 0x59ca3c
lea ecx, [edi + 0x44]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x7c]
call fcn.0045c920
mov edi, edx
jmp 0x59ca24
lea ecx, [edi + 0x74]
mov edx, edi
mov edi, ecx
call fcn.0045c920
lea edi, [edx + 8]
mov eax, dword [esp + 0x64]
call fcn.0045c920
lea edi, [edx + 0x1c]
mov eax, dword [esp + 0x90]
call fcn.0045c920
mov edi, edx
jmp 0x59ca08
mov eax, dword [esp + 0x6c]
call fcn.0045c920
jmp 0x59c9e2
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call fcn.0052ef70
mov eax, dword [esp + 8]
test eax, eax
je 0x59cfac
mov edx, dword [eax + 4]
test edx, edx
je 0x59cfbd
xor eax, eax
xor ecx, ecx
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x64]
jmp 0x59c981
mov edx, dword [esp + 0x118]
mov ecx, dword [edx + 0x44]
mov eax, dword [edx + 0x48]
jmp 0x59cfb0
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.004031b0
movzx eax, byte [esp + 0xc]
xor eax, 1
mov ecx, dword [esp + 0x64]
jmp 0x59c975
xor eax, eax
jmp 0x59c975
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x68]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
test ebx, ebx
jne 0x59d12e
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.00409f80
mov eax, dword [esp + 8]
lea ecx, [0x643700]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x59d074
mov eax, dword [eax + 4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc4], eax
lea eax, [0x6866cd]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004abbc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x59d10b
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005c9ca0
jmp 0x59d104
mov eax, dword [ebx + 0x10]
mov dword [esp], ecx
call eax
jmp 0x59d011
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test ecx, ecx
jne 0x59d22f
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00409e70
mov eax, dword [esp + 4]
lea ecx, [0x642dc0]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [0x685501]
mov dword [esp], eax
mov dword [esp + 4], 0x23
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004abbc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x59d20c
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005c9ca0
jmp 0x59d205
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
call ecx
jmp 0x59d14d
xor eax, eax
mov ecx, ebp
call fcn.0045c9a0
mov dword [esp], ecx
lea eax, [0x65f6c0]
mov dword [esp + 4], eax
lea eax, [0x64a600]
mov dword [esp + 8], eax
call fcn.00409cd0
mov eax, ebx
call fcn.0045c9a0
xor eax, eax
mov ecx, ebx
call fcn.0045c9a0
nop
call fcn.004312b0
add esp, 0x110
ret
call fcn.0045b380
jmp fcn.0059c220