Function at 0x409cd0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov edi, dword [ebp + 8]
mov dword [esp + 0x74], ecx
add edi, dword [ecx + 0x60]
mov dword [esp + 0x78], 0x7f76748b
mov dword [esp + 0x7c], 0xbc7c7369
mov dword [esp + 0x80], 0x607c4a92
mov dword [esp + 0x84], 0x6b67a98c
mov dword [esp + 0x88], 0x7b797a6a
mov dword [esp + 0x8c], 0x63627a61
mov dword [esp + 0x90], 0x6aaf65af
mov dword [esp + 0x94], 0x8a736f74
mov dword [esp + 0x98], 0x3032369a
mov word [esp + 0x9c], 0x2134
mov dword [esp + 0x9e], 0
mov word [esp + 0xa2], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x2b
ja 0x409dd2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + ecx + 0x78]
lea esi, [eax - 0x320e6a1f]
lea ecx, [eax + edx]
add ecx, 0xcdf195e1
and esi, edx
add eax, 0xe1
and eax, edx
add eax, esi
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add al, 0xd9
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x78], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x2c
jb 0x409d80
mov dword [esp + 8], 0xb1c1832
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 0x409e4b
nop
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 + ecx]
add edx, 0x9a45f282
add eax, 0x9a45f282
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
add al, 0x72
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x409e10
mov dword [esp + 0x18], 0x5c5a1619
mov dword [esp + 0x1c], 0x58586a62
mov dword [esp + 0x20], 0x47b04a69
mov dword [esp + 0x24], 0x404f40b3
mov dword [esp + 0x28], 0x784fbbb4
mov dword [esp + 0x2c], 0xbe692725
mov dword [esp + 0x30], 0x3d37c540
mov dword [esp + 0x34], 0x3c107ac6
mov dword [esp + 0x38], 0xcec9c9c3
mov dword [esp + 0x3c], 0xce37c931
mov dword [esp + 0x40], 0x25601b30
mov dword [esp + 0x44], 0x682bd7d3
mov dword [esp + 0x48], 0x28dc2a22
mov dword [esp + 0x4c], 0x2c226d17
mov dword [esp + 0x50], 0x512f1621
mov dword [esp + 0x54], 0x10181e14
mov dword [esp + 0x58], 0x1d582454
mov dword [esp + 0x5c], 0x111b1111
mov dword [esp + 0x60], 0x3c070e1d
mov word [esp + 0x64], 0x6540
mov word [esp + 0x6e], 0
mov dword [esp + 0x6a], 0
mov dword [esp + 0x66], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x57
ja 0x409f5e
nop
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 + 0x18]
lea edx, [eax + ecx]
add edx, 0x34b47e27
add eax, 0x34b47e27
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 0xef
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x58
jb 0x409f20
mov eax, dword [ebp + 0xc]
movzx ecx, byte [esp + 0x18]
mov edx, edi
test cl, cl
je 0x409f8b
lea esi, [esp + 0x19]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x409f80
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x409fab
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 0x409fa0
mov byte [edx], 0
movzx eax, byte [esp + 8]
test al, al
je 0x409fcb
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 0x409fc0
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [edx], 0
movzx eax, byte [esp + 0x78]
test al, al
mov dword [esp + 0x70], edi
je 0x409ffb
lea ecx, [esp + 0x79]
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 0x409ff0
mov byte [edx], 0
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
shr ecx, 1
and ecx, 1
mov ebx, eax
mov edi, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [ebp + 0x14]
test bl, 1
je 0x40a03d
mov ecx, ebx
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x18], 0x1e1f0301
mov dword [esp + 0x1c], 0x222e5456
mov dword [esp + 0x20], 0x522f5050
mov dword [esp + 0x24], 0x586d5d68
mov dword [esp + 0x28], 0x75745855
mov dword [esp + 0x2c], 0xe9eb3045
mov word [esp + 0x30], 0xebe9
mov byte [esp + 0x32], 0xea
mov dword [esp + 0x33], 0
mov dword [esp + 0x37], 0
mov word [esp + 0x3b], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x24
mov edi, dword [esp + 0x70]
ja 0x40a0ed
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 + 0x18]
lea esi, [eax + 0x2cde82fe]
add eax, 0xfe
and eax, ecx
or esi, ecx
sub esi, eax
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x78]
add al, 0xe
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x25
jb 0x40a0b0
add edx, ebx
movzx eax, byte [esp + 0x18]
test al, al
je 0x40a10b
lea ecx, [esp + 0x19]
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40a100
mov byte [edx], 0
sub edx, edi
mov eax, dword [esp + 0x74]
add dword [eax + 0x60], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10