Function at 0x14001bd60
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 0x14001be29
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]
call qword [case.0x140034a43.0]
cmp esi, r14d
jbe 0x14001be0f
movzx edx, byte [rbx + 0x62]
sub esi, r14d
mov rcx, qword [rdi + 8]
mov r9, rbx
mov rax, qword [rbx]
mov r8d, esi
imul edx, r14d
add rdx, rbp
call qword [case.0x140034a43.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 0x1400207e0
push rbx
push rbp
push rsi
push r12
push r13
push r14
mov eax, 0x1078
call fcn.1400350c0
sub rsp, rax
mov rax, qword [0x140051098]
xor rax, rsp
mov qword [rsp + 0x1050], rax
mov r12, qword [rsp + 0x10e0]
mov r14d, r9d
mov r13d, dword [rsp + 0x10d8]
mov rsi, r8
mov eax, dword [rsp + 0x10d0]
mov rbx, rdx
mov dword [rsp + 0x40], eax
mov rbp, rcx
mov dword [r12], 0
test r13d, r13d
je 0x140020959
mov qword [rsp + 0x1070], rdi
mov qword [rsp + 0x1068], r15
jmp 0x140020860
mov rsi, qword [rsp + 0x48]
nop dword [rax + rax]
movzx ecx, byte [rbx + 0x62]
cmp r14d, ecx
jb 0x140020949
xor edx, edx
mov eax, r14d
div ecx
movzx ecx, byte [rbx + 0x60]
xor edx, edx
mov r8d, eax
mov r9, rbx
mov eax, 0x400
div rcx
mov rdx, rsi
lea rcx, [rsp + 0x50]
cmp rax, r8
mov rdi, rax
mov rax, qword [rbx]
cmova edi, r8d
mov r8d, edi
call qword [case.0x140034a43.0]
movzx eax, byte [rbx + 0x62]
imul eax, edi
sub r14d, eax
mov ecx, eax
add rsi, rcx
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x48], rsi
xor esi, esi
test edi, edi
je 0x140020853
mov ecx, dword [rbp + 4]
lea r15, [rbx + 0x10]
mov r14d, dword [rsp + 0x40]
movzx r10d, byte [rbp + 0x10]
lea rax, [rsp + 0x40]
sub ecx, r14d
mov qword [rsp + 0x28], r15
cmp ecx, r13d
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + 0x58]
lea r8, [rsp + 0x50]
mov edx, r13d
mov r9d, edi
cmovbe edx, ecx
movzx ecx, byte [rbx + 0x60]
imul ecx, esi
sub r9d, esi
imul r10d, r14d
mov dword [rsp + 0x40], r9d
lea r8, [r8 + rcx*4]
mov rcx, qword [rbp + 8]
lea rcx, [rcx + r10*4]
call qword [case.0x140034a43.0]
add esi, dword [rsp + 0x40]
xor edx, edx
add dword [r12], eax
add eax, r14d
mov ecx, dword [rbp + 4]
div ecx
mov r14d, edx
cmp esi, edi
jb 0x1400208d1
mov r14d, dword [rsp + 0x44]
mov dword [rsp + 0x40], edx
jmp 0x140020853
mov rdi, qword [rsp + 0x1070]
mov r15, qword [rsp + 0x1068]
mov rcx, qword [rsp + 0x1050]
xor rcx, rsp
call fcn.140035120
add rsp, 0x1078
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret