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

Disassembly:
push ebx
push edx
add esp, 4
add ebx, 0x1640
add byte [ecx + 0x4c97f3], al
add byte [ecx + 0x1fabeb], al
add byte [ebx + 0x51], bl
add ecx, 0x157f9
add ecx, 0xd958
sub ecx, 0x1e8b
xor ecx, 0x16ba4
pop ecx
lea eax, [ebp - 0x1738]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ecx
push edx
add esp, 4
jmp 0x409c8d
or ecx, 0x1c86
pop ecx
push esi
push ecx
add esp, 4
sub esi, 0x5777
and esi, 0x16197
pop esi
push edi
add edi, 0x32d2
sub edi, 0x11e99
pop edi
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push esi
xor esi, 0x48b3
or esi, 0x109b9
and esi, 0x11f70
add esi, 0x7b07
cmp dword [ebp - 0x1684], 0
jne 0x409dfd
push eax
push ecx
add esp, 4
and eax, 0x368c
pop eax
push edi
add edi, 0x12cd5
or edi, 0xa9f2
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0x4639
add ecx, 0xd6dd
xor ecx, 0x1864a
pop ecx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x409e65
push ecx
or ecx, 0x6a71
sub ecx, 0x26fa
add ecx, 0x15442
add ecx, 0x512d
pop ecx
push eax
push edx
add esp, 4
xor eax, 0x17878
xor eax, 0x80bc
xor eax, 0x1cf2
pop eax
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x409e5b
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x409c26
mov dword [ebp - 0x2fc], 0
push edx
push ecx
add esp, 4
xor edx, 0x1106f
add edx, 0xbdee
pop edx
push eax
and eax, 0x128f1
xor eax, 0x7042
pop eax
push edx
push ecx
add esp, 4
or edx, 0x103c0
add edx, 0x10f16
pop edx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push edi
add edi, 0x5bb9
add edi, 0x4d05
pop edi
push eax
call 0x409ec1
add byte [eax], al
add byte [esi + esi + 0x4c], cl
inc edx
aas
xor al, byte [ebx - 0x177efb3c]
je 0x409ec3
add al, 0x81
call 0x419a3e
add byte [eax], al
jmp 0x409ed2
jmp 0x409ed7
pop eax
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x409f08
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x40a1f9
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x409f30
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x40a1f9
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x168c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jne 0x409f62
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x40a1f9
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x409f87
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x40a1f9
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19c4], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19cc], edx
mov dword [ebp - 0x78c], 0
jmp 0x409fe1
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x40a1ed
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19c4]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19c8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19cc]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19d0], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x40a051
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40a103
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x40a103
push esi
add esi, 0x16ee3
and esi, 0xf928
or esi, 0x9a3b
pop esi
push esi
push ebx
add esp, 4
or esi, 0x13aad
sub esi, 0x6d71
pop esi
push esi
push ebx
add esp, 4
xor esi, 0x8dd6
pop esi
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x40a0f5
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x40a0fc
jmp 0x40a042
jmp 0x40a103
push edx
jmp 0x40a109
pop edx
push edx
push esi
add esp, 4
jmp 0x40a114
add edx, 0x82c6
pop edx
push ecx
or ecx, 0x670d
and ecx, 0x2800
xor ecx, 0xc2d9
and ecx, 0xf355
pop ecx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
cmp ecx, eax
jne 0x40a162
mov dword [ebp - 0xce4], 0
jmp 0x40a1d1
push eax
add eax, 0x9326
sub eax, 0xf921
pop eax
push ecx
add ecx, 0x131eb
call 0x40a185
add byte [edi + 0x4b], al
dec edx
xor al, 0x3b
dec ebx
push eax
inc ebx
add esp, 4
sub ecx, 0xe9d4
jmp 0x40a193
pop ecx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
cmp edx, ecx
jge 0x40a1c7
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x40a1d1
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x40a1e8
mov edx, dword [ebp - 0x19d0]
mov dword [ebp - 0x520], edx
jmp 0x40a1f9
jmp 0x409fd2
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xab4], ecx
push ecx
and ecx, 0xf4d1
pop ecx
push esi
push edx
add esp, 4
add esi, 0x1623f
or esi, 0x13091
xor esi, 0x130c
sub esi, 0x62fd
pop esi
push ebx
push edi
add esp, 4
or ebx, 0xcc37
pop ebx
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x19d4], edx
lea eax, [ebp - 0xce8]
push eax
push 0x40
invalid
invalid
insb byte es:[edi], dx
invalid