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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
add esp, 0xffffff58
mov eax, dword [ebp + 8]
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0040ffe0
mov dword [esp + 0x9c], eax
mov dword [esp + 0x7c], 0x3afcf911
mov eax, dword [esp + 0x7c]
mov ecx, 0x200
mov ecx, eax
add ecx, 0x317a9648
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ecx
jg 0x405a5b
jmp 0x405a43
mov eax, dword [esp + 0x78]
sub eax, 0xa5ac11ca
mov dword [esp + 0x70], eax
je 0x405d54
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0x7903d2c1
mov dword [esp + 0x6c], eax
jg 0x405c6e
jmp 0x405a73
mov eax, dword [esp + 0x78]
sub eax, 0xd9f22f13
mov dword [esp + 0x68], eax
jg 0x405aa3
jmp 0x405a8b
mov eax, dword [esp + 0x78]
sub eax, 0xce8569b9
mov dword [esp + 0x64], eax
je 0x405e30
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0xf0eb0adc
mov dword [esp + 0x60], eax
jg 0x405ad4
jmp 0x405abb
mov eax, dword [esp + 0x78]
add eax, 0x260dd0ec
mov dword [esp + 0x5c], eax
je 0x405f33
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0xf4566c86
mov dword [esp + 0x58], eax
jg 0x405b04
jmp 0x405aec
mov eax, dword [esp + 0x78]
sub eax, 0xf0eb0add
mov dword [esp + 0x54], eax
je 0x405cbf
jmp 0x405c86
mov eax, dword [esp + 0x78]
add eax, 0xf4096d12
mov dword [esp + 0x50], eax
jg 0x405b35
jmp 0x405b1d
mov eax, dword [esp + 0x78]
sub eax, 0xf4566c87
mov dword [esp + 0x4c], eax
je 0x405e3d
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0x3834e21e
mov dword [esp + 0x48], eax
jg 0x405b65
jmp 0x405b4d
mov eax, dword [esp + 0x78]
sub eax, 0xbf692ef
mov dword [esp + 0x44], eax
je 0x405d86
jmp 0x405c86
mov eax, dword [esp + 0x78]
add eax, 0xc66bb596
mov dword [esp + 0x40], eax
jg 0x405b96
jmp 0x405b7e
mov eax, dword [esp + 0x78]
sub eax, 0x3834e21f
mov dword [esp + 0x3c], eax
je 0x405ccd
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0x3afcf910
mov dword [esp + 0x38], eax
jg 0x405bc6
jmp 0x405bae
mov eax, dword [esp + 0x78]
sub eax, 0x39944a6b
mov dword [esp + 0x34], eax
je 0x405e8b
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0x3bbde0e9
mov dword [esp + 0x30], eax
jg 0x405bf6
jmp 0x405bde
mov eax, dword [esp + 0x78]
sub eax, 0x3afcf911
mov dword [esp + 0x2c], eax
je 0x405c8b
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0x427bea43
mov dword [esp + 0x28], eax
jg 0x405c26
jmp 0x405c0e
mov eax, dword [esp + 0x78]
sub eax, 0x3bbde0ea
mov dword [esp + 0x24], eax
je 0x405f89
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0x427bea44
mov dword [esp + 0x20], eax
je 0x405e67
jmp 0x405c3e
mov eax, dword [esp + 0x78]
sub eax, 0x65ae1320
mov dword [esp + 0x1c], eax
je 0x405f29
jmp 0x405c56
mov eax, dword [esp + 0x78]
sub eax, 0x66118e66
mov dword [esp + 0x18], eax
je 0x405d34
jmp 0x405c86
mov eax, dword [esp + 0x78]
sub eax, 0x7903d2c2
mov dword [esp + 0x14], eax
je 0x405d78
jmp 0x405c86
jmp 0x40602c
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov edx, ecx
mov edx, esp
mov dword [edx], eax
call fcn.004a1750
sub esp, 4
mov ecx, 0xf4566c87
mov edx, 0xf0eb0add
test al, 1
cmovne ecx, edx
mov dword [esp + 0x7c], ecx
jmp 0x40602c
mov eax, 0x3834e21f
mov dword [esp + 0x7c], eax
jmp 0x40602c
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0040ffe0
mov ecx, 0x66118e66
mov edx, 0x18
mov esi, 0
mov edi, dword [esp + 0x98]
mov edi, dword [edi]
sub esi, edi
add eax, esi
mov dword [esp + 0x10], edx
cdq
mov esi, dword [esp + 0x10]
idiv esi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x98]
cmp eax, dword [edx + 8]
sete bl
and bl, 1
mov byte [esp + 0xa3], bl
mov dword [esp + 0x7c], ecx
jmp 0x40602c
mov eax, 0x7903d2c2
mov ecx, 0xa5ac11ca
mov dl, byte [esp + 0xa3]
test dl, 1
cmovne eax, ecx
mov dword [esp + 0x7c], eax
jmp 0x40602c
mov ecx, dword [esp + 0x98]
mov eax, esp
mov dword [eax], 1
call fcn.00459370
sub esp, 4
mov dword [esp + 0x7c], 0x7903d2c2
jmp 0x40602c
mov eax, 0xbf692ef
mov dword [esp + 0x7c], eax
jmp 0x40602c
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x98]
mov esi, esp
call fcn.00406040
mov dword [esi], ecx
mov ecx, 0
mov ecx, edx
call fcn.00410760
sub esp, 8
mov eax, dword [esp + 0x98]
mov ecx, esp
lea edx, [esp + 0x88]
mov dword [ecx], edx
mov ecx, esi
mov ecx, eax
call fcn.00455be0
sub esp, 4
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx]
imul eax, eax, 0x18
add ecx, eax
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
lea ecx, [esp + 0x88]
call fcn.00459880
sub esp, 8
mov eax, 0xce8569b9
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + 4]
add edx, 0x18
mov dword [ecx + 4], edx
mov dword [esp + 0x7c], eax
jmp 0x40602c
mov dword [esp + 0x7c], 0x65ae1320
jmp 0x40602c
mov eax, 0x39944a6b
mov ecx, 0x427bea44
mov edx, dword [esp + 0x98]
mov edx, dword [edx + 4]
mov esi, dword [esp + 0x98]
cmp edx, dword [esi + 8]
cmove eax, ecx
mov dword [esp + 0x7c], eax
jmp 0x40602c
mov ecx, dword [esp + 0x98]
mov eax, esp
mov dword [eax], 1
call fcn.00459370
sub esp, 4
mov dword [esp + 0x7c], 0x39944a6b
jmp 0x40602c
mov eax, dword [esp + 0x98]
call fcn.00406050
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x98]
mov esi, esp
mov dword [esi + 4], eax
call fcn.00406060
mov ecx, edx
call fcn.00410760
sub esp, 8
mov eax, dword [esp + 0x98]
mov ecx, esp
lea edx, [esp + 0x80]
call fcn.00406070
mov ecx, eax
call fcn.00455be0
sub esp, 4
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
call fcn.00406080
mov edx, 0x437270
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
lea ecx, [esp + 0x80]
call fcn.0049fa80
sub esp, 8
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 4]
add ecx, 0x18
mov dword [eax + 4], ecx
mov dword [esp + 0x7c], 0x65ae1320
jmp 0x40602c
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.0040ffe0
mov ecx, 0x18
mov edx, dword [esp + 0x98]
mov edx, dword [edx]
sub eax, 0xd1e5fa30
sub eax, edx
add eax, 0xd1e5fa30
cdq
idiv ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x7c], 0x3834e21f
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jmp 0x40602c
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x98]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], ecx
mov ecx, edx
call fcn.00410760
sub esp, 8
mov eax, dword [esp + 0x98]
mov ecx, 0x3fff
mov ecx, esp
lea edx, [esp + 0x88]
mov dword [ecx], edx
mov ecx, eax
call fcn.00455be0
sub esp, 4
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx]
imul eax, eax, 0x18
add ecx, eax
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 4]
mov edx, esp
mov dword [edx + 4], ecx
call fcn.00406090
lea ecx, [esp + 0x88]
call fcn.00459880
sub esp, 8
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 4]
add ecx, 0x18
mov dword [eax + 4], ecx
mov dword [esp + 0x7c], 0xbf692ef
jmp 0x405a1f