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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x204
mov eax, dword [esp + 0x21c]
mov edx, dword [eax + 0x3c]
mov ecx, edx
mov dword [esp + 0x20], edx
mov ecx, dword [edx + eax + 0x78]
mov dword [esp + 0x3c], ecx
add ecx, eax
mov dword [esp + 8], ecx
mov edi, 0xae83aee7
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], eax
cmp edi, 0xf01bd055
jle 0x405811
cmp edi, 0x40fb43f3
jle 0x4058ad
cmp edi, 0x561724ab
jle 0x405935
cmp edi, 0x74e3d189
jle 0x405a3d
cmp edi, 0x74e3d18a
je 0x40599c
cmp edi, 0x75b19eac
je 0x405bf9
cmp edi, 0x7addb4e9
jne 0x4057bd
inc ebx
mov edi, 0x40fb43f4
jmp 0x4057bd
cmp edi, 0xc1a226df
jg 0x4058ee
cmp edi, 0xa003c77a
jle 0x405978
cmp edi, 0xab386ead
jle 0x405a73
cmp edi, 0xab386eae
je 0x405c13
cmp edi, 0xae83aee7
je 0x405c2d
cmp edi, 0xb6fce899
jne 0x4057bd
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + eax*4 - 4]
add eax, dword [esp + 0x21c]
push dword [esp + 0x22c]
push dword [esp + 0x22c]
push eax
call fcn.004070dc
add esp, 0xc
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x220]
xor edx, dword [esp + 0x24]
xor edx, dword [esp + 0x224]
or edx, eax
mov edi, 0xcca28d6a
mov eax, 0xf01bd056
cmove edi, eax
jmp 0x4057bd
cmp edi, 0x2058e8e6
jle 0x4059ae
cmp edi, 0x327a3e36
jle 0x405ab2
cmp edi, 0x327a3e37
je 0x405c44
cmp edi, 0x33b636ea
je 0x405c73
cmp edi, 0x3ea83310
je 0x405da4
jmp 0x4057bd
cmp edi, 0xcca28d69
jle 0x405a0d
cmp edi, 0xda6ed5e1
jle 0x405b02
cmp edi, 0xda6ed5e2
je 0x405c7d
cmp edi, 0xdbebf088
je 0x405c94
cmp edi, 0xe692496c
jne 0x4057bd
inc ebx
mov edi, 0xa003c77b
jmp 0x4057bd
cmp edi, 0x4c5975f4
jg 0x405b34
cmp edi, 0x40fb43f4
je 0x405cab
cmp edi, 0x4b23548e
jne 0x405d96
mov al, byte [ebp + ebx]
mov byte [esp + ebx + 0x40], al
cmp byte [ebp + ebx], 0x2e
mov edi, 0x33b636ea
mov eax, 0x89160ba7
cmove edi, eax
jmp 0x4057bd
cmp edi, 0x89160ba6
jg 0x405b61
cmp edi, 0x80c62a04
je 0x405beb
cmp edi, 0x82c42bd8
jne 0x4057bd
mov edi, 0x49e38307
mov dword [esp + 4], 0
jmp 0x4057bd
cmp edi, 0x3699f75
jg 0x405b9b
cmp edi, 0xf01bd056
je 0x405cca
cmp edi, 0x1591788
jne 0x4057bd
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [esp + 0x21c]
add edx, eax
mov dword [esp + 0x38], edx
mov edx, dword [ecx + 0x20]
add edx, eax
mov dword [esp + 0x34], edx
mov edx, dword [ecx + 0x24]
add edx, eax
mov dword [esp + 0x30], edx
mov ecx, dword [ecx + 0xc]
add ecx, eax
mov dword [esp + 0x1c], ecx
mov edi, 0x75b19eac
xor ebx, ebx
jmp 0x4057bd
cmp edi, 0xc27bf782
jg 0x405bbd
cmp edi, 0xc1a226e0
je 0x405cfb
cmp edi, 0xc269b1ac
jne 0x4057bd
mov edi, 0xe93acc9
xor esi, esi
jmp 0x4057bd
cmp edi, 0x561724ac
je 0x405d12
cmp edi, 0x6d976ee6
jne 0x4057bd
dec dword [esp + 0x18]
mov edi, 0x3ea83310
mov eax, 0xda6ed5e2
cmove edi, eax
mov dword [esp + 0xc], 0
jmp 0x4057bd
cmp edi, 0xa003c77b
je 0x405d20
cmp edi, 0xa1df4985
jne 0x4057bd
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + ecx + 0x7c]
add eax, dword [esp + 8]
cmp esi, eax
mov edi, 0x80c62a04
mov eax, 0x561724ac
cmovb edi, eax
jmp 0x4057bd
cmp edi, 0x2058e8e7
je 0x405d3f
cmp edi, 0x26e8ca68
jne 0x4057bd
mov byte [esp + ebx + 0x100], 0
mov edi, 0xb6fce899
push dword [esp + 0x22c]
push dword [esp + 0x22c]
lea eax, [esp + 0x108]
push eax
call fcn.004070dc
add esp, 0xc
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edx
jmp 0x4057bd
cmp edi, 0xcca28d6a
je 0x405d60
cmp edi, 0xd322b814
jne 0x4057bd
cmp ebx, 0x3c
setb byte [esp + 1]
mov edi, 0xdbebf088
mov al, byte [esp + 1]
mov dword [esp + 0x14], eax
jmp 0x4057bd
cmp edi, 0x4c5975f5
je 0x405d6a
cmp edi, 0x55d108d8
jne 0x4057bd
mov al, byte [ebp + ebx]
mov byte [esp + ebx + 0x80], al
mov edi, 0x7addb4e9
jmp 0x4057bd
cmp edi, 0x89160ba7
je 0x405d75
cmp edi, 0x8bd44c00
jne 0x4057bd
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x220]
call dword [eax + 0x34]
mov esi, eax
mov edi, 0xe93acc9
jmp 0x4057bd
cmp edi, 0x3699f76
je 0x405d7f
cmp edi, 0xe93acc9
jne 0x4057bd
mov edi, 0x80c62a04
jmp 0x4057bd
cmp edi, 0xc27bf783
je 0x405beb
cmp edi, 0xc6c9cd09
jne 0x4057bd
mov eax, dword [esp + 0x1c]
mov al, byte [eax + ebx]
or al, 0x20
mov byte [esp + ebx + 0x100], al
mov edi, 0x4c5975f5
jmp 0x4057bd
mov edi, 0x49e38307
mov dword [esp + 4], esi
jmp 0x4057bd
mov eax, dword [esp + 0x1c]
cmp byte [eax + ebx], 0
mov edi, 0xc6c9cd09
mov eax, 0x26e8ca68
cmove edi, eax
jmp 0x4057bd
cmp ebx, 0x7f
setb byte [esp + 2]
mov edi, 0xc1a226e0
mov al, byte [esp + 2]
mov dword [esp + 0x10], eax
jmp 0x4057bd
cmp dword [esp + 0x3c], 0
mov edi, 0x2058e8e7
mov eax, 0x82c42bd8
cmove edi, eax
jmp 0x4057bd
mov byte [esp + ebx + 0x80], 0
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0x21c]
call dword [eax + 0x30]
mov dword [esp + 0x2c], eax
test eax, eax
mov edi, 0x8bd44c00
mov eax, 0xc269b1ac
cmove edi, eax
jmp 0x4057bd
mov edi, 0xe692496c
jmp 0x4057bd
test byte [esp + 0xc], 1
mov edi, 0xc27bf783
mov eax, 0xb6fce899
cmovne edi, eax
jmp 0x4057bd
test byte [esp + 0x14], 1
mov edi, 0x3699f76
mov eax, 0x4b23548e
cmovne edi, eax
jmp 0x4057bd
cmp byte [ebp + ebx], 0
mov edi, 0xab386eae
mov eax, 0xc1a226e0
cmove edi, eax
mov dword [esp + 0x10], 0
jmp 0x4057bd
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
movzx eax, word [ecx + eax*2 - 2]
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx + eax*4]
add esi, dword [esp + 0x21c]
cmp dword [esp + 8], esi
mov edi, 0xa1df4985
mov eax, 0x80c62a04
cmova edi, eax
jmp 0x4057bd
test byte [esp + 0x10], 1
mov edi, 0x327a3e37
mov eax, 0x55d108d8
cmovne edi, eax
jmp 0x4057bd
mov edi, 0xa003c77b
xor ebx, ebx
mov ebp, esi
jmp 0x4057bd
cmp byte [ebp + ebx], 0
mov edi, 0xd322b814
mov eax, 0xdbebf088
cmove edi, eax
mov dword [esp + 0x14], 0
jmp 0x4057bd
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x18]
mov eax, ecx
mov dword [esp + 0x18], ecx
test ecx, ecx
mov edi, 0x1591788
mov eax, 0x74e3d18a
cmove edi, eax
jmp 0x4057bd
mov edi, 0x6d976ee6
jmp 0x4057bd
inc ebx
mov edi, 0x75b19eac
jmp 0x4057bd
mov edi, 0x3699f76
jmp 0x4057bd
mov dword [esp + ebx + 0x41], 0x6c6c64
add ebp, ebx
inc ebp
mov edi, 0x40fb43f4
xor ebx, ebx
jmp 0x4057bd
cmp edi, 0x49e38307
jne 0x4057bd
jmp 0x405db9
test esi, esi
sete byte [esp + 3]
mov edi, 0xda6ed5e2
mov al, byte [esp + 3]
jmp 0x4057b9
mov eax, dword [esp + 4]
add esp, 0x204
pop esi
pop edi
pop ebx
pop ebp
ret