Function at 0x1403845a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x70
call fcn.1403cb200
sub rsp, rax
mov rcx, r9
mov rbp, r9
mov r14, r8
mov rdi, rdx
xor ebx, ebx
call fcn.14027ad90
mov rcx, rbp
call fcn.14027ac10
mov rcx, rbp
mov qword [rsp + 0x58], rax
mov r13, rax
call fcn.14027ac10
mov rcx, rbp
mov qword [rsp + 0x28], rax
call fcn.14027ac10
mov rcx, rbp
mov qword [rsp + 0x50], rax
mov r15, rax
call fcn.14027ac10
mov qword [rsp + 0x48], rax
mov rbp, rax
test rax, rax
je 0x140384940
mov r8, r14
mov rdx, rdi
mov rcx, r15
call fcn.140383fe0
test eax, eax
je 0x140384940
mov rcx, r15
call fcn.140279e80
test eax, eax
jne 0x140384940
mov rdx, r14
mov rcx, rbp
call fcn.140279c60
test rax, rax
je 0x140384940
mov rcx, r15
call fcn.140279f80
mov rcx, rbp
mov esi, eax
call fcn.140279f80
movsxd rdi, dword [r14 + 8]
mov rcx, r15
mov edx, edi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x38], edi
call fcn.14027aab0
test rax, rax
je 0x140384940
movsxd rax, dword [r15 + 8]
mov r14, qword [r15]
cmp rax, rdi
jge 0x1403846b0
mov r8, rdi
lea rcx, [r14 + rax*8]
sub r8, rax
xor edx, edx
shl r8, 3
call fcn.1403ccc50
mov edx, edi
mov dword [r15 + 8], edi
mov rcx, r13
call fcn.14027aab0
test rax, rax
je 0x140384940
mov r12, qword [r13]
mov eax, 1
mov qword [r12], rax
cmp edi, eax
jle 0x1403846ee
lea eax, [rdi - 1]
xor edx, edx
movsxd r8, eax
lea rcx, [r12 + 8]
shl r8, 3
call fcn.1403ccc50
mov rcx, qword [rsp + 0x28]
mov edx, edi
mov dword [r13 + 8], edi
call fcn.14027aab0
test rax, rax
je 0x140384940
mov rcx, qword [rsp + 0x28]
mov r11, qword [rcx]
mov qword [rsp + 0x40], r11
test edi, edi
jle 0x14038472e
mov r8, rdi
xor edx, edx
shl r8, 3
mov rcx, r11
call fcn.1403ccc50
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 8], edi
mov r8, qword [rbp]
mov qword [rsp + 0x30], r8
test esi, esi
je 0x140384810
mov r15, qword [rsp + 0xc0]
mov r13d, 1
mov r9, qword [r14]
test r13b, r9b
jne 0x1403847f7
mov rax, qword [r15]
mov r11, rbx
mov r8, qword [r12]
mov r10, r8
and r10, r13
mov rcx, qword [rax]
neg r10
and rcx, r10
lea eax, [rdi - 1]
xor r8, rcx
cdqe
test rax, rax
jle 0x1403847e0
mov rbp, r14
lea rbx, [r12 + 8]
sub rbp, r12
mov r11, rax
mov rdi, rax
mov rax, qword [rbx + rbp]
mov rcx, rbx
shl rax, 0x3f
sub rcx, r12
shr r9, 1
or rax, r9
shr r8, 1
mov r9, qword [rbx + rbp]
mov qword [rbx + rbp - 8], rax
mov rax, qword [r15]
mov rdx, qword [rcx + rax]
and rdx, r10
xor rdx, qword [rbx]
mov rax, rdx
shl rax, 0x3f
or rax, r8
mov r8, rdx
mov qword [rbx - 8], rax
add rbx, 8
sub rdi, r13
jne 0x140384793
mov edi, dword [rsp + 0x38]
xor ebx, ebx
shr r9, 1
shr r8, 1
mov qword [r14 + r11*8], r9
mov qword [r12 + r11*8], r8
sub esi, r13d
jne 0x140384750
mov r15, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
cmp esi, 0x40
jg 0x140384828
cmp qword [r14], rbx
je 0x140384940
cmp qword [r14], 1
je 0x14038491d
mov edx, dword [rsp + 0x20]
cmp esi, edx
jge 0x140384877
mov r12, qword [rsp + 0x40]
mov rax, r15
mov r15, rbp
mov qword [rsp + 0x50], rbp
mov rbp, rax
mov qword [rsp + 0x48], rax
mov rax, r13
mov dword [rsp + 0x20], esi
mov r14, r8
mov qword [rsp + 0x58], rcx
mov r13, rcx
mov qword [rsp + 0x28], rax
mov r8, qword [rbp]
mov esi, edx
mov r11, qword [rax]
mov rcx, rax
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x30], r8
jmp 0x14038487c
mov r11, qword [rsp + 0x40]
movsxd rax, edi
test edi, edi
jle 0x1403848c2
mov r9, r11
sub r8, r14
sub r9, r14
mov rdx, r12
sub rdx, r14
mov rcx, r14
mov r10, rax
mov r11d, 1
mov rax, qword [rcx + r8]
xor qword [rcx], rax
mov rax, qword [rcx + r9]
xor qword [rcx + rdx], rax
lea rcx, [rcx + 8]
sub r10, r11
jne 0x14038489e
mov rcx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp 0x1403848c8
mov r11d, 1
cmp esi, dword [rsp + 0x20]
jne 0x14038473a
lea eax, [rsi - 1]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
movsxd rbp, eax
mov rax, rbp
mov rcx, qword [r14 + rbp*8]
jmp 0x1403848f9
test rax, rax
je 0x1403848fe
sub ebp, r11d
sub rax, r11
mov rcx, qword [r14 + rax*8]
test rcx, rcx
je 0x1403848ea
call fcn.14027a060
mov rcx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
shl ebp, 6
lea esi, [rax + rbp]
mov rbp, qword [rsp + 0x48]
jmp 0x14038473a
mov rcx, r13
call fcn.14027a8a0
mov rcx, qword [rsp + 0xb0]
mov rdx, r13
call fcn.140279c60
test rax, rax
mov eax, 1
cmovne ebx, eax
mov rcx, qword [rsp + 0xc8]
call fcn.14027aae0
mov eax, ebx
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret