Function at 0x140002a8b
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
xor edx, edx
xor r14d, r14d
xor r12d, r12d
movabs rax, 0x8eb0000000215ff
xor r13d, r13d
mov qword [rsp + 0x5b], rax
xor eax, eax
mov rbx, rcx
xor ecx, ecx
mov qword [rsp + 0x63], rax
lea rax, [rsp + 0x8b]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x6b]
mov qword [rsp + 0x4d], 0x25ff
mov dword [rsp + 0x55], edx
mov word [rsp + 0x59], 0
mov qword [rsp + 0x6b], 0x25ff0e70
mov qword [rsp + 0x73], rcx
mov qword [rbx + 0x20], rcx
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x28]
movzx ebp, r13b
add rbp, qword [rbx]
movzx r11d, r12b
mov rcx, rbp
mov qword [rsp + 0x38], r11
mov r15, qword [rbx + 0x10]
mov rsi, rbp
call fcn.140001820
mov r9d, dword [rsp + 0xac]
mov r8d, eax
bt r9d, 0xc
jb 0x140002dba
cmp r13b, 4
mov r11, qword [rsp + 0x38]
jbe 0x140002b61
mov qword [rsp + 0x53], rbp
lea rsi, [rsp + 0x4d]
mov r8d, 0xe
mov r15d, 1
jmp 0x140002d20
mov dl, byte [rsp + 0x98]
mov al, byte [rsp + 0x96]
and edx, 0xffffffc7
cmp dl, 5
jne 0x140002bd1
lea rdx, [rsp + 0x7b]
mov ecx, r8d
shr r9d, 2
lea r10, [r15 + r11]
mov rdi, rdx
and r9d, 0xf
rep movsb byte [rdi], byte [rsi]
movzx ecx, byte [rsp + 0x8b]
mov rsi, rdx
sub rcx, 4
sub rcx, r9
mov r9d, dword [rsp + 0xa8]
add r9d, ebp
sub r9d, r10d
inc al
mov dword [rsp + rcx + 0x7b], r9d
jne 0x140002d1d
xor r15d, r15d
cmp byte [rsp + 0x9a], 4
sete r15b
jmp 0x140002d20
cmp al, 0xe8
jne 0x140002bfa
movzx eax, byte [rsp + 0x8b]
movsxd rdx, dword [rsp + 0xa0]
lea rsi, [rsp + 0x5b]
add rax, rdx
add rax, rbp
mov qword [rsp + 0x63], rax
jmp 0x140002cff
mov edx, eax
and edx, 0xfffffffd
cmp dl, 0xe9
jne 0x140002c65
movzx edx, byte [rsp + 0x8b]
add rdx, rbp
cmp al, 0xeb
jne 0x140002c1e
movsx rax, byte [rsp + 0xa0]
jmp 0x140002c26
movsxd rax, dword [rsp + 0xa0]
add rax, rdx
mov rdx, qword [rbx]
cmp rax, rdx
jb 0x140002c46
add rdx, 5
cmp rax, rdx
jae 0x140002c46
cmp r14, rax
cmovb r14, rax
jmp 0x140002d1d
xor r15d, r15d
cmp rbp, r14
mov qword [rsp + 0x53], rax
lea rsi, [rsp + 0x4d]
setae r15b
mov r8d, 0xe
jmp 0x140002d20
mov ecx, eax
and ecx, 0xfffffff0
cmp cl, 0x70
je 0x140002c88
mov edx, eax
and edx, 0xfffffffc
cmp dl, 0xe0
je 0x140002c88
mov dl, byte [rsp + 0x97]
and edx, 0xfffffff0
cmp dl, 0x80
jne 0x140002d07
movzx edx, byte [rsp + 0x8b]
add rdx, rbp
cmp cl, 0x70
je 0x140002ca2
mov ecx, eax
and ecx, 0xfffffffc
cmp cl, 0xe0
jne 0x140002cad
movsx rcx, byte [rsp + 0xa0]
jmp 0x140002cb5
movsxd rcx, dword [rsp + 0xa0]
add rdx, rcx
mov rcx, qword [rbx]
cmp rdx, rcx
jb 0x140002cd2
add rcx, 5
cmp rdx, rcx
jae 0x140002cd2
cmp r14, rdx
cmovb r14, rdx
jmp 0x140002d1d
mov ecx, eax
and ecx, 0xfffffffc
cmp cl, 0xe0
je 0x140002dba
cmp al, 0xf
jne 0x140002ceb
mov al, byte [rsp + 0x97]
and eax, 0xf
mov qword [rsp + 0x73], rdx
mov rsi, qword [rsp + 0x30]
xor eax, 0x71
mov byte [rsp + 0x6b], al
mov r8d, 0x10
jmp 0x140002d1d
and eax, 0xfffffffe
xor r15d, r15d
cmp al, 0xc2
jne 0x140002d20
xor r15d, r15d
cmp rbp, r14
setae r15b
jmp 0x140002d20
xor r15d, r15d
cmp rbp, r14
jae 0x140002d36
movzx eax, byte [rsp + 0x8b]
cmp eax, r8d
jne 0x140002dba
movzx eax, r12b
add eax, r8d
cmp eax, 0x32
ja 0x140002dba
mov eax, dword [rbx + 0x24]
cmp eax, 7
ja 0x140002dba
mov edx, eax
inc eax
mov ecx, r8d
mov byte [rbx + rdx + 0x28], r13b
mov byte [rbx + rdx + 0x30], r12b
add r12d, r8d
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x10]
add rax, r11
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
add r13b, byte [rsp + 0x8b]
test r15d, r15d
je 0x140002b01
cmp r13b, 4
ja 0x140002de8
mov r10, qword [rbx]
movzx r11d, r13b
movzx ecx, r13b
mov edx, 5
sub edx, r11d
add rcx, r10
call fcn.140002a50
test eax, eax
jne 0x140002de8
cmp r13b, 1
ja 0x140002dbf
mov edx, 2
sub edx, r11d
call fcn.140002a50
test eax, eax
jne 0x140002dbf
xor r15d, r15d
jmp 0x140002e0b
lea rcx, [r10 - 5]
call fcn.1400017e5
test eax, eax
je 0x140002dba
mov rax, qword [rbx]
mov edx, 5
lea rcx, [rax - 5]
call fcn.140002a50
test eax, eax
je 0x140002dba
mov dword [rbx + 0x20], 1
mov rax, qword [rbx + 8]
movzx r12d, r12b
add r12, qword [rbx + 0x10]
mov qword [rbx + 0x18], r12
mov qword [rsp + 0x53], rax
mov rdx, qword [rsp + 0x4d]
mov qword [r12], rdx
mov qword [r12 + 6], rax
mov eax, r15d
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret