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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
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 0x140453c00
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 0x140453c02
mov qword [r13], rax
mov byte [r13 + 8], 0
mov rax, r13
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
mov rax, qword [r12]
mov r15, qword [rbx]
mov rbp, qword [rbx + 8]
mov qword [rsp + 0x48], rax
test al, 1
jne 0x140453e40
lea rbx, [rsp + 0x48]
lea r14, [rsp + 0x50]
mov rdx, qword [rsp + 0xf0]
mov r8, rbx
mov rcx, r14
call fcn.140082c50
mov rcx, qword [rsp + 0x48]
test cl, 1
jne 0x140453e08
cmp rbp, 0x7ffffffe
ja 0x140453e9f
mov rax, qword [rsp + 0x50]
lea rdx, [rbp + 1]
mov r8d, 1
mov rcx, rax
and rcx, 0xfffffffffffffffc
test rax, rax
lea rax, [0x140548480]
cmove rcx, rax
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, rax
mov r8, rbp
mov rdx, r15
mov rcx, rax
call sub.msvcrt.dll_memcpy
lea rdi, [rbx + rbp]
mov byte [rdi], 0
mov rax, qword [r12 + 0x10]
mov dword [rsp + 0x70], ebp
mov edx, dword [rax]
mov r8d, dword [rax + 4]
mov qword [rsp + 0x68], rbx
mov rcx, rdx
add rdx, 1
mov rbp, r8
cmp rdx, r8
ja 0x140453d50
test ecx, ecx
jne 0x140453cd0
cmp r8d, 0x12
ja 0x140453dbd
nop dword [rax]
mov rdx, r14
mov r8, rsi
mov rcx, r12
call fcn.140077770
mov byte [r13 + 8], 1
mov qword [r13], rax
mov rax, qword [rsp + 0x50]
mov rdx, rax
and edx, 3
cmp rdx, 2
je 0x140453e50
mov rdx, qword [rsp + 0x68]
lea rcx, [0x140565f68]
cmp rdx, rcx
je 0x140453e50
mov rcx, rax
mov r8d, dword [rsp + 0x70]
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 0x140453be0
mov rcx, r12
call fcn.14007cbe0
mov ecx, dword [rax + 4]
mov rdx, rax
test ecx, ecx
je 0x140453da3
mov r8, qword [r12]
lea rax, [0x140548480]
mov r10, r8
and r10, 0xfffffffffffffffc
test r8, r8
cmove r10, rax
cmp ecx, 0x12
jbe 0x140453e70
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 0x140453e60
cmp ebp, edx
je 0x140453cd0
movabs r8, 0xcbf29ce484222325
mov rsi, qword [rax + 8]
add rsi, r8
cmp rbx, rdi
je 0x140453cd0
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 0x140453de8
jmp 0x140453cd0
and rcx, 0xfffffffffffffffc
mov rax, 0xffffffffffffffff
lock xadd qword [rcx + 8], rax
test rcx, rcx
je 0x140453c45
cmp rax, 1
jne 0x140453c45
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140453c45
and rax, 0xfffffffffffffffc
lock add qword [rax + 8], 1
jmp 0x140453c1a
mov rcx, r14
call fcn.140078250
jmp 0x140453be0
cmp edx, 0x12
jbe 0x140453db5
jmp 0x140453dbd
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 0x140453db5
jmp 0x140453e60
lea rdx, str.._boost_json_value.hpp
mov ecx, 0xc
call fcn.14007cb00
mov r12, rax
mov rcx, r14
call fcn.14044ed30
mov rcx, r12
call fcn.1403e4610
mov r12, rax
mov rcx, rbx
call fcn.14048e830
mov rcx, r12
call fcn.1403e4610
mov r12, rax
mov rcx, r14
call fcn.140078250
mov rcx, r12
call fcn.1403e4610
nop
nop
nop
nop
nop
nop
nop