Function at 0x140453880
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x70
mov rax, qword [rdx + 0x10]
mov r10, qword [r8]
mov r11, qword [r8 + 8]
mov r8d, dword [rax]
mov r13, rcx
mov r12, rdx
mov rbx, r9
test r8d, r8d
je 0x1404538f0
lea rcx, [rsp + 0x30]
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], r11
call fcn.14044f5b0
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
test rax, rax
je 0x1404538f2
mov qword [r13], rax
mov byte [r13 + 8], 0
mov rax, r13
add rsp, 0x70
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
xor esi, esi
mov rax, qword [r12]
mov r14, qword [rbx]
mov rbp, qword [rbx + 8]
test al, 1
jne 0x140453a10
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x48], 0
cmp rbp, 0x7ffffffe
ja 0x140453a34
test rax, rax
jne 0x140453b3f
lea rcx, [0x140548480]
mov rax, qword [rcx]
lea rdx, [rbp + 1]
mov r8d, 1
call qword [rax + 0x10]
mov rbx, rax
mov r8, rbp
mov rdx, r14
mov rcx, rax
call sub.msvcrt.dll_memcpy
lea rdi, [rbx + rbp]
mov byte [rdi], 0
mov rax, qword [r12 + 0x10]
mov dword [rsp + 0x60], ebp
mov edx, dword [rax]
mov r8d, dword [rax + 4]
mov qword [rsp + 0x58], rbx
mov rcx, rdx
add rdx, 1
mov rbp, r8
cmp rdx, r8
ja 0x140453a48
test ecx, ecx
jne 0x140453990
cmp r8d, 0x12
ja 0x140453ab1
nop dword [rax]
lea r14, [rsp + 0x40]
mov r8, rsi
mov rcx, r12
mov rdx, r14
call fcn.140077770
mov byte [r13 + 8], 1
mov qword [r13], rax
mov rax, qword [rsp + 0x40]
mov rdx, rax
and edx, 3
cmp rdx, 2
je 0x140453af8
mov rdx, qword [rsp + 0x58]
lea rcx, [0x140565f68]
cmp rdx, rcx
je 0x140453af8
mov rcx, rax
mov r8d, dword [rsp + 0x60]
mov r9d, 1
and rcx, 0xfffffffffffffffc
test rax, rax
lea rax, [0x140548480]
cmove rcx, rax
add r8d, 1
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, r14
call fcn.140078250
jmp 0x1404538db
mov rcx, rax
and rcx, 0xfffffffffffffffc
lock add qword [rcx + 8], 1
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x48], 0
cmp rbp, 0x7ffffffe
jbe 0x14045392c
lea rdx, str.._boost_json_value.hpp
mov ecx, 0xc
call fcn.14007cb00
nop dword [rax]
mov rcx, r12
call fcn.14007cbe0
mov ecx, dword [rax + 4]
mov rdx, rax
test ecx, ecx
je 0x140453a9b
mov rax, qword [r12]
mov r10, rax
and r10, 0xfffffffffffffffc
test rax, rax
lea rax, [0x140548480]
cmove r10, rax
cmp ecx, 0x12
jbe 0x140453b10
lea rax, [rcx + rcx*4]
mov r9d, 0x10
lea rcx, [rcx + rax*2]
mov rax, qword [r10]
lea r8, [rcx*4 + 0x10]
mov rcx, r10
call qword [rax + 0x18]
mov rax, qword [r12 + 0x10]
mov ecx, dword [rax]
mov edx, dword [rax + 4]
test ecx, ecx
je 0x140453b08
cmp ebp, edx
je 0x140453990
movabs r8, 0xcbf29ce484222325
mov rsi, qword [rax + 8]
add rsi, r8
cmp rbx, rdi
je 0x140453990
movabs rax, 0x100000001b3
nop dword [rax]
movsx r8, byte [rbx]
add rbx, 1
xor r8, rsi
mov rsi, r8
imul rsi, rax
cmp rbx, rdi
jne 0x140453ad8
jmp 0x140453990
mov rcx, r14
call fcn.140078250
jmp 0x1404538db
cmp edx, 0x12
jbe 0x140453aa9
jmp 0x140453ab1
mov rax, qword [r10]
lea rcx, [rcx + rcx*4]
mov r9d, 0x10
lea r8, [rcx*8 + 0x10]
mov rcx, r10
call qword [rax + 0x18]
mov rax, qword [r12 + 0x10]
mov ecx, dword [rax]
mov edx, dword [rax + 4]
test ecx, ecx
jne 0x140453aa9
jmp 0x140453b08
and rax, 0xfffffffffffffffc
mov rcx, rax
jmp 0x14045392c