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

Disassembly:
push edi
xor edi, 0xb1fc
pop edi
push edx
add edx, 0x11f46
pop edx
push ecx
add ecx, 0xac7b
xor ecx, 0xb5c8
or ecx, 0xefd1
pop ecx
push edi
and edi, 0x12b44
or edi, 0xceeb
pop edi
lea ecx, [ebp - 0x17ac]
mov dword [ebp - 0xce0], ecx
mov edx, dword [ebp - 0x514]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xcdc], eax
xor ecx, ecx
mov word [ebp - 0x23c], cx
xor edx, edx
mov word [ebp - 0x50], dx
push edi
add edi, 0x1066
pop edi
push edi
push eax
add esp, 4
add edi, 0x2a01
or edi, 0xc46e
and edi, 0x5071
add edi, 0x11c17
pop edi
push ebx
push ecx
add esp, 4
or ebx, 0x62b
pop ebx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1056], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1056]
mov word [ebp - 0x23c], ax
mov ecx, dword [ebp - 0xce0]
mov dx, word [ecx]
mov word [ebp - 0x1058], dx
mov eax, dword [ebp - 0xce0]
add eax, 2
mov dword [ebp - 0xce0], eax
mov cx, word [ebp - 0x1058]
mov word [ebp - 0x50], cx
push ebx
or ebx, 0xaf51
call 0x409f4b
add byte [esi + 0x3a], cl
dec ebx
inc esi
dec edx
aaa
dec ebp
dec ebx
xor eax, 0x4c4834d
call 0x409f5b
add byte [edi], dh
aaa
inc eax
inc eax
dec edi
dec edx
inc esp
add esp, 4
pop ebx
push ecx
jmp 0x409f65
pop ecx
movzx edx, word [ebp - 0x50]
test edx, edx
jne 0x409f83
movzx eax, word [ebp - 0x23c]
movzx ecx, word [ebp - 0x50]
sub eax, ecx
mov dword [ebp - 0x1638], eax
jmp 0x409fdd
movzx edx, word [ebp - 0x23c]
movzx eax, word [ebp - 0x50]
cmp edx, eax
je 0x409eab
movzx ecx, word [ebp - 0x23c]
xor ecx, 0x20
movzx edx, word [ebp - 0x50]
cmp ecx, edx
je 0x409eab
movzx eax, word [ebp - 0x23c]
movzx ecx, word [ebp - 0x50]
cmp eax, ecx
jge 0x409fc7
mov dword [ebp - 0x1634], 0xffffffff
jmp 0x409fd1
mov dword [ebp - 0x1634], 1
mov edx, dword [ebp - 0x1634]
mov dword [ebp - 0x1638], edx
cmp dword [ebp - 0x1638], 0
jne 0x40a026
push edx
sub edx, 0x8e94
pop edx
push edx
call 0x409ffc
add byte [esi + 0x48], cl
dec esp
aaa
inc ecx
dec ebp
inc ebx
add esp, 4
sub edx, 0x10c0b
and edx, 0xf522
pop edx
push ebx
push edx
add esp, 4
sub ebx, 0xb174
pop ebx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x778], eax
jmp 0x40a08e
push edi
push edi
add esp, 4
xor edi, 0x10d2a
xor edi, 0x16601
xor edi, 0x184f7
pop edi
push edx
or edx, 0x134d0
and edx, 0x7dd9
pop edx
push esi
push ebx
add esp, 4
jmp 0x40a057
pop esi
mov ecx, dword [ebp - 0x514]
mov edx, dword [ecx]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
cmp eax, dword [ebp - 0xce4]
je 0x40a084
mov ecx, dword [ebp - 0x514]
cmp dword [ecx + 0x30], 0
jne 0x409e4f
mov dword [ebp - 0x778], 0
push edi
push edi
add esp, 4
add edi, 0xa2ad
or edi, 0x1150b
pop edi
push ebx
push esi
add esp, 4
or ebx, 0x16296
or ebx, 0x878b
or ebx, 0xc4d6
pop ebx
push edx
and edx, 0x10132
pop edx
cmp dword [ebp - 0x778], 0
jne 0x40a10a
push ebx
push eax
add esp, 4
add ebx, 0x15d3d
jmp 0x40a0dd
pop ebx
push edi
call 0x40a0ef
add byte [0x36423345], bh
xor bh, byte [eax]
cmp byte [esi + edi - 0x7d], al
les eax, [edi + ebx*2]
push edi
sub edi, 0x8eb2
pop edi
mov dword [ebp - 0xae0], 0
jmp 0x40ac32
push esi
xor esi, 0x164f3
pop esi
push eax
sub eax, 0x13a36
jmp 0x40a121
pop eax
push eax
push edx
add esp, 4
sub eax, 0x6225
and eax, 0x15224
pop eax
push eax
or eax, 0x8cd2
pop eax
mov edx, dword [ebp - 0x778]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x163c], ecx
cmp dword [ebp - 0x163c], 0
jne 0x40a17b
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], edx
jmp 0x40a46c
mov eax, dword [ebp - 0x163c]
mov ecx, dword [ebp - 0x35c]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1640], ecx
jne 0x40a1a3
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], edx
jmp 0x40a46c
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1640]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x1684], eax
cmp dword [ebp - 0x1684], 0
jne 0x40a1d5
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], ecx
jmp 0x40a46c
mov edx, dword [ebp - 0x35c]
add edx, dword [ebp - 0x1684]
mov dword [ebp - 0x77c], edx
jne 0x40a1fa
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], eax
jmp 0x40a46c
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x35c]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x19cc], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x35c]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x19d0], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x35c]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x19d4], eax
mov dword [ebp - 0x780], 0
jmp 0x40a254
mov ecx, dword [ebp - 0x780]
add ecx, 1
invalid
invalid