Function at 0x409d60
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], 0x7f76744b
mov dword [esp + 0x84], 0x3c7c7369
mov dword [esp + 0x88], 0x607c8a52
mov dword [esp + 0x8c], 0x6b67294c
mov dword [esp + 0x90], 0x7b797a6a
mov dword [esp + 0x94], 0x63627a61
mov dword [esp + 0x98], 0x6a2f652f
mov dword [esp + 0x9c], 0x4a736f74
mov dword [esp + 0xa0], 0x3032365a
mov word [esp + 0xa4], 0x2134
mov dword [esp + 0xa6], 0
mov dword [esp + 0xa9], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x2c
ja 0x409e54
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x80]
mov edx, eax
and edx, 0xc7e06301
xor eax, 0x47e06301
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0xf9
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x80], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2d
jb 0x409e10
mov dword [esp + 8], 0x6b9c98b2
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x13], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xe
ja 0x409ed3
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 - 0xc51d66e]
add eax, 0x92
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x409e90
mov dword [esp + 0x20], 0x1c1a4659
mov dword [esp + 0x24], 0x18184a32
mov dword [esp + 0x28], 0x17000a49
mov dword [esp + 0x2c], 0x100f1003
mov dword [esp + 0x30], 0xb8effb04
mov dword [esp + 0x34], 0xfec99795
mov dword [esp + 0x38], 0xfde7f5f0
mov dword [esp + 0x3c], 0xfcc0baf6
mov dword [esp + 0x40], 0xeee9e9f3
mov dword [esp + 0x44], 0xeee7e9e1
mov dword [esp + 0x48], 0xf5b0dbe0
mov dword [esp + 0x4c], 0xa8ebe7e3
mov dword [esp + 0x50], 0xc8dccaf2
mov dword [esp + 0x54], 0xccd28de7
mov dword [esp + 0x58], 0x81efc6d1
mov dword [esp + 0x5c], 0xc0d8dec4
mov dword [esp + 0x60], 0xdd98f484
mov dword [esp + 0x64], 0xc1dbc1c1
mov dword [esp + 0x68], 0xfcd7cedd
mov word [esp + 0x6c], 0xb590
mov dword [esp + 0x71], 0
mov dword [esp + 0x6e], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x54
ja 0x409fda
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + 0x6f]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0xb636a06f
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xf7
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x55
jb 0x409fa0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [esp + 0x20]
mov edx, edi
test cl, cl
je 0x409ffb
lea esi, [esp + 0x21]
mov edx, edi
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x409ff0
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x40a01b
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 0x40a010
mov byte [edx], 0
movzx eax, byte [esp + 8]
test al, al
je 0x40a03b
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 0x40a030
mov ebx, dword [ebp + 0x10]
mov byte [edx], 0
movzx ecx, byte [esp + 0x80]
test cl, cl
mov dword [esp + 0x1c], edi
je 0x40a06b
lea esi, [esp + 0x81]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40a060
mov byte [edx], 0
mov eax, dword [ebp + 0x14]
mov ecx, eax
shr ecx, 2
mov esi, ebx
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov esi, eax
and esi, 0xfffffffc
add esi, edx
mov ecx, eax
not ecx
or ecx, 0xfffffffc
add ecx, eax
add ebx, ecx
inc ebx
mov ecx, eax
shr ecx, 1
and ecx, 1
mov dword [esp + 0x78], ebx
mov edi, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
test al, 1
je 0x40a0bc
mov ecx, dword [ebp + 0x14]
and ecx, 2
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x20], 0x5e5f6361
mov dword [esp + 0x24], 0x424e9496
mov dword [esp + 0x28], 0x924f9090
mov dword [esp + 0x2c], 0x988d9d88
mov dword [esp + 0x30], 0xf5f49895
mov dword [esp + 0x34], 0x90b30e5
mov word [esp + 0x38], 0xb09
mov byte [esp + 0x3a], 0xa
mov dword [esp + 0x3f], 0
mov dword [esp + 0x3b], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x22
ja 0x40a170
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx ebx, byte [esp + eax + 0x20]
lea edi, [ecx - 0x5e6924d2]
mov esi, edi
and esi, ebx
mov eax, edi
xor eax, ebx
or edi, ebx
xor edi, eax
add ecx, 0x2e
and ecx, ebx
add ecx, edi
lea eax, [eax + esi*2]
sub eax, ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
add al, 0xbe
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x23
jb 0x40a120
add edx, dword [ebp + 0x14]
movzx eax, byte [esp + 0x20]
test al, al
je 0x40a19d
lea ecx, [esp + 0x21]
mov esi, dword [esp + 0x1c]
nop
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 0x40a190
jmp 0x40a1a1
mov esi, dword [esp + 0x1c]
mov byte [edx], 0
sub edx, esi
mov eax, dword [esp + 0x7c]
add dword [eax + 0x60], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10