Function at 0x140065436
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov rsi, r9
mov r10, rdx
mov r15, rcx
mov rax, qword [0x14002e420]
mov qword [rsp + 0x38], rax
test rsi, rsi
je 0x140065469
movzx r9d, word [rsp + 0xa0]
jmp 0x140065476
lea rsi, [rsp + 0x2f]
mov byte [rsi], 0
mov r9w, 1
movsx edi, r8w
xor ecx, ecx
mov eax, ecx
cdq
idiv edi
movsxd rax, edx
movzx ebp, byte [r10 + rax]
shl ebp, 0x18
xor ebp, dword [r15 + rcx + 0x1000]
mov dword [r15 + rcx + 0x1000], ebp
lea eax, [rcx + 1]
cdq
idiv edi
movsxd rax, edx
movzx ebx, byte [r10 + rax]
shl ebx, 0x10
xor ebx, ebp
mov dword [r15 + rcx + 0x1000], ebx
lea eax, [rcx + 2]
cdq
idiv edi
movsxd rax, edx
movzx ebp, byte [r10 + rax]
shl ebp, 8
xor ebp, ebx
mov dword [r15 + rcx + 0x1000], ebp
lea eax, [rcx + 3]
cdq
idiv edi
movsxd rax, edx
movzx eax, byte [r10 + rax]
xor eax, ebp
mov dword [r15 + rcx + 0x1000], eax
add rcx, 4
cmp rcx, 0x48
jne 0x14006547c
lea r14, [rsp + 0x30]
mov qword [r14], 0
movsx ebp, r9w
xor r12d, r12d
xor ebx, ebx
xor edi, edi
lea eax, [rbx + rdi]
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [rsi + rax]
mov ecx, edi
sar ecx, 0x1f
shr ecx, 0x1e
add ecx, edi
and ecx, 0x1c
mov edx, edi
sub edx, ecx
shl edx, 3
mov ecx, 0x18
sub ecx, edx
shl eax, cl
mov ecx, edi
and ecx, 0xfffffffc
xor dword [rsp + rcx + 0x30], eax
inc edi
cmp edi, 8
jne 0x14006550b
add ebx, 8
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x34]
mov r8, r14
mov r9, r15
call fcn.140065090
mov eax, dword [rsp + 0x30]
mov dword [r15 + r12*4 + 0x1000], eax
mov eax, dword [rsp + 0x34]
mov rcx, r12
or rcx, 1
mov dword [r15 + rcx*4 + 0x1000], eax
cmp r12, 0x10
lea r12, [r12 + 2]
jl 0x140065509
mov ebx, 0x48
xor r12d, r12d
lea r14, [rsp + 0x30]
xor edi, edi
lea eax, [rbx + rdi]
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [rsi + rax]
mov ecx, edi
sar ecx, 0x1f
shr ecx, 0x1e
add ecx, edi
and ecx, 0x1c
mov edx, edi
sub edx, ecx
shl edx, 3
mov ecx, 0x18
sub ecx, edx
shl eax, cl
mov ecx, edi
and ecx, 0xfffffffc
xor dword [rsp + rcx + 0x30], eax
inc edi
cmp edi, 8
jne 0x140065594
add ebx, 8
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x34]
mov r8, r14
mov r9, r15
call fcn.140065090
mov eax, dword [rsp + 0x30]
mov dword [r15 + r12*4], eax
mov eax, dword [rsp + 0x34]
mov rcx, r12
or rcx, 1
mov dword [r15 + rcx*4], eax
cmp r12, 0xfe
lea r12, [r12 + 2]
jl 0x140065592
mov ebx, 0x448
xor r12d, r12d
lea r14, [rsp + 0x30]
xor edi, edi
lea eax, [rbx + rdi]
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [rsi + rax]
mov ecx, edi
sar ecx, 0x1f
shr ecx, 0x1e
add ecx, edi
and ecx, 0x1c
mov edx, edi
sub edx, ecx
shl edx, 3
mov ecx, 0x18
sub ecx, edx
shl eax, cl
mov ecx, edi
and ecx, 0xfffffffc
xor dword [rsp + rcx + 0x30], eax
inc edi
cmp edi, 8
jne 0x140065618
add ebx, 8
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x34]
mov r8, r14
mov r9, r15
call fcn.140065090
mov eax, dword [rsp + 0x30]
mov dword [r15 + r12*4 + 0x400], eax
mov eax, dword [rsp + 0x34]
mov rcx, r12
or rcx, 1
mov dword [r15 + rcx*4 + 0x400], eax
cmp r12, 0xfe
lea r12, [r12 + 2]
jl 0x140065616
mov ebx, 0x848
xor r12d, r12d
lea r14, [rsp + 0x30]
xor edi, edi
lea eax, [rbx + rdi]
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [rsi + rax]
mov ecx, edi
sar ecx, 0x1f
shr ecx, 0x1e
add ecx, edi
and ecx, 0x1c
mov edx, edi
sub edx, ecx
shl edx, 3
mov ecx, 0x18
sub ecx, edx
shl eax, cl
mov ecx, edi
and ecx, 0xfffffffc
xor dword [rsp + rcx + 0x30], eax
inc edi
cmp edi, 8
jne 0x1400656a4
add ebx, 8
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x34]
mov r8, r14
mov r9, r15
call fcn.140065090
mov eax, dword [rsp + 0x30]
mov dword [r15 + r12*4 + 0x800], eax
mov eax, dword [rsp + 0x34]
mov rcx, r12
or rcx, 1
mov dword [r15 + rcx*4 + 0x800], eax
cmp r12, 0xfe
lea r12, [r12 + 2]
jl 0x1400656a2
mov ebx, 0xc48
xor r12d, r12d
lea r14, [rsp + 0x30]
xor edi, edi
lea eax, [rbx + rdi]
cdq
idiv ebp
movsxd rax, edx
movzx eax, byte [rsi + rax]
mov ecx, edi
sar ecx, 0x1f
shr ecx, 0x1e
add ecx, edi
and ecx, 0x1c
mov edx, edi
sub edx, ecx
shl edx, 3
mov ecx, 0x18
sub ecx, edx
shl eax, cl
mov ecx, edi
and ecx, 0xfffffffc
xor dword [rsp + rcx + 0x30], eax
inc edi
cmp edi, 8
jne 0x140065730
add ebx, 8
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x34]
mov r8, r14
mov r9, r15
call fcn.140065090
mov eax, dword [rsp + 0x30]
mov dword [r15 + r12*4 + 0xc00], eax
mov eax, dword [rsp + 0x34]
mov rcx, r12
or rcx, 1
mov dword [r15 + rcx*4 + 0xc00], eax
cmp r12, 0xfe
lea r12, [r12 + 2]
jl 0x14006572e
mov rcx, qword [rsp + 0x38]
call fcn.1400a8e70
nop
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret