Function at 0x418217
Capabilities:
Encrypt data using rc4 prga

Disassembly:
add byte [ebx + 0x24ec8104], cl
mov eax, ecx
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 0x10]
xor edx, edx
push ebx
push esi
mov esi, dword [eax]
inc edx
shr ecx, 0xb
xor ebx, ebx
push edi
and ecx, edx
mov dword [ebp - 0x20], eax
movzx edi, word [esi + 2]
add esi, 4
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], ecx
test ecx, ecx
je 0x41825a
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
je 0x454380
sub esi, 2
test edi, edi
je 0x4182bd
push 0x30
pop eax
mov dword [ebp - 4], eax
cmp edi, eax
jae 0x418287
test dword [ebp + 0x10], 0x2000000b
jne 0x4182c4
mov ecx, dword [ecx - 0x74cf7620]
inc ebp
fmul qword [ecx - 0xf0074c8]
dec eax
add bl, ch
mov ebp, 0xff83c3ff
jp 0x418302
cmp edi, 0x7a
ja 0x41826b
fisttp word [ebp + 0x45c7d057]
in al, dx
jnp 0x41829f
lea edx, [edi - 0x30]
mov dword [ebp - 0x14], 0xb7b
add byte [eax], al
movsx eax, word [edx*2 + 0x5d4a53b8]
mov dword [ebp - 8], eax
inc ebp
clc
mov esi, ecx
je 0x4543a1
jle 0x4182af
mov edi, eax
jmp 0x41826b
mov ebx, eax
neg ebx
cmp ebx, 0xc
jne 0x41826b
jmp 0x14454991
mov eax, dword [ebp + 8]
mov dword [eax], edx
jmp 0x41826b
lea ecx, [ebx - 6]
cmp ecx, 5
ja 0x418274
add ebx, 0x17
jmp 0x418274
mov bh, 0x3e
xor edx, edx
push 0x10
pop ecx
cmp edi, 0x7d
je 0x4549bc
cmp edi, 0x75
je 0x4549d4
mov eax, 0x184592
cmp di, ax
je 0xffc54bc0
inc eax
cmp di, ax
je 0xffc54bc0
mov eax, 0x1845a1
cmp di, ax
je 0x454bc0
add eax, 0xfffffff3
cmp di, ax
je 0x454bc0
lea eax, [ecx + 0x78]
cmp di, ax
je 0xffc54baf
inc eax
cmp di, ax
je 0x454baf
lea eax, [ecx + 0x7a]
cmp di, ax
je 0xffc54baf
inc eax
cmp di, ax
je 0x454baf
lea eax, [ecx + 0x73]
cmp di, ax
je 0xffc54b52
inc eax
cmp di, ax
je 0x454b52
lea eax, [ecx + 0x75]
cmp di, ax
je 0xffc54b52
inc eax
cmp di, ax
je 0x454b52
lea eax, [ecx + 0x71]
cmp di, ax
je 0xffc54b52
inc eax
cmp di, ax
je 0x454b52
lea eax, [ecx + 0x77]
cmp di, ax
je 0x454b52
lea eax, [edi - 6]
cmp eax, 0x95
ja 0x454bde
movzx eax, byte [eax + 0x41840f]
in eax, dx
inc dword [ebp + 0x4183e7]
xor eax, eax
add byte [eax], al
push ebp
mov ebp, esp
mov eax, ebx
lea ecx, [esi + 0x22]
movzx eax, word [ecx]
add eax, 0xffffff9e
cmp eax, 0xb
ja 0x4183e3
jmp 0x454aa8
mov dword [ebp - 4], edi
mov word [edx], ax
add edx, eax
mov word [edx], si
add edx, eax
mov word [edx], di
jmp 0x4543a2
xor al, byte [ebx]
ror byte [ebx + 0x1089f045], 1
add edx, eax
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
jmp 0xf4d8203
cmp dword [esi + 0x39], esp
pop ecx
add ch, ah
cmp word [esi + 2], ax
jne 0xdaf8299
lea ecx, [esi + 4]
call 0x8b45e37b
inc ebp
sbb byte [ebx - 0x3c742b3], cl
push 0x7e
mov dword [eax], ecx
mov dword [eax], 0x840f0025
repe scasd eax, dword es:[edi]
cmp byte [ebx - 0x48f00383], cl
push es
movzx eax, byte [eax + 0x741e5470]
hlt
push 0x77
mov dword [ebp - 0x46], ecx
int3
push ebp
in al, dx
fdiv dword [edi + 0x25c18b0a]
jne 0x8625910c
movzx eax, byte [edx]
jmp 0x8625910c
cld
mov ecx, esi
push dword [ebp + 8]
call 0x8b7182ff
push esi
sbb al, 0x8d
add al, 0x12
je 0x454bc2
add dword [edi + 0x33], eax
sar ah, cl
inc edi
xor edx, edx
cld
movzx eax, word [esi]
movzx eax, byte [eax + 0x741e5470]
aad 0x85
dec dword [edi]
test byte [ecx], bh
cmp byte [ebx + ecx*4], ch
jmp 0x7e4549fa
movzx eax, word [esi]
movzx eax, byte [eax + 0x741e5470]
hlt