Function at 0x14015acb0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x40
mov r8, qword [r8]
movsxd rbx, r9d
mov rsi, rcx
test rbx, rbx
je 0x14015ae00
movzx ecx, byte [r8]
cmp rbx, 1
je 0x14015ae30
test cl, cl
jne 0x14015ada0
xor cl, byte [r8 + 1]
jns 0x14015b010
lea rdi, [rbx - 1]
cmp rdi, 8
ja 0x14015add0
lea rcx, [rsp + 0x38]
mov r9, rbx
call fcn.1401590e0
movzx eax, byte [rsp + 0x38]
cmp rdi, 1
je 0x14015ad87
movzx edx, byte [rsp + 0x39]
shl rax, 8
or rax, rdx
cmp rdi, 2
je 0x14015ad87
movzx edx, byte [rsp + 0x3a]
shl rax, 8
or rax, rdx
cmp rdi, 3
je 0x14015ad87
movzx edx, byte [rsp + 0x3b]
shl rax, 8
or rax, rdx
cmp rdi, 4
je 0x14015ad87
movzx edx, byte [rsp + 0x3c]
shl rax, 8
or rax, rdx
cmp rdi, 5
je 0x14015ad87
movzx edx, byte [rsp + 0x3d]
shl rax, 8
or rax, rdx
cmp rdi, 6
je 0x14015ad87
movzx edx, byte [rsp + 0x3e]
shl rax, 8
or rax, rdx
cmp rdi, 8
jne 0x14015ad87
movzx edx, byte [rsp + 0x3f]
shl rax, 8
or rax, rdx
mov qword [rsi], rax
mov eax, 1
add rsp, 0x40
pop rbx
pop rsi
pop rdi
ret
cmp cl, 0xff
je 0x14015ae50
cmp rbx, 8
ja 0x14015add0
lea rcx, [rsp + 0x38]
mov r9, rbx
mov rdi, rbx
call fcn.1401590e0
movzx eax, byte [rsp + 0x38]
jmp 0x14015ad0f
mov r8d, 0xdf
mov edx, 0x65
mov ecx, 0xd
mov dword [rsp + 0x20], 0x267
lea r9, str.crypto_asn1_a_int.c
call fcn.1400a0f90
xor eax, eax
add rsp, 0x40
pop rbx
pop rsi
pop rdi
ret
mov r8d, 0xde
mov edx, 0xe2
mov ecx, 0xd
mov dword [rsp + 0x20], 0x9a
lea r9, str.crypto_asn1_a_int.c
call fcn.1400a0f90
jmp 0x14015adf4
lea rcx, [rsp + 0x38]
mov r9d, 1
call fcn.1401590e0
movzx eax, byte [rsp + 0x38]
jmp 0x14015ad87
lea rax, [rbx - 2]
lea r10, [rbx - 1]
cmp rax, 0xe
jbe 0x14015b039
mov r11, r10
pxor xmm5, xmm5
pxor xmm3, xmm3
mov rax, r8
and r11, 0xfffffffffffffff0
pxor xmm2, xmm2
lea r9, [r11 + r8]
nop dword [rax]
movdqu xmm0, xmmword [rax + 1]
add rax, 0x10
movdqa xmm1, xmm0
punpckhbw xmm0, xmm3
punpcklbw xmm1, xmm3
movdqa xmm4, xmm1
punpckhwd xmm1, xmm2
punpcklwd xmm4, xmm2
por xmm1, xmm4
movdqa xmm4, xmm0
punpckhwd xmm0, xmm2
punpcklwd xmm4, xmm2
por xmm0, xmm4
por xmm1, xmm0
por xmm5, xmm1
cmp rax, r9
jne 0x14015ae80
movdqa xmm1, xmm5
movdqa xmm4, xmm5
lea r9, [r11 + 1]
psrldq xmm1, 8
por xmm1, xmm5
psrldq xmm5, 8
movdqa xmm0, xmm1
por xmm4, xmm5
psrldq xmm0, 4
por xmm1, xmm0
movd eax, xmm1
cmp r10, r11
je 0x14015aff9
mov rdi, rbx
sub rdi, r11
lea r10, [rdi - 1]
sub rdi, 2
cmp rdi, 6
jbe 0x14015af85
movq xmm1, qword [r8 + r11 + 1]
pxor xmm0, xmm0
pxor xmm3, xmm3
movdqa xmm2, xmm1
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
punpcklbw xmm2, xmm0
movdqa xmm0, xmm1
movdqa xmm5, xmm1
movdqa xmm1, xmm2
punpcklwd xmm0, xmm3
punpcklwd xmm2, xmm3
punpcklwd xmm5, xmm3
pshufd xmm0, xmm0, 0x4e
punpcklwd xmm1, xmm3
pshufd xmm2, xmm2, 0x4e
por xmm0, xmm5
por xmm2, xmm1
por xmm0, xmm2
por xmm0, xmm4
movd r11d, xmm0
pshufd xmm5, xmm0, 0xe5
movd eax, xmm5
or eax, r11d
mov r11, r10
and r11, 0xfffffffffffffff8
add r9, r11
and r10d, 7
je 0x14015aff9
movzx r10d, byte [r8 + r9]
or eax, r10d
lea r10, [r9 + 1]
cmp r10, rbx
jae 0x14015aff9
movzx r10d, byte [r8 + r9 + 1]
or eax, r10d
lea r10, [r9 + 2]
cmp r10, rbx
jae 0x14015aff9
movzx r10d, byte [r8 + r9 + 2]
or eax, r10d
lea r10, [r9 + 3]
cmp r10, rbx
jae 0x14015aff9
movzx r10d, byte [r8 + r9 + 3]
or eax, r10d
lea r10, [r9 + 4]
cmp r10, rbx
jae 0x14015aff9
movzx r10d, byte [r8 + r9 + 4]
or eax, r10d
lea r10, [r9 + 5]
cmp r10, rbx
jae 0x14015aff9
movzx r10d, byte [r8 + r9 + 5]
or eax, r10d
lea r10, [r9 + 6]
cmp r10, rbx
jae 0x14015aff9
movzx r9d, byte [r8 + r9 + 6]
or eax, r9d
test eax, eax
je 0x14015ada9
jmp 0x14015acdf
mov r8d, 0xdd
mov edx, 0xe2
mov ecx, 0xd
mov dword [rsp + 0x20], 0xbb
lea r9, str.crypto_asn1_a_int.c
call fcn.1400a0f90
jmp 0x14015adf4
pxor xmm4, xmm4
xor r11d, r11d
xor eax, eax
mov r9d, 1
jmp 0x14015aefa