Function at 0x4182b3
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
movzx eax, word [ecx]
push ebx
push esi
push edi
movzx eax, byte [eax + 0x4a5470]
mov edi, edx
xor edx, edx
mov dword [ebp - 4], edi
inc edx
lea ecx, [ecx + eax*2]
call fcn.004184a5
mov esi, eax
cmp esi, edi
jae case.0x4183be.119
push 0x77
pop ebx
movzx edi, word [esi]
xor edx, edx
push 0x10
pop ecx
cmp edi, 0x7d
je 0x45499e
cmp edi, 0x75
je 0x4549b6
mov eax, 0x92
cmp di, ax
je 0x454ba2
inc eax
cmp di, ax
je 0x454ba2
mov eax, 0xa1
cmp di, ax
je 0x454ba2
add eax, 0xfffffff3
cmp di, ax
je 0x454ba2
lea eax, [ecx + 0x78]
cmp di, ax
je 0x454b91
inc eax
cmp di, ax
je 0x454b91
lea eax, [ecx + 0x7a]
cmp di, ax
je 0x454b91
inc eax
cmp di, ax
je 0x454b91
lea eax, [ecx + 0x73]
cmp di, ax
je 0x454b34
inc eax
cmp di, ax
je 0x454b34
lea eax, [ecx + 0x75]
cmp di, ax
je 0x454b34
inc eax
cmp di, ax
je 0x454b34
lea eax, [ecx + 0x71]
cmp di, ax
je 0x454b34
inc eax
cmp di, ax
je 0x454b34
lea eax, [ecx + 0x77]
cmp di, ax
je 0x454b34
lea eax, [edi - 6]
cmp eax, 0x95
ja case.0x4183be.23
movzx eax, byte [eax + 0x41840f]
jmp dword [eax*4 + 0x4183e7]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esi + 0x22]
movzx eax, word [ecx]
add eax, 0xffffff9e
cmp eax, 0xb
ja case.0x4183be.6
jmp 0x454a8a
xor eax, eax
inc eax
jmp 0x4183c7
add byte [ebp - 0x5817fbb2], cl
cdq
add eax, dword [eax]
or dword [ebx + 0x38bd808e], ecx
cld
add byte [ebx + 0xc70800], al
and eax, 0xe9ebff00
scasd eax, dword es:[edi]
cmp byte [eax], al
mov dword [ebp + 0xc], edx
inc esi
invalid
push ebp
or al, 0x46
xchg byte [ebp + 0x39664634], cl
push ds
je 0x4549bd
jmp 0x4549cd
movzx edi, word [esi]
jmp 0x1444bdf
ja 0x454af7
adc edi, esi
fcomp dword [ecx + 1]
mov dword [ebp + 0x55], eax
or al, 0x89
inc ebp
lea ebx, [ebx + eax*2]
sbb al, 0x43
pop eax
cmp word [ebx], ax
jne 0x254183e4
sub al, 0x55
or al, 0xeb
retf
add byte [ecx - 0xd7f49ab], cl
dec ebx
inc ebp
add byte [eax + eax*4 + 0x454be600], al
add byte [esi + 0x39], ah
push ecx
add cl, byte [edi]
xchg dword [ebx], esp
cmp dword [eax], eax
mov ecx, ebp
sbb dword [ecx], eax
or byte [eax], al
movzx eax, word [esi + 2]
cmp ax, cx
invalid
je 0x454ae3
sal dword [esp + edx + 0x6a], 0xf
push 0xf
pop ecx
cmp ax, cx
jmp 0x454add
push 0xf
pop edx
cmp ax, dx
jne 0x8d454bdf
add esi, 4
jmp 0x4d4bdf
jmp 0x454ad7
add al, 0xf6
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x34], esi
fdiv dword [ebp - 0x7b]
jne 0x454aaf
jne 0x454aaf
leave
je 0x454b57
jne 0x8d454bdf
add esi, 2
jmp 0x1080ddf
mov byte [edx], 0xe9
movsb byte es:[edi], byte [esi]
ret 0xc2
or word [ebx + 0x38a0848e], cx
cld
xchg dword [ecx - 0x3336279], edi
dec dword [edi]
stc
jne 0x454b76
lea eax, [esi + eax*2]
cmp word [eax], bx
jne 0x9249cb
cmp edx, 0xffffff85
push dword [ebp + 0x1b]
test edi, edi
jne 0x454b97
push edx
push dword [ebp + 0xc]
adc dword [ebp - 4], 0xffffff8b
into
push dword [ebp + 8]
call 0x884182d2
adc al, 0x89
mov ax, word [ecx]
je 0x454b95
add dword [ecx + eax + 0x47], esi
inc edi
xor edx, edx
push ebp
or al, 0x46
xchg byte [ebp + 0x39664634], cl
push ds
je 0x454b78
aad 0x85
dec dword [edi]
test byte [ecx], bh
cmp ah, bh
xchg ecx, ebp
sbb eax, 0x5589fffe
test edi, edi
je 0x884183e4
jmp 0x8a4549cd
push ebp
or al, 0x46
xchg byte [ebp + 0x39664634], cl
push ds
je 0x454bb0
jmp 0x4549cd
dec dword [edi]
mov dh, 0x87
pop ebp
in al, dx
mov dword [ebp - 0x73], eax
xor al, 0x46
push ebp
or al, 0x46
xchg byte [ebp + 0x39664634], cl
push ds
je 0x454bcb
jmp 0x8a4549cd