Function at 0x41a4f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
rcl esi, 0x5b
sub edx, 0x9f
dec edx
or ebx, 0xe8
dec ebx
mov ebx, 0x18
rol ebx, 0xb4
sub edx, 0xbd
or esi, 0x24
imul esi
neg edx
inc ebx
sub edx, 0x4a
rol esi, 0xb5
add edx, 0x3a
bswap esi
inc esi
and eax, 0x8e
imul edi
or eax, 0x8e
or eax, 0xe2
dec eax
rcr edi, 0xaf
not esi
inc eax
imul edx
inc esi
rcl ebx, 0xf1
rcr eax, 0x10
inc ebx
ror eax, 0x4a
imul esi
imul ebx
ror edi, 0x60
or edx, 0xa2
imul eax
dec esi
not esi
ror ebx, 0x29
dec esi
or edi, 0xb8
imul eax
rcl esi, 0x70
sbb edi, 0x8e
or ebx, 0x7e
and esi, 0x51
bswap eax
or edx, 0x50
dec esi
dec ebx
push 0x100
lea ecx, [ebp - 0x1c]
call fcn.004010c0
mov dword [ebp - 0x24], 0
jmp 0x41a5a4
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x100
jge 0x41a5c0
mov ecx, dword [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00401120
mov dl, byte [ebp - 0x24]
mov byte [eax], dl
jmp 0x41a59b
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0
jmp 0x41a5d9
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x100
jge 0x41a63c
mov ecx, dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00401120
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
xor edx, edx
div dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + edx]
add ecx, edx
and ecx, 0x800000ff
jns 0x41a615
dec ecx
or ecx, 0xffffff00
inc ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401120
push eax
mov ecx, dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00401120
push eax
call fcn.00401fc0
add esp, 8
jmp 0x41a5d0
rcl esi, 0x5b
sub edx, 0x9f
dec edx
or ebx, 0xe8
dec ebx
mov ebx, 0x18
rol ebx, 0xb4
sub edx, 0xbd
or esi, 0x24
imul esi
neg edx
inc ebx
sub edx, 0x4a
rol esi, 0xb5
add edx, 0x3a
bswap esi
inc esi
and eax, 0x8e
imul edi
or eax, 0x8e
or eax, 0xe2
dec eax
rcr edi, 0xaf
not esi
inc eax
imul edx
inc esi
rcl ebx, 0xf1
rcr eax, 0x10
inc ebx
ror eax, 0x4a
imul esi
imul ebx
ror edi, 0x60
or edx, 0xa2
imul eax
dec esi
not esi
ror ebx, 0x29
dec esi
or edi, 0xb8
imul eax
rcl esi, 0x70
sbb edi, 0x8e
or ebx, 0x7e
and esi, 0x51
bswap eax
or edx, 0x50
dec esi
dec ebx
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
jmp 0x41a6e8
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp + 0xc]
jae 0x41a7ad
mov ecx, dword [ebp - 4]
add ecx, 1
and ecx, 0x800000ff
jns 0x41a70a
dec ecx
or ecx, 0xffffff00
inc ecx
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
push edx
lea ecx, [ebp - 0x1c]
call fcn.00401120
movzx eax, byte [eax]
add eax, dword [ebp - 0x20]
and eax, 0x800000ff
jns 0x41a72d
dec eax
or eax, 0xffffff00
inc eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00401120
push eax
mov edx, dword [ebp - 4]
push edx
lea ecx, [ebp - 0x1c]
call fcn.00401120
push eax
call fcn.00401fc0
add esp, 8
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401120
movzx esi, byte [eax]
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00401120
movzx edx, byte [eax]
add esi, edx
mov eax, esi
and eax, 0x800000ff
jns 0x41a782
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x2d], al
movzx ecx, byte [ebp - 0x2d]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00401120
movzx edx, byte [eax]
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
xor ecx, edx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x2c]
mov byte [edx], cl
jmp 0x41a6df
lea ecx, [ebp - 0x1c]
call fcn.00401100
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret