Function at 0x409290
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, 0xfffffff0
sub esp, 0xb0
mov eax, dword [ebp + 8]
add eax, dword [ecx + 0x60]
mov dword [esp + 0x80], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov word [esp + 0x80], 0x4bb5
mov byte [esp + 0x82], 0x44
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
cmp edx, 0x14
ja 0x40933d
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
add dl, 0xb5
xor dl, byte [esp + esi + 0x80]
add dl, 0xd
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x80], dl
inc dword [esp + 0x10]
mov edx, dword [esp + 0x10]
cmp edx, 0x15
jb 0x409310
mov dword [esp + 0x64], 0
mov word [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 0xcec8cca2
mov word [esp + 0x64], 0xc5ce
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
cmp edx, 0x19
ja 0x4093ca
nop
nop
nop
nop
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edi, byte [esp + edx + 0x60]
lea edx, [esi + edi]
add edx, 0xc2205660
add esi, 0xc2205660
and esi, edi
add esi, esi
sub edx, esi
add dl, 0x60
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x60], dl
inc dword [esp + 0x10]
mov edx, dword [esp + 0x10]
cmp edx, 0x1a
jb 0x409390
mov dword [esp + 0x10], 0xb6b8eced
mov dword [esp + 0x14], 0x4a4a181c
mov dword [esp + 0x18], 0x4f52481d
mov dword [esp + 0x1c], 0x42474e5b
mov dword [esp + 0x20], 0x1a475b5a
mov dword [esp + 0x24], 0x4035ffe1
mov dword [esp + 0x28], 0x455f4d46
mov dword [esp + 0x2c], 0x56320840
mov dword [esp + 0x30], 0x484d494b
mov dword [esp + 0x34], 0x706f796d
mov dword [esp + 0x38], 0x6d223b76
mov dword [esp + 0x3c], 0x3a7b7f7b
mov dword [esp + 0x40], 0x6a766864
mov dword [esp + 0x44], 0x7660352f
mov dword [esp + 0x48], 0x31177c65
mov byte [esp + 0x4c], 0xdc
mov dword [esp + 0x4d], 0
mov dword [esp + 0x51], 0
mov dword [esp + 0x55], 0
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xc]
cmp edx, 0x48
ja 0x4094aa
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x10]
lea edi, [esi + 0xfc]
and edi, edx
mov ebx, 3
sub ebx, esi
or ebx, edx
add ebx, edi
sub edx, ebx
add dl, 0x1b
mov esi, dword [esp + 0xc]
mov byte [esp + esi + 0x10], dl
inc dword [esp + 0xc]
mov edx, dword [esp + 0xc]
cmp edx, 0x49
jb 0x409470
mov esi, dword [ebp + 0xc]
movzx ebx, byte [esp + 0x10]
mov edx, eax
test bl, bl
je 0x4094cb
lea edi, [esp + 0x11]
mov edx, eax
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x4094c0
mov byte [edx], 0
movzx ebx, byte [esi]
test bl, bl
je 0x4094eb
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x4094e0
mov esi, dword [ebp + 0x10]
mov byte [edx], 0
movzx ebx, byte [esp + 0x60]
test bl, bl
je 0x40950b
lea edi, [esp + 0x61]
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409500
mov byte [edx], 0
movzx ebx, byte [esi]
test bl, bl
je 0x40952b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409520
mov byte [edx], 0
movzx ebx, byte [esp + 0x80]
test bl, bl
je 0x40955b
lea esi, [esp + 0x81]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409550
mov byte [edx], 0
sub edx, eax
add dword [ecx + 0x60], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc