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

Disassembly:
push esi
xor esi, 0x597a
sub esi, 0x15da6
or esi, 0xaae4
jmp 0x409782
pop esi
push eax
push edx
add esp, 4
or eax, 0x9393
or eax, 0x6cbc
add eax, 0x9751
pop eax
lea eax, [ebp - 0x17c8]
mov dword [ebp - 0xce8], eax
mov ecx, dword [ebp - 0x444]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xce4], edx
xor eax, eax
mov word [ebp - 0x1cc], ax
xor ecx, ecx
mov word [ebp - 0x38], cx
push esi
jmp 0x4097cc
or esi, 0x136d7
pop esi
push eax
and eax, 0x28b4
pop eax
push esi
push eax
add esp, 4
and esi, 0xc815
call 0x4097f3
add byte [ebp + 0x3b], cl
cmp eax, dword [ebx + 0x4e]
aas
inc ebx
add esp, 4
pop esi
mov edx, dword [ebp - 0xce4]
mov ax, word [edx]
mov word [ebp - 0x106a], ax
mov ecx, dword [ebp - 0xce4]
add ecx, 2
mov dword [ebp - 0xce4], ecx
mov dx, word [ebp - 0x106a]
mov word [ebp - 0x1cc], dx
mov eax, dword [ebp - 0xce8]
mov cx, word [eax]
mov word [ebp - 0x106c], cx
mov edx, dword [ebp - 0xce8]
add edx, 2
mov dword [ebp - 0xce8], edx
invalid
invalid
jmp dword [esi - 0x75]
test dword [edi + ebp*8 - 0x76990001], edx
inc ebp
enter 0x5652, 0xffffffffffffff83
les eax, [ecx + eax*4]
loop 0x409839
jp 0x409859
add byte [ecx + 0xf2a7f2], al
add byte [ecx + 0x154cdea], al
add byte [edx + 0x52], bl
push ecx
add esp, 4
or edx, 0x50b7
jmp 0x409879
or edx, 0xb2bb
pop edx
movzx ecx, word [ebp - 0x38]
test ecx, ecx
jne 0x40989d
movzx edx, word [ebp - 0x1cc]
movzx eax, word [ebp - 0x38]
sub edx, eax
mov dword [ebp - 0x1648], edx
jmp 0x4098f7
movzx ecx, word [ebp - 0x1cc]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
je 0x4097c5
movzx eax, word [ebp - 0x1cc]
xor eax, 0x20
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4097c5
movzx edx, word [ebp - 0x1cc]
movzx eax, word [ebp - 0x38]
cmp edx, eax
jge 0x4098e1
mov dword [ebp - 0x1644], 0xffffffff
jmp 0x4098eb
mov dword [ebp - 0x1644], 1
mov ecx, dword [ebp - 0x1644]
mov dword [ebp - 0x1648], ecx
cmp dword [ebp - 0x1648], 0
jne fcn.00409940
push eax
xor eax, 0x17c7e
and eax, 0x1188b
call 0x40991c
add byte [edx], bh
inc edi
inc ebx
dec esp
dec ecx
inc ecx
cmp dword [ebx - 0xf7efb3c], eax
pcmpeqb mm0, qword [ecx]
add byte [eax + 0x57], bl
push ebx
add esp, 4
add edi, 0xc32f
pop edi
mov edx, dword [ebp - 0x444]
mov dword [ebp - 0x784], edx
jmp 0x4099a8
push edx
push esi
add esp, 4
add edx, 0xf868
add edx, 0x1533c
add edx, 0x10e88
pop edx
push edi
xor edi, 0x12696
or edi, 0x41b7
and edi, 0xebf7
add edi, 0x17bca
pop edi
mov eax, dword [ebp - 0x444]
mov ecx, dword [eax]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x444]
cmp edx, dword [ebp - 0xcec]
je 0x40999e
mov eax, dword [ebp - 0x444]
cmp dword [eax + 0x30], 0
jne 0x409769
mov dword [ebp - 0x784], 0
push ebx
xor ebx, 0x3895
or ebx, 0x7a19
call 0x4099c2
add byte [ebx], dh
inc esp
dec ecx
cmp byte [eax + 0x34], al
aas
add esp, 4
sub ebx, 0xde64
pop ebx
push edi
sub edi, 0xc548
or edi, 0x35c4
pop edi
cmp dword [ebp - 0x784], 0
jne 0x409a24
push edx
push edx
add esp, 4
and edx, 0x12fdb
jmp 0x4099f7
pop edx
push eax
or eax, 0x11d8
jmp 0x409a08
or eax, 0x13e73
and eax, 0x7101
pop eax
mov dword [ebp - 0xa80], 0
jmp 0x40a54c
push edx
jmp 0x409a2c
call 0x409a3a
add byte [eax], bh
dec edx
dec edx
dec edx
push eax
xor ecx, dword [esi + 0x48]
add esp, 4
and edx, 0x51a5
pop edx
push edi
push eax
add esp, 4
or edi, 0x37bf
and edi, 0x12cc7
out 0xc7, eax
sub al, 1
add byte [edi - 0x75], bl
lea edi, [eax + edi*8 - 1]
dec dword [ebx - 0x6a76e7af]
cld
invalid
inc edi
test dword [eax + edi*8 - 1], ebp
inc dword [eax]
add byte [eax], al
add byte [ebx - 0x39b7b], cl
dec dword [ecx - 0x164b7b]
inc dword [ebx - 0x164b43]
inc dword [eax]
jne 0x409a95
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x40c], ecx
jmp 0x409d86
mov edx, dword [ebp - 0x164c]
mov eax, dword [ebp - 0x39c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x16a0], eax
jne 0x409abd
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x40c], ecx
jmp 0x409d86
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x16a0]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x16a4], edx
cmp dword [ebp - 0x16a4], 0
jne 0x409aef
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x40c], eax
jmp 0x409d86
mov ecx, dword [ebp - 0x39c]
add ecx, dword [ebp - 0x16a4]
mov dword [ebp - 0x788], ecx
jne 0x409b14
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x40c], edx
jmp 0x409d86
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x39c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19dc], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x39c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1d70], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x39c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19e4], edx
mov dword [ebp - 0x78c], 0
jmp 0x409b6e
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 0x409d7a
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19dc]
mov edx, dword [ebp - 0x39c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1d70]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19e4]
mov ecx, dword [ebp - 0x39c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19e8], ecx
mov dword [ebp - 0x15c], 0
jmp 0x409bde
mov edx, dword [ebp - 0x15c]
add edx, 1
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x15c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x409c90
mov edx, dword [ebp - 0x15c]
movsx eax, byte [ebp + edx - 0x8cc]
test eax, eax
je 0x409c90
push edi
or edi, 0x9bc8
add edi, 0xf091
and edi, 0x11088
pop edi
push eax
push edx
add esp, 4
jmp 0x409c2a
call 0x409c39
add byte [ecx + 0x36], cl
dec ebp
xor eax, dword [eax + 0x50]
dec edx
inc edx
inc ebx
add esp, 4
pop eax
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x15c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x15c]
movsx ecx, byte [ebp + eax - 0x8cc]
cmp edx, ecx
je 0x409c82
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x15c]
movsx edx, byte [ebp + ecx - 0x8cc]
cmp eax, edx
jne 0x409c89
jmp 0x409bcf
jmp 0x409c90
push edx
push edx
add esp, 4
sub edx, 0x13f6d
pop edx
push edi
push eax
add esp, 4
and edi, 0x719f
or edi, 0x169b
sub edi, 0xd7fc
xor edi, 0xad1c
pop edi
push ecx
xor ecx, 0x84e2
pop ecx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x15c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x15c]
movsx eax, byte [ebp + edx - 0x8cc]
cmp ecx, eax
jne 0x409cef
mov dword [ebp - 0xcf0], 0
jmp 0x409d5e
push ebx
call 0x409cfe
add byte [ecx + 0x48], cl
xor eax, 0x4e353d4c
xor al, 0x83
les eax, [ecx + eax*4]
retf
cmp dword [ebp - 0xcf0], 0
jne 0x409d75
mov edx, dword [ebp - 0x19e8]
mov dword [ebp - 0x40c], edx
jmp 0x409d86
jmp 0x409b5f
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x40c], 0
je 0x409e61
add byte [eax], al
invalid
push edi
and edi, 0x6f1
call 0x409da9
add byte [eax], bh
xor cl, byte [esi + 0x3a]
dec edi
inc esi
dec esi
inc edi
add esp, 4
and edi, 0x42ca
pop edi
push ebx
push ebx
add esp, 4
add ebx, 0x6633
and ebx, 0x17a9
pop ebx
mov ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x19ec], ecx
push eax
add eax, 0x1449f
xor eax, 0x1033b
pop eax
push eax
push ecx
add esp, 4
sub eax, 0x4c67
or eax, 0x139c
and eax, 0x10493
pop eax
push esi
push ecx
add esp, 4
add esi, 0x15ce3
pop esi
mov edx, dword [ebp - 0x19ec]
mov dword [ebp - 0x19f0], edx
lea eax, [ebp - 0x1770]
push eax
call dword [ebp - 0x19f0]
test eax, eax
jne 0x409e61
push edx
push ecx
add esp, 4
xor edx, 0x31f1
or edx, 0xc3e5
call 0x409e3e
add byte [edi], bh
xor eax, 0x47404d4b
dec ecx
add esp, 4
pop edx
push ecx
xor ecx, 0x11915
pop ecx
push ecx
and ecx, 0x16052
pop ecx
mov dword [ebp - 0xa80], 0
jmp 0x40a54c
push esi
push edi
add esp, 4
xor esi, 0x7bcb
call 0x409e78
add byte [0x444e3b4c], dh
cmp eax, 0x8104c483
invalid
push eax
xor eax, 0x1206d
pop eax
push ecx
push ebx
add esp, 4
or ecx, 0x4962
jmp 0x40a566
call 0x40a573
add byte [0x4d414549], bh
inc eax
inc ebp
add esp, 4
jmp 0x40a57d
pop ecx
mov edx, dword [ebp - 0xa80]
mov dword [ebp - 0x1a0c], edx
lea eax, [ebp - 0xd04]
push eax
push 0x40
mov ecx, dword [ebp - 0x16c0]
push ecx
mov edx, dword [ebp - 0x408]
push edx
call dword [ebp - 0x1a0c]
test eax, eax
jne 0x40a5f1
push eax
call 0x40a5bc
add byte [eax + 0x3d], cl
dec esp
inc ebx
aas
cmp edi, dword [ebx]
dec esp
xor eax, 0xeb04c483
add esi, dword [edx + ecx*2]
inc esp
pop eax
push eax
push esi
add esp, 4
or eax, 0x10b8
or eax, 0x5da7
xor eax, 0x12729
pop eax
mov eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x1a10], eax
push 0
call dword [ebp - 0x1a10]
mov ecx, dword [ebp - 0x1a14]
mov dword [ebp - 0x7a8], ecx
jmp 0x40a60e
mov edx, dword [ebp - 0x7a8]
add edx, 1
mov dword [ebp - 0x7a8], edx
mov eax, dword [ebp - 0x7a8]
cmp eax, dword [ebp - 0xae8]
jae 0x40a66a
push edi
or edi, 0xf2db
add edi, 0xd2d4
or edi, 0x11690
pop edi
push eax
call 0x40a641
add byte [ebx], bh
xor eax, 0x4f50493e
cmp dword [edi + 0x48], eax
cmp dword [ebx + 0x525804c4], eax
jmp 0x40a64d
pop edx
movzx ecx, byte [ebp - 0x3c2]
mov edx, dword [ebp - 0x7a8]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x7a8]
mov byte [ecx], al
jmp 0x40a5ff
mov edx, dword [ebp - 0xa80]
mov dword [ebp - 0x1a18], edx
lea eax, [ebp - 0xd04]
push eax
mov ecx, dword [ebp - 0xd04]
push ecx
mov edx, dword [ebp - 0x16c0]
push edx
mov eax, dword [ebp - 0x408]
push eax
call dword [ebp - 0x1a18]
test eax, eax
jne 0x40a6e2
push eax
push ecx
add esp, 4
or eax, 0xdfd7
call 0x40a6b7
add byte [edx], dh
inc ebp
dec ebx
inc ebx
dec edx
dec esi
xor eax, dword [ebp + 0x48]
push eax
add esp, 4
xor eax, 0x548e
pop eax
push edx
jmp 0x40a6c7
and edx, 0x12252
pop edx
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x1a1c], ecx
push 0
call dword [ebp - 0x1a1c]
push esi
and esi, 0xb5d4
pop esi
push ecx
push ebx
add esp, 4
add ecx, 0xcc62
pop ecx
push eax
push eax
add esp, 4
call 0x40a709
add al, 0xe8
or dword [eax], eax
add byte [eax], al
add byte [esi], dh
xor al, byte [esi + 0x34]
cmp al, 0x36
xor bh, byte [ebx]
add esp, 4
pop eax
push ebx
jmp 0x40a713
pop ebx
push ecx
mov ecx, 0x10101010
pop ecx
push ecx
mov ecx, 0xffff03ff
pop ecx
pop edx
pop ecx
xchg bh, al
pop es
test dl, ch
and dword [esp + eax], edi
add eax, dword [edx + edi*8 + 0x30350d6]
test dl, bh
sbb dword [edx], ecx
add al, 3
bound edx, qword [esp + eax*4 - 0x34]
xor dword [ecx - 0x1b7bfcfd], edx
jecxz 0x40a779
add eax, dword [ebx]
pop esp
pop edx
push esp
xchg bh, al
pop es
test dl, cl
jecxz 0x40a6fa
add eax, dword [ebx]
bound edx, qword [ebx + 0x53]
xchg bh, al
pop es
test bl, dh
idiv byte [edx + 3]
add eax, dword [ebx + ecx*8 + 0x30412f0]
test bl, dh
out dx, eax
dec edi
add al, 3
test bl, cl
movsd dword es:[edi], dword [esi]
xor eax, 0x565b0303
test dh, cl
push cs
or al, 4
add eax, dword [esi + esi*8 + 0x303275a]
test dh, dh
pop edx
daa
add eax, dword [ebx]
test dh, ch
sbb eax, 0x5e03034d
mov ebp, 0x303036e
imul ecx, dword [eax + ebx*4 + 0x202f167], 0x30368bb
add ebp, dword [ecx - 0x74]
mov byte [ecx - 0xf], ch
add al, byte [edx]
mov esp, 0x3030375
imul ecx, dword [eax + edx*4 + 0x202f16b], 0x30371bd
add ebp, dword [ecx - 0x74]
cwde
insd dword es:[edi], dx
int1
add al, byte [edx]
mov ebx, 0x3030368
imul ecx, dword [eax + ecx*4 + 0x202f16f], 0x3036fbc
add ebp, dword [ecx - 0x74]
mov byte [edi - 0xf], ch
add al, byte [edx]
mov esp, 0x303036f
imul ecx, dword [eax + edx*4 + 0x202f171], 0x30336bd
add ebp, dword [ecx - 0x74]
cwde
jae 0x40a7c9
nop
jno 0x40a7bd
add al, byte [edx]
mov ebp, 0x3030336
imul ecx, dword [eax + ebx*4 + 0x202f173], 0x30335bb
add ebp, dword [ecx - 0x74]
add al, byte [edx]
mov ebx, 0x3030335
imul ecx, dword [eax + ecx*4 + 0x202f175], 0x30331bc
add ebp, dword [ecx - 0x74]
mov byte [ebp - 0xf], dh
add al, byte [edx]
mov esp, 0x3030331
imul ecx, dword [eax + edx*4 + 0x202f177], 0x30367bd
add ebp, dword [ecx - 0x74]
cwde
jns 0x40a7ed
nop
ja 0x40a7e1
add al, byte [edx]
mov ebp, 0x3030367
imul ecx, dword [eax + ebx*4 + 0x202f179], 0x3036fbb
add ebp, dword [ecx - 0x74]
add al, byte [edx]
mov ebx, 0x303036f
imul ecx, dword [eax + ecx*4 + 0x202f17b], 0x3036fbc
mov byte [ebx - 0xf], bh
add al, byte [edx]
mov esp, 0x303036f
imul ecx, dword [eax + edx*4 + 0x202f17d], 0x8c69d536
cwde
jg 0x40a80e
add ebp, dword [ecx - 0x74]
nop
jge 0x40a805
add al, byte [edx]
aad 0x69
mov word [eax + 0x202f17f], ds
add al, byte [edx]
pop ecx
test cl, ch
movsd dword es:[edi], dword [esi]
inc esi
add al, 3
out dx, al
pop es
inc ebx
dec ebp
cmp byte [eax - 0x7c], cl
stc
xchg esp, eax
adc eax, 0x5a610304
jmp 0x40a841
xchg bh, al
pop es
test dl, ch
fsub st(2), st(0)
add eax, dword [ebx]
test dl, dh
iretd