Function at 0x4092a0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push eax
push ecx
push edx
push ebx
push esp
push ebp
push esi
push edi
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x10], 0xb
mov edi, 3
and dword [ebp - 0x18], 0
and dword [ebp - 0x3c], 0
and dword [ebp - 0x40], 0
jmp 0x409492
add dword [ebp - 0x3c], 0x72be
jmp 0x4092e2
mov dword [ebp - 0x20], 0x412665
jmp 0x4092eb
mov dword [ebp - 0x48], 0xef8691cd
jmp 0x40931f
mov eax, esi
add eax, 3
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x3c]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x48]
xor edx, ecx
mov byte [eax], dl
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x40], eax
ja 0x4092f3
mov dword [ebp - 0x1c], 0x436000
mov dword [ebp - 0x24], 0x42c465
jmp 0x409328
mov dword [ebp - 0x40], 0x1773
jmp 0x40938f
mov dword [ebp - 0x28], 0x469000
mov eax, dword [ebp - 0x10]
add eax, esi
sub eax, 0xb
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x19df0
jae 0x409357
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov cl, byte [ecx + eax]
mov byte [edx + eax], cl
inc dword [ebp - 4]
jmp 0x40933a
mov eax, dword [ebp - 0x10]
mov ebx, eax
add ebx, eax
sub ebx, 0x16
jmp 0x409370
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dl, byte [edx + ebx]
mov byte [eax + ebx], dl
inc ebx
cmp ebx, 0x6624
jb 0x409363
mov dword [ebp - 0xc], 0x433265
mov dword [ebp - 0x2c], 0x10000000
mov dword [ebp - 0x4c], 0x34000
jmp 0x40939b
add dword [ebp - 0x40], 0x2228d
jmp 0x4092d9
mov dword [ebp - 0x30], 0x1000
mov eax, dword [ebp - 0x10]
sub eax, 0xb
mov dword [ebp - 8], eax
jmp 0x409461
mov eax, dword [ebp - 8]
mov edx, edi
add edx, dword [ebp - 0x10]
sub edx, 6
add eax, edx
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x54], eax
mov ax, word [eax]
mov word [ebp - 0x50], ax
jmp 0x4093d7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
jmp 0x4093b0
movzx edx, word [ebp - 0x50]
lea ecx, [esi + edi + 1]
shl edx, cl
mov word [ebp - 0x4e], dx
movzx edx, word [ebp - 0x4e]
lea ecx, [esi + edi + 1]
sar edx, cl
mov word [ebp - 0x4e], dx
movzx eax, word [ebp - 0x50]
mov edx, dword [ebp - 0x18]
add edx, edi
sub edx, 3
cmp eax, edx
je 0x4094d9
movzx edx, word [ebp - 0x50]
mov ecx, esi
add ecx, 0xc
sar edx, cl
mov word [ebp - 0x56], dx
cmp dword [ebp - 8], esi
je 0x40942d
mov eax, dword [ebp - 0x10]
sub eax, 0xb
movzx edx, word [ebp - 0x4e]
cmp eax, edx
je 0x4094d9
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x5c], eax
movzx eax, word [ebp - 0x56]
mov edx, edi
add edx, dword [ebp - 0x18]
cmp eax, edx
jne 0x409459
movzx eax, word [ebp - 0x4e]
mov edx, dword [ebp - 0xc]
add eax, dword [edx]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x5c]
add edx, dword [eax]
mov dword [eax], edx
mov eax, edi
add eax, esi
dec eax
add dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
cmp dword [ebp - 8], eax
jb 0x4093cc
jmp 0x4094d9
mov eax, esi
add eax, 0x1388
mov dword [ebp - 0x38], eax
mov eax, edi
add eax, 0x445
mov dword [ebp - 0x34], eax
lea eax, [esi + esi + 0xa4]
add dword [ebp - 0x34], eax
jmp 0x4094e6
mov dword [ebp - 0x3c], 0x40afa7
jmp 0x4092d0
cmp dword [ebp - 0xc], 0x435a49
jae 0x409472
jmp 0x409386
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add edx, eax
mov ecx, dword [ebp - 0x10]
add ecx, esi
sub ecx, 3
add edx, ecx
add eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
add ecx, 0xc
add ecx, dword [ebp - 0x10]
mul ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x34], eax
jmp 0x4094fc
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 4]
add edx, eax
mov dword [ebp - 0xc], edx
jmp 0x40949e
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
sub ecx, 8
add ecx, dword [ebp - 0x34]
mul ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x38], eax
jmp 0x4094ac
pop edi
pop esi
pop ebx
leave
jmp 0x444ad6