Function at 0x409b60
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov edi, dword [ebp + 8]
mov dword [esp + 0x7c], ecx
add edi, dword [ecx + 0x60]
mov dword [esp + 0x80], 0x37383ee3
mov dword [esp + 0x84], 0x824a3bc5
mov dword [esp + 0x88], 0xbe424ca8
mov dword [esp + 0x8c], 0x43bff196
mov dword [esp + 0x90], 0xb3b5bc40
mov dword [esp + 0x94], 0x5b54b44d
mov dword [esp + 0x98], 0x50975d97
mov dword [esp + 0x9c], 0xa0a357ae
mov dword [esp + 0xa0], 0xfefcf850
mov word [esp + 0xa4], 0xc9fe
mov dword [esp + 0xa6], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x29
ja 0x409c5b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x80]
mov edx, eax
and edx, 0xe53a
xor eax, 0xe53a
lea eax, [eax + edx*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
add al, 0x6a
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x80], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2a
jb 0x409c10
mov dword [esp + 8], 0x8b9c98b2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x409cca
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax - 0x7105babe]
and edx, ecx
add eax, ecx
add eax, 0x8efa4542
add edx, edx
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add al, 0x32
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x409c90
mov dword [esp + 0x18], 0x3c227671
mov dword [esp + 0x1c], 0x2020120a
mov dword [esp + 0x20], 0x27282211
mov dword [esp + 0x24], 0x282f282b
mov dword [esp + 0x28], 0x602f2324
mov dword [esp + 0x2c], 0x1e317745
mov dword [esp + 0x30], 0x1d17e518
mov dword [esp + 0x34], 0x1c3852e6
mov dword [esp + 0x38], 0xee1111eb
mov dword [esp + 0x3c], 0xe07f119
mov dword [esp + 0x40], 0x5583308
mov dword [esp + 0x44], 0x4003070b
mov dword [esp + 0x48], 0x10fc120a
mov dword [esp + 0x4c], 0xecfaad37
mov dword [esp + 0x50], 0xa9cff6f9
mov dword [esp + 0x54], 0xf8f0fef4
mov dword [esp + 0x58], 0xfda0c4a4
mov dword [esp + 0x5c], 0xe9e3e9f9
mov dword [esp + 0x60], 0xdce7eefd
mov word [esp + 0x64], 0x95b8
mov dword [esp + 0x6a], 0
mov dword [esp + 0x66], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x55
ja 0x409de7
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
mov edx, eax
and edx, 0x3d91544b
xor eax, 0x3d91544b
lea edx, [eax + edx*2]
lea eax, [edx + ecx]
mov esi, ecx
not esi
or esi, edx
add esi, ecx
and edx, ecx
lea ecx, [edx + esi]
inc ecx
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp], ecx
mov eax, dword [esp]
add al, 0xf3
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x56
jb 0x409d90
mov eax, dword [ebp + 0xc]
movzx ecx, byte [esp + 0x18]
mov edx, edi
test cl, cl
je 0x409e0b
lea esi, [esp + 0x19]
mov edx, edi
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x409e00
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x409e2b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x409e20
mov byte [edx], 0
movzx eax, byte [esp + 8]
test al, al
je 0x409e4b
lea ecx, [esp + 9]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x409e40
mov esi, dword [ebp + 0x10]
mov byte [edx], 0
movzx eax, byte [esp + 0x80]
test al, al
mov dword [esp + 0x78], edi
je 0x409e7b
lea ecx, [esp + 0x81]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x409e70
mov byte [edx], 0
mov ebx, dword [ebp + 0x14]
mov ecx, ebx
shr ecx, 2
mov eax, esi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and eax, 0xfffffffc
mov ecx, esi
lea esi, [edx + eax]
add eax, ecx
mov ecx, ebx
xor ecx, 0xfffffffc
or ebx, 3
and ebx, ecx
mov ecx, ebx
shr ecx, 1
mov edi, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
mov edi, esi
mov esi, dword [esp + 0x74]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov ecx, dword [ebp + 0x14]
test cl, 1
je 0x409ed5
and ebx, 0xfffffffe
movzx eax, byte [eax + ebx]
mov ecx, dword [esp + 0x70]
mov byte [ecx + ebx], al
mov dword [esp + 0x18], 0xa4a783f9
mov dword [esp + 0x1c], 0xa8b45a58
mov dword [esp + 0x20], 0x68a7565a
mov dword [esp + 0x24], 0x52655162
mov dword [esp + 0x28], 0x797a4e6d
mov dword [esp + 0x2c], 0x9593be4d
mov word [esp + 0x30], 0x9b91
mov byte [esp + 0x32], 0xe0
mov dword [esp + 0x33], 0
mov dword [esp + 0x37], 0
mov byte [esp + 0x3b], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x23
mov edi, dword [esp + 0x78]
ja 0x409f85
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x18]
lea esi, [eax - 0x102ba2c1]
and esi, ecx
add eax, ecx
add eax, 0xefd45d3f
add esi, esi
sub eax, esi
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
add al, 0x47
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x24
jb 0x409f40
add edx, dword [ebp + 0x14]
movzx eax, byte [esp + 0x18]
test al, al
je 0x409fab
lea ecx, [esp + 0x19]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x409fa0
mov byte [edx], 0
sub edx, edi
mov eax, dword [esp + 0x7c]
add dword [eax + 0x60], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10