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

Disassembly:
push eax
push ebx
add esp, 4
and eax, 0x10696
add eax, 0x9e04
sub eax, 0x11756
add eax, 0x55df
pop eax
push ecx
and ecx, 0x261a
sub ecx, 0x1fde
and ecx, 0x17d97
pop ecx
lea eax, [ebp - 0x173c]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x510]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x238], ax
xor ecx, ecx
mov word [ebp - 0x4c], cx
push ecx
push ecx
add esp, 4
sub ecx, 0x2ed7
or ecx, 0x7625
add ecx, 0x9065
xor ecx, 0xf18
pop ecx
push ebx
sub ebx, 0x9c0c
xor ebx, 0x8bf
or ebx, 0x8882
pop ebx
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x104e], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x104e]
mov word [ebp - 0x238], dx
mov eax, dword [ebp - 0xcd0]
mov cx, word [eax]
mov word [ebp - 0x1050], cx
mov edx, dword [ebp - 0xcd0]
add edx, 2
mov dword [ebp - 0xcd0], edx
mov ax, word [ebp - 0x1050]
mov word [ebp - 0x4c], ax
push edi
sub edi, 0x7002
sub edi, 0x8c31
xor edi, 0x3a84
pop edi
push eax
call 0x408aba
add byte [esi + esi + 0x43], cl
cmp edi, dword [ecx]
xor esi, dword [ebx]
add esp, 4
add al, 0x81
call 0x414559
add eax, 0xd38c
pop eax
movzx ecx, word [ebp - 0x4c]
test ecx, ecx
jne 0x408ae7
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x4c]
sub edx, eax
mov dword [ebp - 0x1618], edx
jmp 0x408b41
movzx ecx, word [ebp - 0x238]
movzx edx, word [ebp - 0x4c]
cmp ecx, edx
je 0x408a0f
movzx eax, word [ebp - 0x238]
xor eax, 0x20
movzx ecx, word [ebp - 0x4c]
cmp eax, ecx
je 0x408a0f
movzx edx, word [ebp - 0x238]
movzx eax, word [ebp - 0x4c]
cmp edx, eax
jge 0x408b2b
mov dword [ebp - 0x1614], 0xffffffff
jmp 0x408b35
mov dword [ebp - 0x1614], 1
mov ecx, dword [ebp - 0x1614]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x408b8a
push ecx
or ecx, 0x15d40
xor ecx, 0xeee9
pop ecx
push eax
push esi
add esp, 4
xor eax, 0xef3e
xor eax, 0x197a
add eax, 0x17dfa
pop eax
push edi
push ecx
add esp, 4
and edi, 0x16bd8
pop edi
mov edx, dword [ebp - 0x510]
mov dword [ebp - 0x300], edx
jmp 0x408bf2
push edi
jmp 0x408b94
pop es
pop edi
push ecx
push ebx
add esp, 4
jmp 0x408ba2
add ecx, 0xf2c5
call 0x408bb8
add byte [ebp + ecx*2 + 0x41], al
dec eax
aaa
inc eax
cmp al, 0x40
dec eax
xor eax, 0x5904c483
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
cmp edx, dword [ebp - 0xcd4]
je 0x408be8
mov eax, dword [ebp - 0x510]
cmp dword [eax + 0x30], 0
jne 0x4089b3
mov dword [ebp - 0x300], 0
push edx
push esi
add esp, 4
add edx, 0x11db1
sub edx, 0x8046
sub edx, 0x14214
or edx, 0x8bd8
pop edx
push esi
add esi, 0x66ea
pop esi
push ecx
push edi
add esp, 4
jmp 0x408c23
pop ecx
cmp dword [ebp - 0x300], 0
jne 0x4094f7
mov ecx, 0x6b
mov word [ebp - 0x1794], cx
mov edx, 0x65
mov word [ebp - 0x1792], dx
mov eax, 0x72
mov word [ebp - 0x1790], ax
mov ecx, 0x6e
mov word [ebp - 0x178e], cx
mov edx, 0x65
mov word [ebp - 0x178c], dx
mov eax, 0x6c
mov word [ebp - 0x178a], ax
mov ecx, 0x33
mov word [ebp - 0x1788], cx
mov edx, 0x32
mov word [ebp - 0x1786], dx
invalid
push ecx
push edx
add esp, 4
xor ecx, 0x230b
pop ecx
push esi
add esi, 0xa25d
pop esi
push ecx
push eax
add esp, 4
or ecx, 0x5706
xor ecx, 0x2003
or ecx, 0x11874
or ecx, 0x4429
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19d0], edx
mov eax, dword [ebp - 0x19d0]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19d4], ecx
mov edx, dword [ebp - 0x19d4]
mov dword [ebp - 0x1674], edx
push ebx
push eax
add esp, 4
les eax, [ecx + eax*4]
jecxz 0x409552
lodsd eax, dword [esi]
add byte [eax], al
jmp 0x409563
pop ebx
push eax
push ebx
add esp, 4
add al, 0xeb
invalid
jmp 0x409576
sub eax, 0x16366
xor eax, 0x15c9a
pop eax
cmp dword [ebp - 0x1674], 0
jne 0x40959b
mov eax, dword [ebp - 0x1674]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xcf0], edx
push edi
push esi
add esp, 4
call 0x4095be
add byte [edi], dh
xor eax, dword [ebx + 0x39]
inc ecx
cmp dword [ebx + 0x565f04c4], eax
and esi, 0x57b4
jmp 0x4095d2
or esi, 0xc04b
xor esi, 0xc32
pop esi
cmp dword [ebp - 0xcf0], 0
jne 0x4095f7
mov dword [ebp - 0x300], 0
jmp 0x409842
mov eax, dword [ebp - 0xcf0]
mov dword [ebp - 0x518], eax
push eax
add eax, 0x3909
and eax, 0x3d86
pop eax
push ecx
push eax
add esp, 4
call 0x409625
add byte [0x47483d45], dh
xor eax, 0x834b4b35
les eax, [ecx + eax*4]
jmp 0x40c980
push ebx
or ebx, 0x841b
pop ebx
push ecx
push esi
add esp, 4
and ecx, 0x157d3
call 0x409865
or eax, dword [eax]
add byte [eax], al
add byte [ebp + 0x48], al
aaa
inc edi
dec edi
aas
dec ebp
xor eax, dword [ebx - 0x7d]
les eax, [ecx + eax*4]
invalid
loope 0x409856
lodsd eax, dword [esi]
add byte [eax], al
jmp 0x409873
pop ecx
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x358], eax
push eax
call 0x409894
add byte [edx + 0x47], al
push eax
inc edx
inc edx
dec esp
dec ecx
xor ecx, dword [edx + 0x44]
add esp, 4
pop eax
push edx
jmp 0x4098a2
pop edx
push edx
push ebx
add esp, 4
or edx, 0x15e6e
or edx, 0x114ad
pop edx
mov dword [ebp - 0x79c], 0
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x4098e5
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], edx
jmp 0x409bd6
mov eax, dword [ebp - 0x1684]
mov ecx, dword [ebp - 0x358]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x1688], ecx
jne 0x40990d
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], edx
jmp 0x409bd6
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x1688]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 0
jne 0x40993f
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], ecx
jmp 0x409bd6
mov edx, dword [ebp - 0x358]
add edx, dword [ebp - 0x168c]
mov dword [ebp - 0x790], edx
jne 0x409964
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], eax
jmp 0x409bd6
mov ecx, dword [ebp - 0x790]
mov edx, dword [ebp - 0x358]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x19d8], edx
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x358]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x19dc], ecx
mov edx, dword [ebp - 0x790]
mov eax, dword [ebp - 0x358]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x19e0], eax
mov dword [ebp - 0x794], 0
jmp 0x4099be
mov ecx, dword [ebp - 0x794]
add ecx, 1
mov dword [ebp - 0x794], ecx
mov edx, dword [ebp - 0x790]
mov eax, dword [ebp - 0x794]
cmp eax, dword [edx + 0x18]
jae 0x409bca
mov ecx, dword [ebp - 0x794]
mov edx, dword [ebp - 0x19d8]
mov eax, dword [ebp - 0x358]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x794]
mov edx, dword [ebp - 0x19dc]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x19e0]
mov edx, dword [ebp - 0x358]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x19e4], edx
mov dword [ebp - 0x1d4], 0
jmp 0x409a2e
mov eax, dword [ebp - 0x1d4]
add eax, 1
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x798]
add ecx, dword [ebp - 0x1d4]
movsx edx, byte [ecx]
test edx, edx
je 0x409ae0
mov eax, dword [ebp - 0x1d4]
movsx ecx, byte [ebp + eax - 0x9dc]
test ecx, ecx
je 0x409ae0
push esi
jmp 0x409a62
sub esi, 0x99a4
or esi, 0xce2b
pop esi
push ecx
push ecx
add esp, 4
or ecx, 0xa0b5
and ecx, 0x16eb8
xor ecx, 0x17187
or ecx, 0x2c59
pop ecx
mov edx, dword [ebp - 0x798]
add edx, dword [ebp - 0x1d4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1d4]
movsx edx, byte [ebp + ecx - 0x9dc]
cmp eax, edx
je 0x409ad2
mov eax, dword [ebp - 0x798]
add eax, dword [ebp - 0x1d4]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x1d4]
movsx eax, byte [ebp + edx - 0x9dc]
cmp ecx, eax
jne 0x409ad9
jmp 0x409a1f
jmp 0x409ae0
push ebx
push eax
add esp, 4
jmp 0x409aeb
sub ebx, 0x6883
xor ebx, 0x1790b
pop ebx
push edx
add edx, 0x6666
jmp 0x409b05
add edx, 0x45bd
add edx, 0x1de9
pop edx
mov ecx, dword [ebp - 0x798]
add ecx, dword [ebp - 0x1d4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1d4]
movsx ecx, byte [ebp + eax - 0x9dc]
cmp edx, ecx
jne 0x409b3f
mov dword [ebp - 0xcf4], 0
jmp 0x409bae
push edx
push ebx
add esp, 4
sub edx, 0xf1fe
jmp 0x409b50
add edx, 0x80a9
pop edx
push edi
push eax
add esp, 4
add edi, 0x17402
pop edi
push ecx
and ecx, 0xf551
sub ecx, 0x9979
pop ecx
mov edx, dword [ebp - 0x798]
add edx, dword [ebp - 0x1d4]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x1d4]
movsx edx, byte [ebp + ecx - 0x9dc]
or edx, 0x20
cmp eax, edx
jge 0x409ba4
mov dword [ebp - 0xcf4], 0xffffffff
jmp 0x409bae
mov dword [ebp - 0xcf4], 1
cmp dword [ebp - 0xcf4], 0
jne 0x409bc5
mov eax, dword [ebp - 0x19e4]
mov dword [ebp - 0x51c], eax
jmp 0x409bd6
jmp 0x4099af
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0xad4], edx
push ecx
push ebx
add esp, 4
sub ecx, 0x14ef1
sub ecx, 0x73ef
pop ecx
push ecx
call 0x409c04
add byte [ebx], dh
inc ebx
cmp eax, 0x4c4f3b46
cmp ecx, dword [edi + 0x4c]
cmp byte [ebx - 0x3e7efb3c], al
push edi
xchg ebp, eax
invalid