Function at 0x4092a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push eax
push ecx
nop
push edx
nop
push ebx
push esp
push ebp
push esi
push edi
push ebp
mov ebp, esp
sub esp, 0x64
mov esi, 0xe
mov dword [ebp - 8], 0xd
mov eax, esi
add eax, dword [ebp - 8]
sub eax, 0x1b
mov dword [ebp - 0xc], eax
jmp 0x4093e6
mov dword [ebp - 0x34], 0x1ca4
mov ebx, dword [ebp - 0x34]
jmp 0x409415
add ebx, 0x769b
add dword [ebp - 0x18], 0x1730
add dword [ebp - 0x18], 0x4df8
mov eax, dword [ebp - 8]
add eax, esi
sub eax, 0x1b
mov dword [ebp - 0x10], eax
jmp 0x4094d2
add ebx, 0x408f54
mov dword [ebp - 0x2c], 0x43a000
mov dword [ebp - 0x38], 0x412693
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
sub edx, 0xc
mov edi, eax
sub edi, edx
jmp 0x409354
mov al, byte [ebx + edi]
mov byte [ebp - 1], al
movzx edx, byte [ebp - 1]
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edx, eax
shr edx, 1
add ecx, edx
mov edx, ecx
and edx, 0xff
mov ecx, dword [ebp - 0x64]
xor ecx, edx
mov edx, ecx
mov byte [ebp - 1], dl
mov al, byte [ebp - 1]
mov byte [ebx + edi], al
dec edi
mov eax, esi
add eax, esi
sub eax, 0x1a
cmp edi, eax
ja 0x409322
inc dword [ebp - 0x10]
mov eax, esi
sub eax, 0xb
cmp eax, dword [ebp - 0x10]
ja 0x409305
mov dword [ebp - 0x3c], 0x473000
mov dword [ebp - 0x40], 0x42f693
mov eax, esi
add eax, esi
sub eax, 0x1c
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x38]
mov al, byte [edx + eax]
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov cl, byte [ebp - 1]
mov byte [edx + eax], cl
inc dword [ebp - 0x1c]
mov eax, 0x1cfc0
cmp eax, dword [ebp - 0x1c]
ja 0x409384
mov eax, dword [ebp - 8]
sub eax, 0xd
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x40]
mov al, byte [edx + eax]
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x3c]
mov cl, byte [ebp - 1]
mov byte [edx + eax], cl
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x7070
jb 0x4093b2
mov dword [ebp - 0x14], 0x436e93
mov dword [ebp - 0x44], 0x10000000
jmp 0x4093f2
mov dword [ebp - 0x18], 0x216d8
jmp 0x4092cc
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 8]
add eax, esi
sub eax, 0x1b
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x60], 0x3a000
mov dword [ebp - 0x4c], 0x1000
jmp 0x409421
mov dword [ebp - 0xc], 0x3473eca2
jmp 0x4092db
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
mov eax, esi
add eax, dword [ebp - 8]
sub eax, 0x13
add eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
mov ax, word [eax]
mov word [ebp - 0x28], ax
jmp 0x4094da
movzx edx, word [ebp - 0x28]
mov ecx, esi
sub ecx, 2
sar edx, cl
mov word [ebp - 0x4e], dx
movzx edx, word [ebp - 0x28]
mov ecx, dword [ebp - 8]
sub ecx, 9
shl edx, cl
mov word [ebp - 0x26], dx
movzx edx, word [ebp - 0x26]
mov ecx, dword [ebp - 8]
sub ecx, 9
sar edx, cl
mov word [ebp - 0x26], dx
mov eax, dword [ebp - 8]
sub eax, 0xd
cmp dword [ebp - 0x24], eax
je 0x40948e
mov eax, esi
sub eax, 0xe
movzx edx, word [ebp - 0x26]
cmp eax, edx
je 0x409508
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], eax
movzx eax, word [ebp - 0x4e]
mov edx, esi
sub edx, 0xb
cmp eax, edx
jne 0x4094c7
movzx eax, word [ebp - 0x26]
add eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 8]
mov ecx, eax
mov eax, edx
add eax, edx
mov edx, eax
sub edx, 0x1a
mov eax, dword [ebp - 0x5c]
add eax, dword [ecx]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 8]
sub eax, 0xb
add dword [ebp - 0x24], eax
jmp 0x4094f4
dec dword [ebp - 0xc]
jmp 0x4092ff
mov eax, dword [ebp - 8]
mov edx, eax
add edx, eax
mov eax, edx
sub eax, 0x1a
movzx edx, word [ebp - 0x28]
cmp eax, edx
jne 0x409447
jmp 0x409508
mov edx, esi
sub edx, 0xd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp dword [ecx + edx*4], eax
ja 0x409421
mov eax, dword [ebp - 0x14]
mov edx, esi
add edx, esi
invalid