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

Disassembly:
push edx
and edx, 0x16669
call 0x406f93
add byte [ebx + 0x4b], cl
inc esp
inc edx
cmp al, byte [esp + eax*2 - 0x7d]
les eax, [edx + ebx*2]
push esi
push eax
add esp, 4
add esi, 0x1ce2
add esi, 0x2d1f
pop esi
push ebx
and ebx, 0x28fd
pop ebx
lea eax, [ebp - 0x1790]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edi
jmp 0x406fe3
add edi, 0xbbad
pop edi
push ecx
call 0x406ffb
add byte [edx + edi + 0x3d], cl
xor al, byte [ebp + 0x3a]
cmp al, 0x50
cmp al, 0x3a
add esp, 4
jmp 0x407006
or ecx, 0x366c
pop ecx
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push esi
sub esi, 0xeaae
or esi, 0x11f81
or esi, 0x16974
or esi, 0x10399
pop esi
push edi
jmp 0x407084
pop edi
push ebx
push esi
add esp, 4
jmp 0x40708f
or ebx, 0x135bc
pop ebx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x4070b3
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
inc ebp
les ebp, [ebx]
ror byte [ecx - 0x16676b], 1
invalid
jmp 0x40710d
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x406fdb
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x406fdb
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x4070f7
mov dword [ebp - 0x1624], 0xffffffff
jmp 0x407101
mov dword [ebp - 0x1624], 1
mov ecx, dword [ebp - 0x1624]
mov dword [ebp - 0x1668], ecx
cmp dword [ebp - 0x1668], 0
jne 0x407156
push esi
push esi
add esp, 4
xor esi, 0x15314
call 0x407131
add byte [edi], dh
inc ecx
aaa
inc ecx
cmp edi, dword [esi + eax*2]
xor cl, byte ds:[ecx - 0x7d]
les eax, [ecx + eax*4]
out dx, al
jecxz fcn.004070b8
add dword [eax], eax
pop esi
push ecx
jmp 0x407141
or ecx, 0x15424
pop ecx
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x4071be
push edx
push esi
add esp, 4
xor edx, 0x1427f
sub edx, 0x81b7
add edx, 0xea4c
call 0x40717c
add byte [ecx + 0x47], al
cmp eax, 0x4439364e
inc ebx
add esp, 4
pop edx
push edx
or edx, 0x5c7a
pop edx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x4071b4
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x406f7f
mov dword [ebp - 0x774], 0
push esi
push ebx
add esp, 4
sub esi, 0x4689
sub esi, 0x37de
or esi, 0x67d5
and esi, 0x3ee7
pop esi
push eax
add eax, 0x35e0
add eax, 0x33a7
or eax, 0x17954
pop eax
cmp dword [ebp - 0x774], 0
jne 0x40723a
push edx
push eax
add esp, 4
sub edx, 0x14d28
or edx, 0xf8dc
pop edx
push esi
push ecx
add esp, 4
or esi, 0xbe6e
or esi, 0xd886
or esi, 0x17591
pop esi
push esi
sub esi, 0x7f01
pop esi
mov dword [ebp - 0xab4], 0
jmp 0x407d62
push edi
push edx
add esp, 4
jmp 0x407244
jmp 0x407249
sub edi, 0x10e50
xor edi, 0xbd49
pop edi
push ebx
xor ebx, 0x973
jmp 0x407265
xor ebx, 0xb83d
pop ebx
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x4072ab
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x40759c
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x4072d3
mov ecx, dword [ebp - 0x784]
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x407305
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x40759c
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x40732a
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x40759c
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
invalid
invalid
pop esp
invalid