Function at 0x14002ca84
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r14, rcx
mov r12, rdx
mov ecx, 0x10
call qword [sym.imp.tbbmalloc.dll_scalable_malloc]
mov rdi, rax
test rax, rax
je 0x14008ff3a
and qword [rax], 0
mov r15d, 1
and qword [rbp - 0x30], 0
mov dword [rax + 8], 0x10275c4
mov dword [rax + 0xc], 1
lea rax, [fcn.14002b6dc]
mov qword [rbp - 0x40], rax
lea rax, [fcn.140023310]
mov qword [rbp - 0x38], rax
mov rax, qword [r14 + 0xf00]
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x40]
call fcn.14002b6dc
test al, al
je 0x14002cbac
and qword [rbp - 0x10], 0
lea rax, [fcn.14002d42c]
mov qword [rbp - 0x20], rax
lea rax, [fcn.140023310]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 8], rax
lea rcx, [rbp - 0x20]
call fcn.14002d42c
test al, al
je 0x14002cafe
mov rax, qword [rbp - 0x10]
mov ebx, dword [rax + 0x88]
test ebx, 0xffff0000
je 0x14002cb94
mov rax, rdi
test rdi, rdi
je 0x14002cb6b
cmp dword [rax + 8], ebx
jne 0x14002cb63
inc dword [rax + 0xc]
jmp 0x14002cb32
mov rax, qword [rax]
test rax, rax
jne 0x14002cb59
mov ecx, 0x10
call qword [sym.imp.tbbmalloc.dll_scalable_malloc]
test rax, rax
je 0x14008ff3a
mov qword [rax], rdi
inc r15
mov rdi, rax
mov dword [rax + 8], ebx
mov dword [rax + 0xc], 1
jmp 0x14002cb32
test byte [rax + 0x128], 0x40
je 0x14002cb51
mov rax, qword [0x1401fa458]
mov ebx, dword [rax + 0x88]
jmp 0x14002cb51
mov r8d, dword [r14 + 0xf48]
xor edx, edx
mov esi, r8d
test r8d, r8d
je 0x14002cbd9
mov r9, qword [r14 + 0xf40]
movzx eax, byte [r9]
inc r9
movzx ecx, dl
inc edx
rol eax, cl
add esi, eax
cmp edx, r8d
jb 0x14002cbc4
mov rdx, rdi
test rdi, rdi
je 0x14002cbf4
movzx ecx, byte [rdx + 0xc]
mov eax, dword [rdx + 8]
mov rdx, qword [rdx]
rol eax, cl
add esi, eax
test rdx, rdx
jne 0x14002cbe1
mov ecx, esi
lea r10, [r15*8 + 0x18]
shr ecx, 5
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [rdx + rdx*2]
sub ecx, eax
mov eax, dword [r14 + 0x1270]
and eax, 0x200
mov r11d, ecx
inc r11
neg eax
movzx eax, word [r14 + 0x4a]
sbb edx, edx
add r8d, 0xf8
and edx, 0x10
lea ecx, [rax + rax*4]
lea eax, [r8 + rdx]
mov r8d, dword [r14 + 0x84]
lea r9d, [rax + rcx*8]
xor edx, edx
add r9d, r10d
lea ecx, [r9 - 1]
mov eax, ecx
div r8d
sub r8d, edx
sub r8d, r9d
lea eax, [rcx + r8]
mov ecx, 8
shr rax, 3
cmp rax, r11
cmovae rax, r11
lea r15, [r10 + rax*8]
mov rdx, r15
call fcn.14004881c
test rax, rax
je 0x14008ff3a
mov qword [r12], rax
lea r14, [rax + 8]
mov ecx, esi
mov dword [r14], esi
xor ecx, 0x536e6144
mov dword [r14 + 4], esi
add r14, 8
mov dword [rax], ecx
mov dword [rax + 4], esi
test rdi, rdi
je 0x14002ccd1
mov eax, esi
mov edx, esi
xor eax, dword [rdi + 8]
mov rcx, rdi
mov dword [r14], eax
xor edx, dword [rdi + 0xc]
mov dword [r14 + 4], edx
add r14, 8
mov rbx, qword [rdi]
call qword [sym.imp.tbbmalloc.dll_scalable_free]
mov rdi, rbx
test rbx, rbx
jne 0x14002cca8
lea r11, [rsp + 0x60]
mov dword [r14 + 4], esi
mov rbx, qword [r11 + 0x20]
mov eax, r15d
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov dword [r14], 0x68636952
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
int3