Function at 0x14001b480
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0x40
mov eax, dword [rcx + 0x18]
mov rbx, rdx
add eax, dword [rsp + 0x70]
xor edx, edx
div dword [rcx + 4]
cmp byte [rbx + 0x24], 0
mov rdi, rcx
mov ecx, edx
mov rbp, r8
je 0x14001b54b
movzx r8d, byte [rbx + 0x62]
xor edx, edx
mov eax, r9d
mov qword [rsp + 0x50], rsi
mov esi, dword [rsp + 0x78]
mov r9, rbx
div r8d
mov qword [rsp + 0x58], r14
mov rdx, rbp
cmp esi, eax
cmova esi, eax
mov rax, qword [rsp + 0x80]
mov dword [rax], esi
movzx eax, byte [rdi + 0x10]
mov r14d, dword [rdi + 4]
sub r14d, ecx
cmp r14d, esi
cmova r14d, esi
imul ecx, eax
mov rax, qword [rdi + 8]
mov r8d, r14d
lea rcx, [rax + rcx*4]
mov rax, qword [rbx + 8]
call qword [case.0x140035d81.0]
cmp esi, r14d
jbe 0x14001b531
movzx edx, byte [rbx + 0x62]
sub esi, r14d
mov rcx, qword [rdi + 8]
mov r9, rbx
mov rax, qword [rbx + 8]
mov r8d, esi
imul edx, r14d
add rdx, rbp
call qword [case.0x140035d81.0]
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
mov rdx, rbx
mov dword [rsp + 0x70], ecx
mov rcx, rdi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
jmp 0x14001c930
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0x2070
call fcn.140001130
sub rsp, rax
mov rax, qword [0x1400f54e0]
xor rax, rsp
mov qword [rsp + 0x2050], rax
mov r12, qword [rsp + 0x20e0]
mov r13d, r9d
mov ebx, dword [rsp + 0x20d8]
mov rdi, r8
mov r15d, dword [rsp + 0x20d0]
mov rsi, rdx
mov rbp, rcx
mov dword [r12], 0
test ebx, ebx
je 0x14001cba8
mov qword [rsp + 0x2068], r14
jmp 0x14001c9b0
mov rdi, qword [rsp + 0x48]
nop word [rax + rax]
movzx ecx, byte [rsi + 0x62]
cmp r13d, ecx
jb 0x14001cba0
xor edx, edx
mov eax, r13d
div ecx
movzx ecx, byte [rsi + 0x60]
xor edx, edx
mov r8d, eax
mov r9, rsi
mov eax, 0x400
div rcx
mov rdx, rdi
lea rcx, [rsp + 0x1050]
cmp rax, r8
mov r14, rax
mov rax, qword [rsi]
cmova r14d, r8d
mov r8d, r14d
call qword [case.0x140035d81.0]
movzx eax, byte [rsi + 0x62]
imul eax, r14d
sub r13d, eax
mov ecx, eax
add rdi, rcx
mov dword [rsp + 0x44], r13d
mov qword [rsp + 0x48], rdi
xor edi, edi
test r14d, r14d
je 0x14001c9a0
mov r13d, ebx
lea r10, [rsi + 0x10]
movzx ecx, byte [rsi + 0x60]
lea r8, [rsp + 0x1050]
xor edx, edx
mov qword [rsp + 0x28], r10
mov eax, 0x400
mov r9d, r14d
div rcx
mov edx, ebx
cmp rax, r13
cmovbe edx, eax
imul ecx, edi
lea rax, [rsp + 0x40]
sub r9d, edi
mov qword [rsp + 0x20], rax
mov rax, qword [rsi + 0x58]
mov dword [rsp + 0x40], r9d
lea r8, [r8 + rcx*4]
lea rcx, [rsp + 0x50]
call qword [case.0x140035d81.0]
mov ecx, dword [rbp + 4]
lea r8, [rsp + 0x50]
movzx r10d, byte [rsi + 0x60]
sub ecx, r15d
cmp ecx, eax
mov r11d, eax
mov ebx, eax
mov edx, r10d
mov rax, qword [rbp + 8]
cmovbe r11d, ecx
movzx ecx, byte [rbp + 0x10]
mov r9d, r11d
imul ecx, r15d
lea rcx, [rax + rcx*4]
sub edx, 1
je 0x14001cab5
cmp edx, 1
je 0x14001cb49
mov r9d, r10d
imul r9d, r11d
test r9d, r9d
je 0x14001caec
nop word [rax + rax]
movsxd rax, dword [r8]
dec r9d
test eax, eax
je 0x14001cadf
movsxd rdx, dword [rcx]
test rdx, rdx
je 0x14001cadd
add rax, rdx
cqo
sub rax, rdx
sar rax, 1
mov dword [rcx], eax
add rcx, 4
add r8, 4
test r9d, r9d
jne 0x14001cac0
cmp ebx, r11d
jbe 0x14001cb17
movzx ecx, byte [rsi + 0x60]
lea rdx, [rsp + 0x50]
mov eax, ecx
mov r8d, ebx
imul eax, r11d
movzx r9d, cl
mov rcx, qword [rbp + 8]
sub r8d, r11d
lea rdx, [rdx + rax*4]
call fcn.14001c890
add dword [r12], ebx
lea eax, [r15 + rbx]
add edi, dword [rsp + 0x40]
lea r10, [rsi + 0x10]
mov ebx, dword [rsp + 0x20d8]
xor edx, edx
div dword [rbp + 4]
mov r15d, edx
cmp edi, r14d
jb 0x14001ca21
mov r13d, dword [rsp + 0x44]
jmp 0x14001c9a0
test r11d, r11d
je 0x14001caec
nop
movsxd rax, dword [r8]
dec r9d
test eax, eax
je 0x14001cb6f
movsxd rdx, dword [rcx]
test rdx, rdx
je 0x14001cb6d
add rax, rdx
cqo
sub rax, rdx
sar rax, 1
mov dword [rcx], eax
movsxd rax, dword [r8 + 4]
test eax, eax
je 0x14001cb8e
movsxd rdx, dword [rcx + 4]
test rdx, rdx
je 0x14001cb8b
add rax, rdx
cqo
sub rax, rdx
sar rax, 1
mov dword [rcx + 4], eax
add rcx, 8
add r8, 8
test r9d, r9d
jne 0x14001cb50
jmp 0x14001caec
mov r14, qword [rsp + 0x2068]
mov rcx, qword [rsp + 0x2050]
xor rcx, rsp
call fcn.140001270
add rsp, 0x2070
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret