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

Disassembly:
add esp, 4
sub edi, 0xa3a9
or edi, 0xa50c
add edi, 0x163e9
pop edi
push ebx
push edx
add esp, 4
xor ebx, 0x9c72
pop ebx
cmp dword [ebp - 0x15e4], 0
jne 0x405c4d
mov dword [ebp - 0x750], 0
jmp 0x405f09
mov ecx, dword [ebp - 0x15e4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push edi
xor edi, 0x383d
sub edi, 0xfc0b
or edi, 0x135e4
pop edi
push ecx
push eax
add esp, 4
and ecx, 0xd982
sub ecx, 0xff5b
sub ecx, 0x265b
add ecx, 0x7abf
pop ecx
cmp dword [ebp - 0xca4], 0
jne 0x405ca9
mov dword [ebp - 0x750], 0
jmp 0x405f09
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push edx
push edx
add esp, 4
xor edx, 0x86cc
jmp 0x405cc9
jmp 0x405ccf
sub edx, 0x108cf
pop edx
push ecx
push esi
add esp, 4
xor ecx, 0xc988
jmp 0x405ce6
pop ecx
lea edx, [ebp - 0x1774]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc9c], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push ecx
xor ecx, 0x5dfc
or ecx, 0x17f5f
call 0x405d2f
add byte [ebx + ecx*2], dh
xor eax, 0x4e4e3742
inc ebx
add esp, 4
call 0x405d42
add byte [ebp + 0x40], cl
push eax
dec ebx
dec ebp
xor al, 0x32
dec ebp
inc edi
dec esp
add esp, 4
pop ecx
mov ecx, dword [ebp - 0xc9c]
mov dx, word [ecx]
mov word [ebp - 0x1036], dx
mov eax, dword [ebp - 0xc9c]
add eax, 2
mov dword [ebp - 0xc9c], eax
mov cx, word [ebp - 0x1036]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca0]
mov ax, word [edx]
mov word [ebp - 0x1038], ax
mov ecx, dword [ebp - 0xca0]
add ecx, 2
mov dword [ebp - 0xca0], ecx
mov dx, word [ebp - 0x1038]
mov word [ebp - 0x110], dx
push ebx
push edi
add esp, 4
call 0x405db3
add byte [ebp + 0x4b], al
xor edi, dword [ecx*2 - 0x7cb5c0be]
les eax, [ebx + ebp*8]
add eax, dword [ebx + 0x3b]
inc ecx
call 0x405dc9
add byte [eax + 0x47], dl
inc esp
inc ecx
cmp byte [eax + 0x36], al
inc esi
add esp, 4
jmp 0x405dd1
pop ebx
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x405df5
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15ec], ecx
jmp 0x405e58
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x405d14
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x405d14
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x405e42
mov dword [ebp - 0x15e8], 0xffffffff
jmp 0x405e4c
mov dword [ebp - 0x15e8], 1
mov eax, dword [ebp - 0x15e8]
mov dword [ebp - 0x15ec], eax
cmp dword [ebp - 0x15ec], 0
jne 0x405ea1
push esi
add esi, 0x2ca2
sub esi, 0x1075a
add esi, 0x14207
pop esi
push esi
push edx
add esp, 4
jmp 0x405e83
call 0x405e8f
add byte [edi + 0x4b], al
dec eax
aaa
inc ebp
push eax
add esp, 4
pop esi
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x750], ecx
jmp 0x405f09
push edx
push esi
add esp, 4
or edx, 0x138d9
pop edx
push edi
push ebx
add esp, 4
jmp 0x405eb8
pop edi
push eax
push edi
add esp, 4
add eax, 0x105a2
pop eax
push eax
sub eax, 0xb5ed
or eax, 0xcfa4
pop eax
mov edx, dword [ebp - 0x508]
mov eax, dword [edx]
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x508]
cmp ecx, dword [ebp - 0xca4]
je 0x405eff
mov edx, dword [ebp - 0x508]
cmp dword [edx + 0x30], 0
jne 0x405cb5
mov dword [ebp - 0x750], 0
push eax
push eax
add esp, 4
or eax, 0x17232
xor eax, 0xffdd
pop eax
push ecx
push edi
add esp, 4
jmp 0x405f27
call 0x405f37
add byte [edi], bh
dec edi
xor eax, 0x4340374c
dec esp
inc eax
cmp al, byte [ebx - 0x7ca6fb3c]
mov ebp, 0xfffff8b0
add byte [ebp + 0x41], dh
push esi
sub esi, 0x8519
or esi, 0xd290
or esi, 0x11b28
pop esi
push ecx
push eax
add esp, 4
sub ecx, 0xead6
add ecx, 0x16082
xor ecx, 0x6792
add ecx, 0x7348
pop ecx
mov dword [ebp - 0x79c], 0
jmp 0x406aac