Function at 0x14001ad30
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 0x14001adfb
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.0x140034a43.0]
cmp esi, r14d
jbe 0x14001ade1
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.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 0x14001c1d0
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0x2070
call fcn.1400350c0
sub rsp, rax
mov rax, qword [0x140051098]
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 0x14001c448
mov qword [rsp + 0x2068], r14
jmp 0x14001c250
mov rdi, qword [rsp + 0x48]
nop word [rax + rax]
movzx ecx, byte [rsi + 0x62]
cmp r13d, ecx
jb 0x14001c440
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.0x140034a43.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 0x14001c240
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.0x140034a43.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 0x14001c355
cmp edx, 1
je 0x14001c3e9
mov r9d, r10d
imul r9d, r11d
test r9d, r9d
je 0x14001c38c
nop word [rax + rax]
movsxd rax, dword [r8]
dec r9d
test eax, eax
je 0x14001c37f
movsxd rdx, dword [rcx]
test rdx, rdx
je 0x14001c37d
add rax, rdx
cqo
sub rax, rdx
sar rax, 1
mov dword [rcx], eax
add rcx, 4
add r8, 4
test r9d, r9d
jne 0x14001c360
cmp ebx, r11d
jbe 0x14001c3b7
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.14001c130
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 0x14001c2c1
mov r13d, dword [rsp + 0x44]
jmp 0x14001c240
test r11d, r11d
je 0x14001c38c
nop
movsxd rax, dword [r8]
dec r9d
test eax, eax
je 0x14001c40f
movsxd rdx, dword [rcx]
test rdx, rdx
je 0x14001c40d
add rax, rdx
cqo
sub rax, rdx
sar rax, 1
mov dword [rcx], eax
movsxd rax, dword [r8 + 4]
test eax, eax
je 0x14001c42e
movsxd rdx, dword [rcx + 4]
test rdx, rdx
je 0x14001c42b
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 0x14001c3f0
jmp 0x14001c38c
mov r14, qword [rsp + 0x2068]
mov rcx, qword [rsp + 0x2050]
xor rcx, rsp
call fcn.140035120
add rsp, 0x2070
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret