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

Disassembly:
cmp dword [ebp - 0x15f4], 0
jne 0x409d7a
mov dword [ebp - 0x318], 0
jmp 0x40a021
mov ecx, dword [ebp - 0x15f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push edx
push edi
add esp, 4
call 0x409da0
add byte [esi + 0x44], al
cmp ecx, dword [ecx + 0x45]
xor al, 0x44
inc esp
dec eax
add esp, 4
add edx, 0x17854
pop edx
push ebx
xor ebx, 0xbbb1
xor ebx, 0x74c0
add ebx, 0x10c46
pop ebx
cmp dword [ebp - 0xcb4], 0
jne 0x409dd6
mov dword [ebp - 0x318], 0
jmp 0x40a021
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push ecx
push ebx
add esp, 4
jmp 0x409def
sub ecx, 0x6f61
pop ecx
push ebx
push edi
add esp, 4
xor ebx, 0xc9f0
or ebx, 0x12fa7
or ebx, 0x33f3
xor ebx, 0xeb81
pop ebx
lea edx, [ebp - 0x1734]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edi
push edi
add esp, 4
or edi, 0x13804
pop edi
push ebx
jmp 0x409e51
and ebx, 0x6d6c
jmp 0x409e5d
pop ebx
push eax
push ebx
add esp, 4
sub eax, 0x13052
sub eax, 0x178bf
pop eax
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push edx
or edx, 0x6998
xor edx, 0x8fe9
call 0x409ee3
add byte [ebx + 0x33], al
cmp eax, 0x473f373b
inc edi
cmp eax, dword [ebx - 0x357efb3c]
les edi, [ebx + 1]
add byte [edx + 0x56], bl
push edi
add esp, 4
xor esi, 0x11fd1
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x409f16
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x15fc], ecx
jmp 0x409f70
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x409e3e
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x409e3e
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x409f5a
mov dword [ebp - 0x15f8], 0xffffffff
jmp 0x409f64
mov dword [ebp - 0x15f8], 1
mov eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x15fc], eax
cmp dword [ebp - 0x15fc], 0
jne 0x409fb9
push eax
push edx
add esp, 4
xor eax, 0x10e60
sub eax, 0x6af8
and eax, 0x18c2
pop eax
push esi
sub esi, 0x110d2
xor esi, 0x11b80
pop esi
push edi
push ecx
add esp, 4
sub edi, 0x3071
pop edi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x318], ecx
jmp 0x40a021
push edi
jmp 0x409fc1
jmp 0x409fc6
pop edi
push eax
push esi
add esp, 4
jmp 0x409fd2
and eax, 0xaaf1
pop eax
push edi
push eax
add esp, 4
sub edi, 0x12ecc
add edi, 0x5fed
pop edi
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x40a017
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x409de2
mov dword [ebp - 0x318], 0
push ecx
jmp 0x40a027
xor ecx, 0x17c7c
pop ecx
push edx
call 0x40a03b
add byte [edi + 0x4845393b], dh
add esp, 4
sub edx, 0xe534
sub edx, 0x1314e
jmp 0x40a052
pop edx
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edx
push edx
add esp, 4
xor edx, 0xdf98
pop edx
push eax
push ebx
add esp, 4
add eax, 0x1704b
and eax, 0x4e04
pop eax
push esi
call 0x40a090
add byte [edx + ecx*2], dh
dec ebx
inc esi
xor eax, 0x35393b47
add esp, 4
pop esi
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1600], edx
cmp dword [ebp - 0x1600], 0
jne 0x40a0c4
mov eax, dword [ebp - 0x770]
invalid
invalid