Function at 0x14034ff96
Capabilities:
Encode data using xor

Disassembly:
push rsi
push r13
push r14
push r15
sub rsp, 0x28
mov r14, r9
mov r15, rdx
cmp r8, rcx
je 0x14034fdbc
mov rax, qword [rcx]
lea rsi, [rcx + 0x18]
mov qword [r8], rax
lea rax, [r8 + 0x18]
sub rax, rsi
mov rdx, qword [rcx + 8]
mov qword [r8 + 8], rdx
cmp rax, 0x30
jge 0x14034fd8c
neg rax
cmp rax, 0x30
mov rax, qword [rcx + 0x18]
mov qword [r8 + 0x18], rax
mov rdx, qword [rcx + 0x20]
mov qword [r8 + 0x20], rdx
mov rsi, qword [rcx + 0x28]
mov qword [r8 + 0x28], rsi
mov r9, qword [rcx + 0x30]
mov qword [r8 + 0x30], r9
mov r10, qword [rcx + 0x38]
mov qword [r8 + 0x38], r10
mov r11, qword [rcx + 0x40]
mov qword [r8 + 0x40], r11
movabs rdx, 0xfffffff00fffffe2
movabs rax, 0xff000001d
and rdx, qword [r14 + 0x18]
and rax, qword [r15 + 0x18]
or rdx, rax
mov qword [r14 + 0x18], rdx
cmp qword [r14 + 0x20], 0
jle 0x14034ff62
test byte [r15 + 0x18], 4
lea r13, [r15 + 0x30]
lea rsi, [r14 + 0x30]
je 0x14034fe06
mov rax, qword [r15 + 0x20]
test rax, rax
je 0x14034fea3
mov rcx, r15
call fcn.140349b60
mov rdx, rax
mov rax, qword [r15 + 0x20]
test rdx, rdx
jne 0x14034fe6a
mov r8d, dword [r15 + 8]
mov r11d, 1
mov r9d, 1
xor r10d, r10d
mov rdx, r13
test rax, rax
jle 0x14034fea3
mov qword [rsp + 0x20], rbx
xor ecx, ecx
imul r8d, r9d
inc r10
mov ebx, dword [rdx + 8]
cmp ebx, r8d
mov r9d, dword [rdx]
mov r8d, ebx
cmovne r11, rcx
add rdx, 0x18
cmp r10, rax
jge 0x14034ff83
test r11, r11
jne 0x14034fe3c
mov rbx, qword [rsp + 0x20]
xor r10d, r10d
mov r9, rsi
xor r8d, r8d
test rax, rax
jle 0x14034fea3
mov qword [r9 + 0x10], 1
inc r10
mov eax, dword [r8 + r13]
add r8, 0x18
cdq
xor eax, edx
sub eax, edx
movsxd rax, eax
mov qword [r9], rax
add r9, 0x18
mov rax, qword [r15 + 0x20]
cmp r10, rax
jl 0x14034fe78
cmp qword [rsp + 0x78], 0
je 0x14034feb5
mov rdx, qword [r15 + 8]
cmp rdx, qword [r14 + 8]
jne 0x14034ff26
test byte [r15 + 0x18], 4
je 0x14034fec5
test rax, rax
je 0x14034ff62
mov rcx, r15
call fcn.140349b60
mov rdx, qword [r15 + 8]
test rax, rax
jne 0x14034ff26
xor r10d, r10d
mov r11d, 1
mov rax, qword [r15 + 0x20]
mov ecx, edx
mov r9d, 1
xor r8d, r8d
test rax, rax
jle 0x14034ff66
mov qword [rsp + 0x20], rbx
imul ecx, r9d
inc r10
mov ebx, dword [r13 + 8]
cmp ebx, ecx
mov r9d, dword [r13]
mov ecx, ebx
cmovne r11, r8
add r13, 0x18
cmp r10, rax
jge 0x14034ffd0
test r11, r11
jne 0x14034fef8
mov rbx, qword [rsp + 0x20]
mov qword [r14 + 0x38], rdx
mov r9d, 1
mov r8d, 0x18
cmp qword [r14 + 0x20], 1
jle 0x14034ff62
mov eax, dword [r8 + rsi - 0x18]
inc r9
cdq
xor eax, edx
sub eax, edx
movsxd rax, eax
imul rax, qword [r8 + rsi - 0x10]
mov qword [r8 + rsi + 8], rax
add r8, 0x18
cmp r9, qword [r14 + 0x20]
jl 0x14034ff3d
mov rdx, qword [r15 + 8]
mov qword [r14 + 8], rdx
cmp qword [rsp + 0x70], 0
je 0x14034ff77
and qword [r14 + 0x18], 0xfffffffffffffffd
add rsp, 0x28
pop r15
pop r14
pop r13
pop rsi
ret
xor r8d, r8d
mov rbx, qword [rsp + 0x20]
xor edx, edx
test r11, r11
je 0x14034fe6a
test rax, rax
jle 0x14034fea3
mov rax, qword [rdx + r13]
inc r8
mov r9, qword [rdx + r13 + 8]
mov r10, qword [rdx + r13 + 0x10]
mov qword [rdx + rsi], rax
mov qword [rdx + rsi + 8], r9
mov qword [rdx + rsi + 0x10], r10
add rdx, 0x18
mov rax, qword [r15 + 0x20]
cmp r8, rax
jl 0x14034ff9f
jmp 0x14034fea3
mov rbx, qword [rsp + 0x20]
test r11, r11
je 0x14034ff26
jmp 0x14034ff66