Function at 0x1400a1b58
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x20
mov esi, r8d
mov r14, rdx
mov rdi, rcx
test r8d, r8d
je 0x1400a1b9a
test rdx, rdx
jne 0x1400a1ba7
lea r8, str.pbVal___NULL
mov edx, 0x2c6
lea rcx, str.base_stor_blbcatalog_atomtbl.cpp
call fcn.140081b60
test r14, r14
jne 0x1400a1ba7
or eax, 0xffffffff
jmp 0x1400a1d5d
xor eax, eax
test esi, esi
je 0x1400a1bc3
mov rdx, r14
mov r8, rsi
movzx ecx, byte [rdx]
inc rdx
rol eax, 1
xor eax, ecx
sub r8, 1
jne 0x1400a1bb3
mov r9, qword [rdi + 0x10]
xor edx, edx
div dword [rdi]
mov ecx, edx
shl rcx, 3
add r9, rcx
mov ebx, edx
mov r12d, edx
mov qword [rbp + 0x58], rcx
mov r15, qword [r9]
test r15, r15
jne 0x1400a1c03
mov r8d, esi
mov rdx, r14
mov rcx, rdi
call fcn.1400a3b0c
test eax, eax
js 0x1400a1d72
shl ebx, 0xb
jmp 0x1400a1d5b
mov rax, qword [rdi + 0x18]
mov ecx, ebx
and ecx, 0x1f
shr r12, 5
mov r13d, 1
shl r13d, cl
test dword [rax + r12*4], r13d
jne 0x1400a1cad
cmp byte [r15], 9
jne 0x1400a1c61
lea rax, [r15 + 1]
and eax, 7
lea rcx, [0x14014ce98]
mov ecx, dword [rcx + rax*4]
mov eax, dword [rcx + r15 + 1]
test eax, eax
jne 0x1400a1c47
xor ecx, ecx
jmp 0x1400a1c4e
add rcx, 5
add rcx, r15
cmp eax, esi
jne 0x1400a1c61
mov r8, rax
mov rdx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a1bfb
lea r9, [rbp + 0x48]
mov r8d, esi
mov rdx, r14
mov rcx, rdi
call fcn.1400a3b0c
test eax, eax
js 0x1400a1d86
mov r9, qword [rbp + 0x58]
mov rdx, r15
add r9, qword [rdi + 0x10]
mov rcx, rdi
mov r8, qword [rbp + 0x48]
call fcn.1400a3bd8
test eax, eax
js 0x1400a1d9a
mov rax, qword [rdi + 0x18]
shl ebx, 0xb
or dword [rax + r12*4], r13d
or ebx, 1
jmp 0x1400a1d5b
mov r13d, dword [r15]
xor r12d, r12d
test r13d, r13d
je 0x1400a1d1a
lea rcx, [r15 + 8]
mov qword [rbp + 0x48], rcx
lea rdx, [0x14014ce98]
mov rcx, qword [rcx]
cmp byte [rcx], 9
jne 0x1400a1d06
lea rax, [rcx + 1]
and eax, 7
mov edx, dword [rdx + rax*4]
mov eax, dword [rdx + rcx + 1]
test eax, eax
jne 0x1400a1ce5
xor ecx, ecx
jmp 0x1400a1cec
add rcx, 5
add rcx, rdx
cmp eax, esi
jne 0x1400a1cff
mov r8, rax
mov rdx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a1d32
lea rdx, [0x14014ce98]
mov rcx, qword [rbp + 0x48]
inc r12d
add rcx, 8
mov qword [rbp + 0x48], rcx
cmp r12d, r13d
jb 0x1400a1cc7
lea r9, [rbp + 0x48]
mov r8d, esi
mov rdx, r14
mov rcx, rdi
call fcn.1400a3b0c
test eax, eax
jns 0x1400a1d3a
jmp 0x1400a1dae
shl ebx, 0xb
or ebx, r12d
jmp 0x1400a1d5b
mov r9, qword [rbp + 0x58]
mov rdx, r15
add r9, qword [rdi + 0x10]
mov rcx, rdi
mov r8, qword [rbp + 0x48]
call fcn.1400a3cfc
test eax, eax
js 0x1400a1dc2
shl ebx, 0xb
or ebx, r13d
mov eax, ebx
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, [0x1401694c8]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [0x1401694c8]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [0x1401694c8]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [0x1401694c8]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [0x1401694c8]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3