Function at 0x409ab0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov eax, dword [ebp + 8]
add eax, dword [ecx + 0x60]
mov word [esp + 0x18], 0x8bb5
mov byte [esp + 0x1a], 0x84
mov dword [esp + 0x1b], 0
mov dword [esp + 0x1f], 0
mov dword [esp + 0x23], 0
mov dword [esp + 8], 0
mov edx, dword [esp + 8]
cmp edx, 0xe
ja 0x409b3e
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 8]
mov esi, dword [esp + 8]
movzx esi, byte [esp + esi + 0x18]
lea edi, [edx + 0x15]
and edi, esi
add edx, esi
add edi, edi
sub edx, edi
add edx, 0xd3e8fe15
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
add dl, 0x6d
mov esi, dword [esp + 8]
mov byte [esp + esi + 0x18], dl
inc dword [esp + 8]
mov edx, dword [esp + 8]
cmp edx, 0xf
jb 0x409b00
mov dword [esp + 8], 0x9e9c98b2
mov word [esp + 0xc], 0x699e
mov dword [esp + 0x12], 0
mov dword [esp + 0xe], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 0xd
ja 0x409bb7
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx edi, byte [esp + esi + 8]
lea esi, [edx + edi]
add esi, 0xf1877292
add edx, 0x92
and edx, edi
add edx, edx
mov edi, esi
not edi
and edi, edx
not edx
and edx, esi
sub edx, edi
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
add dl, 2
mov esi, dword [esp]
mov byte [esp + esi + 8], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 0xe
jb 0x409b70
mov dword [esp + 0x28], 0x686a3635
mov dword [esp + 0x2c], 0x646c3a3a
mov dword [esp + 0x30], 0x677c7a35
mov dword [esp + 0x34], 0x7c7f647b
mov dword [esp + 0x38], 0x2c7f6b68
mov dword [esp + 0x3c], 0x6e1dc7c1
mov dword [esp + 0x40], 0x6977616c
mov dword [esp + 0x44], 0x10142a66
mov dword [esp + 0x48], 0x1e15151b
mov dword [esp + 0x4c], 0x1e171d15
mov dword [esp + 0x50], 0x14c6b1c
mov dword [esp + 0x54], 0x441b171b
mov dword [esp + 0x58], 0x1c081a1a
mov dword [esp + 0x5c], 0x10025177
mov dword [esp + 0x60], 0x557f160d
mov byte [esp + 0x64], 0xba
mov dword [esp + 0x65], 0
mov byte [esp + 0x69], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0x41
ja 0x409cb2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 4]
mov edx, dword [esp + 4]
movzx ebx, byte [esp + edx + 0x28]
lea edx, [edi + 0x44dd06a1]
lea esi, [edi + ebx]
add esi, 0x44dd06a1
add edi, 0xa1
and edi, ebx
and edx, ebx
add edx, edi
mov edi, edx
xor edi, esi
not edx
and edx, esi
add edx, edx
sub edx, edi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0x99
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x28], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0x42
jb 0x409c60
mov esi, dword [ebp + 0xc]
movzx ebx, byte [esp + 0x28]
mov edx, eax
test bl, bl
je 0x409cdb
lea edi, [esp + 0x29]
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409cd0
mov byte [edx], 0
movzx ebx, byte [esi]
test bl, bl
je 0x409cfb
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 0x409cf0
mov esi, dword [ebp + 0x10]
mov byte [edx], 0
movzx ebx, byte [esp + 8]
test bl, bl
je 0x409d1b
lea edi, [esp + 9]
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409d10
mov byte [edx], 0
movzx ebx, byte [esi]
test bl, bl
je 0x409d3b
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 0x409d30
mov byte [edx], 0
movzx ebx, byte [esp + 0x18]
test bl, bl
je 0x409d5b
lea esi, [esp + 0x19]
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409d50
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