Function at 0x140384a90
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xb8
call fcn.1403cb200
sub rsp, rax
mov rax, qword [0x1404f2b48]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r15, qword [rsp + 0x120]
xor ebx, ebx
mov qword [rsp + 0x70], r9
mov r10, r9
mov qword [rsp + 0x60], r8
mov r12, r8
mov qword [rsp + 0x78], rcx
mov r14, rdx
mov qword [rsp + 0x68], r15
cmp rdx, r8
jne 0x140384af8
mov r9, r15
mov r8, r10
call fcn.1403850c0
jmp 0x140384d23
mov rcx, r15
call fcn.14027ad90
mov rcx, r15
call fcn.14027ac10
mov rsi, rax
test rax, rax
je 0x140384d19
mov edx, dword [r14 + 8]
mov rcx, rax
mov edi, dword [r12 + 8]
add edx, 4
add edi, edx
mov edx, edi
call fcn.14027aab0
test rax, rax
je 0x140384d19
mov dword [rsi + 8], edi
mov ebp, ebx
mov r8d, 1
test edi, edi
jle 0x140384ba0
cmp edi, 2
jb 0x140384ba0
mov r9, qword [rsi]
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
cmp r9, rsi
ja 0x140384b60
cmp rax, rsi
jae 0x140384ba0
mov eax, edi
and eax, 0x80000001
jge 0x140384b72
sub eax, r8d
or eax, 0xfffffffe
add eax, r8d
mov edx, edi
sub edx, eax
add ebp, 2
cmp ebp, edx
jl 0x140384b76
lea eax, [rdx + 1]
mov rcx, r9
cdq
sub eax, edx
xor edx, edx
sar eax, 1
movsxd r8, eax
shl r8, 4
and r8, 0xfffffffffffffff8
call fcn.1403ccc50
mov r8d, 1
movsxd rcx, ebp
movsxd rdx, edi
jmp 0x140384bb2
mov rax, qword [rsi]
mov qword [rax + rcx*8], rbx
add rcx, r8
cmp rcx, rdx
jl 0x140384ba8
mov ecx, dword [r12 + 8]
mov r13d, ebx
mov dword [rsp + 0x34], ebx
test ecx, ecx
jle 0x140384cf5
mov r8, rbx
mov qword [rsp + 0x38], rbx
mov rdi, rbx
mov qword [rsp + 0x50], rbx
mov r15d, 8
mov rdx, qword [r12]
mov rax, qword [rdi + rdx]
mov qword [rsp + 0x58], rax
lea eax, [r13 + 1]
cmp eax, ecx
jne 0x140384bfd
mov qword [rsp + 0x40], rbx
jmp 0x140384c07
mov rax, qword [rdi + rdx + 8]
mov qword [rsp + 0x40], rax
mov ecx, dword [r14 + 8]
mov edx, ebx
mov dword [rsp + 0x30], ebx
test ecx, ecx
jle 0x140384cc3
mov r12, qword [rsp + 0x38]
lea rax, [rsp + r15 + 0x78]
mov r13, qword [rsp + 0x40]
mov rbp, rdi
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
mov r8, qword [r14]
lea rax, [r12 + rbp]
mov r10, qword [rax + r8]
lea eax, [rdx + 1]
cmp eax, ecx
jne 0x140384c4c
mov rdx, rbx
jmp 0x140384c54
lea rax, [r15 + rbp]
mov rdx, qword [rax + r8]
mov r9, r13
mov qword [rsp + 0x20], rdi
mov r8, r10
lea rcx, [rsp + 0x80]
call fcn.140086d50
mov r9, qword [rsp + 0x48]
mov rdx, rbp
mov r8d, 4
mov rax, qword [r9 + rdx]
mov rcx, qword [rsi]
xor qword [rdx + rcx], rax
lea rdx, [rdx + 8]
sub r8, 1
jne 0x140384c7a
mov edx, dword [rsp + 0x30]
sub r9, 0x10
mov ecx, dword [r14 + 8]
add edx, 2
add rbp, 0x10
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x48], r9
cmp edx, ecx
jl 0x140384c35
mov rdi, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x34]
mov r12, qword [rsp + 0x60]
mov r8, qword [rsp + 0x38]
mov ecx, dword [r12 + 8]
add r13d, 2
add rdi, 0x10
mov dword [rsp + 0x34], r13d
sub r8, 0x10
mov qword [rsp + 0x50], rdi
sub r15, 0x10
mov qword [rsp + 0x38], r8
cmp r13d, ecx
jl 0x140384be1
mov r15, qword [rsp + 0x68]
mov rcx, rsi
call fcn.14027a8a0
mov r8, qword [rsp + 0x70]
mov rdx, rsi
mov rcx, qword [rsp + 0x78]
call fcn.140384080
test eax, eax
mov eax, 1
cmovne ebx, eax
mov rcx, r15
call fcn.14027aae0
mov eax, ebx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1403cb150
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret