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

Disassembly:
add esp, 4
pop edi
push ecx
push edx
add esp, 4
jmp 0x4063fd
call 0x406409
add byte [edx], dh
dec ebp
xor al, byte [eax + 0x33]
inc eax
add esp, 4
pop ecx
cmp dword [ebp - 0x15ec], 0
jne 0x406425
mov dword [ebp - 0x754], 0
jmp 0x4066e1
mov ecx, dword [ebp - 0x15ec]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca8], eax
push edi
or edi, 0xf1e0
jmp 0x406446
pop edi
push ebx
sub ebx, 0x18294
add ebx, 0x2ca7
pop ebx
push eax
push ebx
add esp, 4
xor eax, 0xb07d
pop eax
push edx
xor edx, 0x9525
pop edx
cmp dword [ebp - 0xca8], 0
jne 0x406481
mov dword [ebp - 0x754], 0
jmp 0x4066e1
mov ecx, dword [ebp - 0xca8]
mov dword [ebp - 0x50c], ecx
push ecx
push eax
add esp, 4
add ecx, 0x139b4
pop ecx
push eax
sub eax, 0x86ec
call 0x4064af
add byte [esi], dh
dec edx
dec edi
dec esi
inc esp
cmp dword [ebx], esi
xor al, 0x83
les eax, [ebx + ebp*8]
add al, 0x32
dec edx
dec edx
inc esp
add eax, 0x15f0
pop eax
lea edx, [ebp - 0x17ac]
mov dword [ebp - 0xca4], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xca0], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push edx
push edx
add esp, 4
jmp 0x4064f9
or edx, 0x16374
xor edx, 0xd6da
pop edx
push esi
sub esi, 0x15d3c
call 0x40651a
add byte [ebp + 0x50], al
cmp al, 0x4d
dec ebx
cmp eax, 0x5e04c483
mov ecx, dword [ebp - 0xca0]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xca0]
add eax, 2
mov dword [ebp - 0xca0], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca4]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xca4]
add ecx, 2
mov dword [ebp - 0xca4], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x110], dx
push ecx
push edx
add esp, 4
or ecx, 0x1922
xor ecx, 0xff9c
add ecx, 0x9d8e
jmp 0x406598
pop ecx
push esi
call 0x4065a6
add byte [ebp + 0x33], cl
dec ebp
xor al, 0x3b
cmp al, 0x83
les eax, [esi + ebx*2]
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x4065cd
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15f4], ecx
jmp 0x406630
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x4064ec
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x4064ec
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x40661a
mov dword [ebp - 0x15f0], 0xffffffff
jmp 0x406624
mov dword [ebp - 0x15f0], 1
mov eax, dword [ebp - 0x15f0]
mov dword [ebp - 0x15f4], eax
cmp dword [ebp - 0x15f4], 0
jne 0x406679
push esi
push edi
add esp, 4
xor esi, 0x83fc
xor esi, 0x1278a
and esi, 0xbb1d
pop esi
push eax
sub eax, 0x108fe
and eax, 0x512c
add eax, 0x1458c
xor eax, 0x6b07
pop eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x754], ecx
jmp 0x4066e1
push eax
xor eax, 0x11372
call 0x40668e
add byte [edi], dh
xor edx, dword [eax + 0x49]
push eax
cmp cl, byte ss:[ebx - 0x7d]
les eax, [eax + ebp*8]
add al, 0xe8
or eax, dword [eax]
add byte [eax], al
add byte [esi + 0x32], cl
dec eax
push eax
cmp eax, 0x35413746
inc eax
add esp, 4
and eax, 0x90e7
pop eax
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xca8]
je 0x4066d7
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x40648d
mov dword [ebp - 0x754], 0
push edi
sub edi, 0x1864a
or edi, 0xdb4b
pop edi
push edi
push ebx
add esp, 4
xor edi, 0x127bb
pop edi
push ebx
push ebx
add esp, 4
sub ebx, 0x1d8d
and ebx, 0x134e8
jmp 0x406712
pop ebx
cmp dword [ebp - 0x754], 0
jne 0x40675d
push eax
push esi
add esp, 4
xor eax, 0x17adb
sub eax, 0x4fb0
pop eax
push edx
push edi
add esp, 4
or edx, 0x8fe1
xor edx, 0x3e96
pop edx
push edi
sub edi, 0xb683
and edi, 0x9ec7
pop edi
mov dword [ebp - 0x7a0], 0
jmp 0x407284
push ebx
push edi
add esp, 4
xor ebx, 0x121d1
add ebx, 0xdcf4
xor ebx, 0xde06
pop ebx
push eax
and eax, 0xf83a
add eax, 0xb445
or eax, 0x2fa0
sub eax, 0x171f8
pop eax
mov eax, dword [ebp - 0x754]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x764], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f8], edx
cmp dword [ebp - 0x15f8], 0
jne 0x4067ce
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x406abf
mov ecx, dword [ebp - 0x15f8]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15fc], edx
jne 0x4067f6
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x406abf
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15fc]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1600], ecx
cmp dword [ebp - 0x1600], 0
jne 0x406828
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
jmp 0x406abf
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x1600]
mov dword [ebp - 0x758], eax
jne 0x40684d
invalid
invalid
pushfd
clc