Function at 0x140052e60
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rax, qword [0x1400f40c0]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r14, rcx
mov rax, r8
lea rcx, [r8 - 1]
mov qword [rsp + 0x20], rax
mov r15, rcx
mov qword [rsp + 0x28], rcx
sar r15, 1
mov rbp, r9
mov r12, rdx
mov r13, rdx
mov rsi, rdx
cmp rdx, r15
jge 0x140052f55
nop
lea rbx, [rsi + rsi]
lea rdx, [rbx + 2]
lea rdx, [rdx + rdx*2]
shl rdx, 5
lea rcx, [rsp + 0xb0]
add rdx, r14
lea r8, [rdx - 0x60]
call fcn.1400439f0
movzx esi, al
xor rsi, 1
inc rsi
add rsi, rbx
lea rbx, [r12 + r12*2]
shl rbx, 5
add rbx, r14
mov rcx, rbx
lea rdi, [rsi + rsi*2]
shl rdi, 5
add rdi, r14
mov rdx, rdi
call fcn.14000fc70
mov rax, qword [rdi + 0x20]
mov r12, rsi
mov qword [rbx + 0x20], rax
movzx eax, byte [rdi + 0x28]
mov byte [rbx + 0x28], al
mov rax, qword [rdi + 0x30]
mov qword [rbx + 0x30], rax
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x38], rax
movzx eax, byte [rdi + 0x40]
mov byte [rbx + 0x40], al
mov rax, qword [rdi + 0x48]
mov qword [rbx + 0x48], rax
mov rax, qword [rdi + 0x50]
mov qword [rbx + 0x50], rax
mov eax, dword [rdi + 0x58]
mov dword [rbx + 0x58], eax
mov eax, dword [rdi + 0x5c]
mov dword [rbx + 0x5c], eax
cmp rsi, r15
jl 0x140052eb0
mov rax, qword [rsp + 0x20]
mov rdi, rsi
cmp rsi, r15
jne 0x140052fca
test al, 1
jne 0x140052fca
lea rbx, [rax + rax*2]
shl rbx, 5
lea rdi, [rsi + rsi*2]
add rbx, r14
shl rdi, 5
add rdi, r14
mov rcx, rdi
lea rdx, [rbx - 0x60]
call fcn.14000fc70
mov rax, qword [rbx - 0x40]
mov qword [rdi + 0x20], rax
movzx eax, byte [rbx - 0x38]
mov byte [rdi + 0x28], al
mov rax, qword [rbx - 0x30]
mov qword [rdi + 0x30], rax
mov rax, qword [rbx - 0x28]
mov qword [rdi + 0x38], rax
movzx eax, byte [rbx - 0x20]
mov byte [rdi + 0x40], al
mov rax, qword [rbx - 0x18]
mov qword [rdi + 0x48], rax
mov rax, qword [rbx - 0x10]
mov qword [rdi + 0x50], rax
mov eax, dword [rbx - 8]
mov dword [rdi + 0x58], eax
mov eax, dword [rbx - 4]
mov dword [rdi + 0x5c], eax
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rax
cmp r13, rdi
jge 0x14005306a
lea rsi, [rdi - 1]
mov r8, rbp
sar rsi, 1
lea rcx, [rsp + 0x28]
lea rbx, [rsi + rsi*2]
shl rbx, 5
add rbx, r14
mov rdx, rbx
call fcn.1400439f0
test al, al
je 0x14005306a
lea rdi, [rdi + rdi*2]
mov rdx, rbx
shl rdi, 5
add rdi, r14
mov rcx, rdi
call fcn.14000fc70
mov rax, qword [rbx + 0x20]
mov qword [rdi + 0x20], rax
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x28], al
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x30], rax
mov rax, qword [rbx + 0x38]
mov qword [rdi + 0x38], rax
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x40], al
mov rax, qword [rbx + 0x48]
mov qword [rdi + 0x48], rax
mov rax, qword [rbx + 0x50]
mov qword [rdi + 0x50], rax
mov eax, dword [rbx + 0x58]
mov dword [rdi + 0x58], eax
mov eax, dword [rbx + 0x5c]
mov dword [rdi + 0x5c], eax
mov rdi, rsi
cmp r13, rsi
jl 0x140052fe0
lea rbx, [rdi + rdi*2]
mov rdx, rbp
shl rbx, 5
add rbx, r14
mov rcx, rbx
call fcn.14000fc70
mov rax, qword [rbp + 0x20]
mov qword [rbx + 0x20], rax
movzx eax, byte [rbp + 0x28]
mov byte [rbx + 0x28], al
mov rax, qword [rbp + 0x30]
mov qword [rbx + 0x30], rax
mov rax, qword [rbp + 0x38]
mov qword [rbx + 0x38], rax
movzx eax, byte [rbp + 0x40]
mov byte [rbx + 0x40], al
mov rax, qword [rbp + 0x48]
mov qword [rbx + 0x48], rax
mov rax, qword [rbp + 0x50]
mov qword [rbx + 0x50], rax
mov eax, dword [rbp + 0x58]
mov dword [rbx + 0x58], eax
mov eax, dword [rbp + 0x5c]
mov dword [rbx + 0x5c], eax
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140093780
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret