Function at 0x140072b70
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x1400df040]
xor rax, rsp
mov qword [rbp + 7], rax
movzx r15d, r8b
mov rdi, rdx
mov rbx, rcx
test r8b, r8b
je 0x140072ba5
xor ecx, ecx
jmp 0x140072ba9
mov rcx, qword [rcx + 0x10]
mov r14, qword [rbx + 0x60]
test r14, r14
je 0x140072ef6
movups xmm0, xmmword [r14 + 0x10]
mov qword [rsp + 0x118], rsi
movups xmm2, xmmword [r14]
mov qword [rsp + 0x120], r12
movups xmm1, xmmword [r14 + 0x20]
movups xmmword [rbp - 0x69], xmm0
movq rax, xmm2
movups xmm0, xmmword [r14 + 0x30]
xor rax, rcx
lea rcx, [rbp - 0x79]
movdqu xmmword [rbp - 0x79], xmm2
movaps xmmword [rsp + 0xd0], xmm6
movups xmmword [rbp - 0x49], xmm0
movaps xmmword [rsp + 0xc0], xmm7
movups xmmword [rbp - 0x59], xmm1
mov qword [rbp - 0x79], rax
call fcn.1400731b0
movdqu xmm4, xmmword [rbp - 0x79]
lea r12, [0x1400caa50]
movdqu xmm5, xmmword [rbp - 0x69]
xor esi, esi
movdqu xmm6, xmmword [rbp - 0x59]
movdqu xmm7, xmmword [rbp - 0x49]
movdqa xmm1, xmm6
movdqu xmm0, xmmword [rdi]
xorps xmm0, xmm4
movdqu xmmword [rbp - 0x79], xmm0
movdqu xmm0, xmmword [rdi + 0x10]
xorps xmm0, xmm5
movdqu xmmword [rbp - 0x69], xmm0
movdqu xmm0, xmmword [rdi + 0x20]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rdi + 0x30]
movdqu xmmword [rbp - 0x59], xmm1
xorps xmm0, xmm7
movdqu xmmword [rbp - 0x49], xmm0
movdqu xmm0, xmmword [rsi + r12]
lea rcx, [rbp - 0x39]
xorps xmm0, xmm4
movdqu xmmword [rbp - 0x39], xmm0
movdqu xmm0, xmmword [rsi + r12 + 0x10]
xorps xmm0, xmm5
movdqu xmmword [rbp - 0x29], xmm0
movdqu xmm0, xmmword [rsi + r12 + 0x20]
xorps xmm0, xmm6
movdqu xmmword [rbp - 0x19], xmm0
movdqu xmm0, xmmword [rsi + r12 + 0x30]
xorps xmm0, xmm7
movdqu xmmword [rbp - 9], xmm0
call fcn.1400731b0
lea rcx, [rbp - 0x79]
call fcn.1400731b0
movdqu xmm4, xmmword [rbp - 0x39]
add rsi, 0x40
movdqu xmm5, xmmword [rbp - 0x29]
movdqa xmm1, xmm4
movdqu xmm6, xmmword [rbp - 0x19]
movdqa xmm0, xmm5
movdqu xmm7, xmmword [rbp - 9]
movdqa xmm2, xmm6
xorps xmm1, xmmword [rbp - 0x79]
movdqa xmm3, xmm7
xorps xmm0, xmmword [rbp - 0x69]
xorps xmm2, xmmword [rbp - 0x59]
xorps xmm3, xmmword [rbp - 0x49]
movdqu xmmword [rbp - 0x79], xmm1
movdqu xmmword [rbp - 0x69], xmm0
movdqu xmmword [rbp - 0x59], xmm2
movdqu xmmword [rbp - 0x49], xmm3
cmp rsi, 0x300
jb 0x140072c63
mov rcx, qword [r14]
movq rax, xmm1
xor rcx, qword [rdi]
movaps xmm7, xmmword [rsp + 0xc0]
xor rcx, rax
movaps xmm6, xmmword [rsp + 0xd0]
mov r12, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x118]
mov qword [r14], rcx
mov rcx, qword [rbx + 0x60]
psrldq xmm1, 8
movq rax, xmm1
xor rax, qword [rcx + 8]
xor rax, qword [rdi + 8]
mov qword [rcx + 8], rax
movq rax, xmm0
mov rcx, qword [rbx + 0x60]
psrldq xmm0, 8
xor rax, qword [rcx + 0x10]
xor rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
movq rax, xmm0
xor rax, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x60]
xor qword [rcx + 0x18], rax
movq rax, xmm2
mov rcx, qword [rbx + 0x60]
psrldq xmm2, 8
xor rax, qword [rcx + 0x20]
xor rax, qword [rdi + 0x20]
mov qword [rcx + 0x20], rax
movq rax, xmm2
mov rcx, qword [rbx + 0x60]
xor rax, qword [rcx + 0x28]
xor rax, qword [rdi + 0x28]
mov qword [rcx + 0x28], rax
movq rax, xmm3
mov rcx, qword [rbx + 0x60]
psrldq xmm3, 8
xor rax, qword [rcx + 0x30]
xor rax, qword [rdi + 0x30]
mov qword [rcx + 0x30], rax
movq rax, xmm3
xor rax, qword [rdi + 0x38]
mov rcx, qword [rbx + 0x60]
xor qword [rcx + 0x38], rax
test r15b, r15b
jne 0x140072edb
mov r8, qword [rdi]
xor eax, eax
mov rdx, qword [rbx + 0x78]
mov r9, qword [rdx]
add r9, r8
mov qword [rdx], r9
cmp r9, r8
je 0x140072dfc
setb al
mov r8, qword [rdi + 8]
mov rcx, qword [rbx + 0x78]
mov rdx, qword [rcx + 8]
add rdx, r8
add rdx, rax
mov qword [rcx + 8], rdx
cmp rdx, r8
je 0x140072e1f
xor eax, eax
cmp rdx, r8
setb al
mov r8, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x78]
mov rdx, qword [rcx + 0x10]
add rdx, r8
add rdx, rax
mov qword [rcx + 0x10], rdx
cmp rdx, r8
je 0x140072e42
xor eax, eax
cmp rdx, r8
setb al
mov r8, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x78]
mov rdx, qword [rcx + 0x18]
add rdx, r8
add rdx, rax
mov qword [rcx + 0x18], rdx
cmp rdx, r8
je 0x140072e65
xor eax, eax
cmp rdx, r8
setb al
mov r8, qword [rdi + 0x20]
mov rcx, qword [rbx + 0x78]
lea rdx, [r8 + rax]
add rdx, qword [rcx + 0x20]
mov qword [rcx + 0x20], rdx
cmp rdx, r8
je 0x140072e86
xor eax, eax
cmp rdx, r8
setb al
mov r8, qword [rdi + 0x28]
mov rcx, qword [rbx + 0x78]
mov rdx, qword [rcx + 0x28]
add rdx, r8
add rdx, rax
mov qword [rcx + 0x28], rdx
cmp rdx, r8
je 0x140072ea9
xor eax, eax
cmp rdx, r8
setb al
mov r8, qword [rdi + 0x30]
mov rcx, qword [rbx + 0x78]
mov rdx, qword [rcx + 0x30]
add rdx, r8
add rdx, rax
mov qword [rcx + 0x30], rdx
cmp rdx, r8
je 0x140072ecc
xor eax, eax
cmp rdx, r8
setb al
mov rcx, qword [rdi + 0x38]
mov rdx, qword [rbx + 0x78]
add rcx, rax
add qword [rdx + 0x38], rcx
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140092a00
add rsp, 0xe0
pop r15
pop r14
pop rdi
pop rbx
pop rbp
ret
lea r9, str.build_include_public_botan_mem_ops.h
mov dword [rsp + 0x20], 0x93
lea r8, str.copy_mem
lea rdx, str.If_n___0_then_args_are_not_null
lea rcx, str.n___0_implies_in___nullptr__out___nullptr
call fcn.14000e220
int3