Function at 0x463af0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x20
mov edi, dword [ebp + 8]
mov eax, edi
and eax, 3
dec eax
je 0x463c80
mov eax, edi
and eax, 0x37
cmp eax, 0x17
je 0x463bc0
mov eax, edi
and eax, 3
dec eax
je 0x463ba6
test edi, 2
je 0x463c70
xor edx, edx
cmp edi, 7
je 0x463b54
mov eax, edi
shl edi, 0x1c
shr eax, 7
sar edi, 7
and eax, 0xffffff
and edi, 0xff000000
or eax, edi
mov edx, 1
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
mov esi, edx
mov dword [ebp - 0x14], eax
cmp esi, 1
jbe 0x463c03
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x14]
mov edi, dword [ecx]
mov eax, dword [ecx + 4]
test edi, edi
mov dword [ebp - 0x18], eax
js 0x463c46
shl esi, 5
test edi, edi
jne 0x463cb0
mov edi, dword [ebp - 0x18]
sub esi, 0x20
shl dword [ebp - 0x10], 0x1e
rol edi, 7
xor dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x10]
add eax, esi
add esp, 0x20
pop esi
pop edi
pop ebp
ret
movzx eax, byte [edi + 3]
sub al, 0x1b
cmp al, 2
ja 0x463b21
lea esi, [esi]
lea edi, [edi]
test edi, 2
jne 0x463ce0
mov edx, dword [edi + 3]
cmp dl, 0x1c
jle 0x463d03
mov edx, dword [edi + 7]
mov eax, edx
shr eax, 0x17
and eax, 0xff
je 0x463d10
mov ecx, edx
mov edi, edx
sar ecx, 0x1f
mov dword [ebp - 0x10], ecx
lea esi, [eax - 0x7e]
shl edi, 8
or edi, 0x80000000
jmp 0x463b90
je 0x463d19
test esi, esi
je 0x463d10
mov edx, esi
xor edi, edi
shl edx, 5
je 0x463c30
mov ecx, dword [ebp - 0x14]
mov eax, 0x20
sub eax, edx
mov edi, dword [ecx]
mov cl, al
shl edi, cl
lea esi, [esi]
mov dword [ebp - 0x18], 0
test edi, edi
mov dword [ebp - 0x10], 0
jns 0x463b7f
mov dword [ebp - 0x10], 0xffffffff
cmp esi, 2
not edi
not dword [ebp - 0x18]
ja 0x463d38
inc dword [ebp - 0x18]
jne 0x463b7f
inc edi
jmp 0x463b7f
movzx esi, word [edi + 5]
lea edx, [edi + 7]
mov dword [ebp - 0x14], edx
jmp 0x463b5c
cmp byte [edi + 3], 0x1e
jne 0x463b07
mov eax, dword [edi + 7]
mov dword [esp], eax
call fcn.00463af0
mov esi, eax
mov eax, dword [edi + 0xb]
mov dword [esp], eax
call fcn.00463af0
sub esi, eax
lea eax, [esi + 0x41]
jmp 0x463b9f
mov eax, 0x1f
bsr edx, edi
sub eax, edx
mov edx, eax
je 0x463cd3
mov cl, al
mov eax, 0x20
shl edi, cl
sub eax, edx
mov cl, al
shr dword [ebp - 0x18], cl
mov ecx, dword [ebp - 0x18]
or edi, ecx
sub esi, edx
jmp 0x463b90
mov eax, edi
shr eax, 0x17
and eax, 0xff
je 0x463d10
lea esi, [eax - 0x7e]
mov eax, edi
shl eax, 0x1c
shr edi, 7
cdq
shl edi, 0xf
mov dword [ebp - 0x10], edx
jmp 0x463bfb
je 0x463d5a
lea ecx, [edi - 1]
mov eax, dword [ecx + 8]
test eax, eax
jne 0x463d23
nop
add esp, 0x20
xor eax, eax
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp - 0x14]
mov edi, dword [edx]
jmp 0x463c30
mov edi, dword [ecx + 0xc]
lea esi, [eax - 0x80000000]
movsx eax, dh
cdq
mov dword [ebp - 0x10], edx
jmp 0x463b90
lea eax, [esi - 2]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
add eax, 8
mov dword [esp], eax
call fcn.004d53f8
test eax, eax
jne 0x463b7f
jmp 0x463c5b
mov edx, dword [edi + 0xb]
mov ecx, dword [edi + 7]
mov eax, edx
shr eax, 0x14
and eax, 0x7ff
je 0x463d10
mov edi, edx
lea esi, [eax - 0x3fe]
shl edi, 0xb
mov eax, edx
or edi, 0x80000000
shr ecx, 0x15
sar eax, 0x1f
or edi, ecx
mov dword [ebp - 0x10], eax
jmp 0x463b90