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

Disassembly:
push eax
push ecx
add esp, 4
xor eax, 0x34cd
xor eax, 0x1254c
add eax, 0xa5c7
jmp 0x409441
pop eax
push ebx
push edx
add esp, 4
sub ebx, 0x9fc2
sub ebx, 0x123f9
pop ebx
lea eax, [ebp - 0x1790]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ebx
and ebx, 0x1377e
jmp 0x40948d
or ebx, 0x3b50
pop ebx
push ecx
jmp 0x40949a
call 0x4094a6
add byte [edi + 0x4e], cl
xor al, 0x34
inc edx
dec ebx
add esp, 4
xor ecx, 0x21f6
pop ecx
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push edx
and edx, 0xbdd2
pop edx
push ebx
sub ebx, 0xb262
pop ebx
push eax
add eax, 0x1c5e
pop eax
push eax
add eax, 0x185c9
add eax, 0xd7e7
sub eax, 0x96fe
and eax, 0x8815
pop eax
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x409556
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1668], edx
jmp 0x4095b0
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x40947e
invalid
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
ror dword [edi], 0x84
invalid
invalid
invalid
invalid
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x40959a
mov dword [ebp - 0x1624], 0xffffffff
mov dword [ebp - 0x1624], 1
mov ecx, dword [ebp - 0x1624]
mov dword [ebp - 0x1668], ecx
cmp dword [ebp - 0x1668], 0
jne 0x4095f9
push edx
add edx, 0xbb7c
jmp 0x4095c6
pop edx
push edx
jmp 0x4095cd
pop edx
push edx
sub edx, 0x8a16
pop edx
push eax
jmp 0x4095de
add eax, 0x3b54
sub eax, 0x16983
pop eax
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x409661
push esi
call 0x409606
add byte [edi + 0x47], al
cmp al, byte [ecx + 0x4d]
cmp al, byte [ebx + 0xbe804c4]
add byte [eax], al
add byte [eax], al
dec esp
dec eax
push eax
xor eax, 0x453c374b
xor al, 0x4f
add esp, 4
pop esi
push ecx
sub ecx, 0x131e5
xor ecx, 0xc1c9
pop ecx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x409657
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x409422
mov dword [ebp - 0x774], 0
push ebx
xor ebx, 0xd0c5
add ebx, 0x735
jmp 0x409675
pop ebx
push eax
push ecx
add esp, 4
and eax, 0xc44
jmp 0x409686
xor eax, 0x4733
add eax, 0x9e7e
pop eax
cmp dword [ebp - 0x774], 0
jne 0x4096dd
push ecx
xor ecx, 0x2960
xor ecx, 0x18690
pop ecx
push edx
push edi
add esp, 4
or edx, 0x177cf
call 0x4096c4
add byte [esi + 0x44], cl
dec esi
cmp edx, dword [eax + 0x43]
cmp dword [ecx + 0x4c], eax
add esp, 4
sub edx, 0x11775
pop edx
mov dword [ebp - 0xab4], 0
jmp 0x40a205
push esi
push eax
add esp, 4
jmp 0x4096ea
xor esi, 0xa645
add esi, 0xc3f7
pop esi
push edx
push esi
add esp, 4
or edx, 0x10cfa
add edx, 0x11160
sub edx, 0x7c6
pop edx
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x40974e
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x409a3f
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x409776
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x409a3f
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x4097a8
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x409a3f
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x4097cd
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x409a3f
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19a4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19ac], edx
mov dword [ebp - 0x77c], 0
jmp 0x409827
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x409a33
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a4]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19ac]
test dword [esi - 1], edx
dec dword [ebx - 0x3a373]
inc dword [ebx]
or al, 0x90
mov dword [ebp - 0x19b0], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x409897
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x409949
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x409949
push edx
push edx
add esp, 4
sub edx, 0x82b5
xor edx, 0x17458
sub edx, 0x53f5
pop edx
push esi
and esi, 0x16550
sub esi, 0xc977
and esi, 0x17eb0
xor esi, 0x64eb
pop esi
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x40993b
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x409942
jmp 0x409888
jmp 0x409949
push edi
push eax
add esp, 4
jmp 0x409955
pop edi
push ebx
add ebx, 0xce50
ret
push eax
into
add byte [eax], al
and ebx, 0x78ef
add ebx, 0xf48c
call 0x409977
add byte [edi + 0x47], cl
aas
inc ebp
xor cl, byte [edx + 0x43]
inc ebx
add esp, 4
pop ebx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x4099a8
mov dword [ebp - 0xcd4], 0
jmp 0x409a17
push esi
and esi, 0x113c4
add esi, 0x11824
pop esi
push eax
add eax, 0x171be
xor eax, 0x11c5b
sub eax, 0x5ab7
call 0x4099d6
add byte [eax + 0x41], dl
xor eax, dword [esi + 0x48]
xor bh, byte [eax]
add esp, 4
pop eax
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x409a0d
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x409a17
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x409a2e
mov edx, dword [ebp - 0x19b0]
mov dword [ebp - 0x3f8], edx
jmp 0x409a3f
jmp 0x409818
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x409b1a
push esi
and esi, 0xc562
and esi, 0x1126e
pop esi
push edi
push ebx
add esp, 4
jmp 0x409a66
pop edi
push ebx
push ecx
add esp, 4
call 0x409a7a
add byte [ecx + 0x4a], cl
dec edx
aaa
inc edx
cmp byte [ebp - 0x7d], cl
les eax, [ebx + ebx*2]
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x19b4], ecx
push esi
push edx
add esp, 4
sub esi, 0x15af9
xor esi, 0x118f5
pop esi
push ecx
sub ecx, 0x55c2
and ecx, 0x12844
call 0x409ab8
add byte [0x3c3b334a], dh
dec ebp
dec ebp
push eax
add esp, 4
pop ecx
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x19b8], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x19b8]
test eax, eax
jne 0x409b1a
push ecx
call 0x409aea
add byte [ecx], bh
dec edi
dec esi
aaa
dec ecx
dec esi
xor al, 0x4f
aaa
add esp, 4
pop ecx
push edx
or edx, 0x57bc
add edx, 0x15e17
add edx, 0x180e
jmp 0x409b0a
pop edx
mov dword [ebp - 0xab4], 0
jmp 0x40a205
push edi
add edi, 0x12d29
call 0x409b2f
add byte [esi], dh
dec ebx
inc esp
cmp byte [edx], bh
inc ebx
dec ebx
dec esp
add esp, 4
pop edi
push ecx
and ecx, 0xf45d
jmp 0x409b3f
pop ecx
push esi
push ebx
add esp, 4
xor esi, 0x16f09
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x167c], ecx
push ecx
add ecx, 0x6380
add ecx, 0xc7ca
xor ecx, 0x92bc
sub ecx, 0x60d
pop ecx
push edx
push esi
add esp, 4
and edx, 0x8c0c
pop edx
push ebx
push ecx
add esp, 4
xor ebx, 0x10f3a
pop ebx
cmp dword [ebp - 0x167c], 0
jne 0x409bbe
mov dword [ebp - 0x2fc], 0
jmp 0x409e65
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push edi
and edi, 0x61c
call 0x409be5
add byte [edi], dh
cmp dword [eax + 0x34], eax
dec ecx
xor eax, 0x4c48346
and edi, 0x13681
pop edi
push eax
push ecx
add esp, 4
jmp 0x409bfb
sub eax, 0xbe23
pop eax
cmp dword [ebp - 0xce0], 0
jne 0x409c1a
mov dword [ebp - 0x2fc], 0
jmp 0x409e65
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx