Function at 0x1400a4914
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, 0x30
mov r14d, r8d
mov rdi, rdx
mov rsi, rcx
test r8d, r8d
je 0x1400a4956
test rdx, rdx
jne 0x1400a4963
lea r8, str.pbVal___NULL
mov edx, 0x2c6
lea rcx, str.base_stor_blbcatalog_atomtbl.cpp
call fcn.14008410c
test rdi, rdi
jne 0x1400a4963
or eax, 0xffffffff
jmp 0x1400a4af4
xor eax, eax
test r14d, r14d
je 0x1400a4980
mov rdx, rdi
mov r8, r14
movzx ecx, byte [rdx]
inc rdx
rol eax, 1
xor eax, ecx
sub r8, 1
jne 0x1400a4970
mov r9, qword [rsi + 0x10]
xor edx, edx
div dword [rsi]
mov ecx, edx
shl rcx, 3
add r9, rcx
mov ebx, edx
mov r15d, edx
mov qword [rbp + 0x58], rcx
mov r12, qword [r9]
test r12, r12
jne 0x1400a49c0
mov r8d, r14d
mov rdx, rdi
mov rcx, rsi
call fcn.1400a6878
test eax, eax
js 0x1400a4b09
shl ebx, 0xb
jmp 0x1400a4af2
mov rax, qword [rsi + 0x18]
mov ecx, ebx
and ecx, 0x1f
shr r15, 5
mov r13d, 1
shl r13d, cl
test dword [rax + r15*4], r13d
jne 0x1400a4a59
cmp byte [r12], 9
jne 0x1400a4a0d
lea r9, [rbp + 0x48]
mov rdx, r12
lea r8, [rbp + 0x50]
call fcn.1400a76f0
cmp dword [rbp + 0x50], r14d
jne 0x1400a4a0d
mov r8d, dword [rbp + 0x50]
mov rdx, rdi
mov rcx, qword [rbp + 0x48]
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a49b8
lea r9, [rbp + 0x48]
mov r8d, r14d
mov rdx, rdi
mov rcx, rsi
call fcn.1400a6878
test eax, eax
js 0x1400a4b1d
mov r9, qword [rbp + 0x58]
mov rdx, r12
add r9, qword [rsi + 0x10]
mov rcx, rsi
mov r8, qword [rbp + 0x48]
call fcn.1400a6948
test eax, eax
js 0x1400a4b31
mov rax, qword [rsi + 0x18]
shl ebx, 0xb
or dword [rax + r15*4], r13d
or ebx, 1
jmp 0x1400a4af2
mov r13d, dword [r12]
lea rax, [r12 + 8]
xor r15d, r15d
mov qword [rbp + 0x48], rax
test r13d, r13d
je 0x1400a4ab1
mov rdx, qword [rax]
cmp byte [rdx], 9
jne 0x1400a4aa1
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x50]
call fcn.1400a76f0
cmp dword [rbp + 0x50], r14d
jne 0x1400a4a9d
mov r8d, dword [rbp + 0x50]
mov rdx, rdi
mov rcx, qword [rbp - 0x10]
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400a4ac9
mov rax, qword [rbp + 0x48]
add rax, 8
inc r15d
mov qword [rbp + 0x48], rax
cmp r15d, r13d
jb 0x1400a4a6e
lea r9, [rbp + 0x48]
mov r8d, r14d
mov rdx, rdi
mov rcx, rsi
call fcn.1400a6878
test eax, eax
jns 0x1400a4ad1
jmp 0x1400a4b45
shl ebx, 0xb
or ebx, r15d
jmp 0x1400a4af2
mov r9, qword [rbp + 0x58]
mov rdx, r12
add r9, qword [rsi + 0x10]
mov rcx, rsi
mov r8, qword [rbp + 0x48]
call fcn.1400a6a74
test eax, eax
js 0x1400a4b59
shl ebx, 0xb
or ebx, r13d
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, [0x14016e150]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [0x14016e150]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [0x14016e150]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [0x14016e150]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3
lea rdx, [0x14016e150]
mov dword [rbp + 0x50], eax
lea rcx, [rbp + 0x50]
call sub.msvcrt.dll__CxxThrowException
int3