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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [0x44d834]
mov ecx, dword [esp + 0x64]
xor ebp, ebp
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + ecx + 0x78]
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
add eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp], 0
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
mov eax, 0xbcfe350b
cmp eax, 0xd2da7928
jg 0x405a5b
jmp 0x405c10
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp], eax
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, 0xbcfe350b
nop
cmp eax, 0xd2da7928
jle 0x405c10
cmp eax, 0xff620593
jg 0x405b30
cmp eax, 0xd2da7929
je 0x405b68
cmp eax, 0xe9885420
jne 0x405a50
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov eax, 0x59b2124d
nop word cs:[eax + eax]
nop
cmp eax, 0xa1c48b1e
je 0x405af6
cmp eax, 0xdd0d2688
je 0x405ad3
cmp eax, 0x59b2124d
jne 0x405aa0
mov eax, dword [esp + 0x30]
mov ecx, 0xdd0d2688
cmp dword [eax + 0x14], 0xf
mov eax, 0xa1c48b1e
cmova eax, ecx
cmp eax, 0xa1c48b1e
jne 0x405aa7
jmp 0x405af6
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + 0x14]
inc ecx
push ecx
push dword [eax]
call fcn.00407810
add esp, 8
mov eax, 0xa1c48b1e
cmp eax, 0xa1c48b1e
jne 0x405aa7
mov eax, dword [esp + 0x30]
test ebx, ebx
mov ecx, 0x81a6d50c
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x30]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x30]
mov byte [eax], 0
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
mov eax, 0xa80b92b1
jmp 0x405bf8
cmp eax, 0xff620594
je 0x405baa
cmp eax, 0x57bca424
jne 0x405a50
mov eax, dword [esp + 0x1c]
xor ebx, ebx
add eax, 4
mov dword [esp + 8], eax
mov eax, 0xe9885420
mov esi, dword [esp + 0x24]
cmp eax, 0xd2da7928
jg 0x405a5b
jmp 0x405c10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov ebx, 2
mov eax, dword [eax + 0x24]
mov edx, ecx
add eax, ecx
mov ecx, dword [esp + 0x20]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x1c]
add ecx, edx
mov esi, dword [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
mov eax, 0xe9885420
mov dword [esp + 8], ecx
cmp eax, 0xd2da7928
jg 0x405a5b
jmp 0x405c10
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], edi
mov edi, esi
mov esi, ebx
mov ebx, ebp
lea ebp, [esp + 0x34]
mov eax, dword [eax]
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x18]
mov ecx, ebp
add eax, dword [esp + 0x64]
push eax
call fcn.00405cb0
push 0x235
push ebp
mov ebp, ebx
mov ebx, esi
mov esi, edi
mov edi, dword [esp + 0x14]
call fcn.00404010
add esp, 8
cmp eax, dword [esp + 0x68]
mov eax, 0x57bca424
mov ecx, 0xd2da7929
cmove eax, ecx
cmp eax, 0xd2da7928
jg 0x405a5b
nop word cs:[eax + eax]
cmp eax, 0xb9248323
jle 0x405c60
cmp eax, 0xb9248324
je 0x405c78
cmp eax, 0xbcfe350b
jne 0x405a50
mov eax, dword [esp + 4]
mov dword [esp + 0x24], ebp
mov edx, 0xff620594
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
cmp ecx, eax
mov eax, 0xb9248324
cmovb eax, edx
cmp eax, 0xd2da7928
jg 0x405a5b
jmp 0x405c10
cmp eax, 0x81a6d50c
je 0x405a35
cmp eax, 0xa80b92b1
jne 0x405a50
jmp 0x405c8e
mov edi, dword [esp + 0x24]
mov eax, 0xa80b92b1
cmp eax, 0xd2da7928
jg 0x405a5b
jmp 0x405c10
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x64]
xor ecx, esp
add esi, edi
call fcn.0041d6b9
mov eax, esi
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret