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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x230
movaps xmmword [rax - 0x48], xmm6
mov rax, qword [0x140477ad0]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov r13, r8
mov r12, rcx
xor r14d, r14d
mov dword [rsp + 0x24], r14d
mov rax, qword [rdx + 0x40]
cmp dword [rax], 1
sete byte [rsp + 0x21]
mov rsi, qword [rcx + 0x48]
mov rax, qword [rcx + 0x50]
sub rax, rsi
sar rax, 5
test rax, rax
je 0x140076a8f
cmp qword [0x140479090], r14
je 0x140076b8f
mov rax, qword [0x140479098]
test rax, rax
je 0x1400766d8
lock inc dword [rax + 8]
movups xmm0, xmmword [0x140479090]
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rsp + 0x24], 1
mov r14, qword [0x140479090]
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x60], xmm0
lea rdi, [r14 + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
nop dword [rax + rax]
mov qword [rsp + 0x50], rdi
mov r8, rsi
lea rdx, [rbp - 0x50]
mov rcx, r14
call fcn.14007e5d0
mov r15, qword [rax]
mov qword [rsp + 0x40], r15
mov rbx, qword [rax + 8]
mov qword [rsp + 0x48], rbx
and qword [rax], 0
and qword [rax + 8], 0
movaps xmm6, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x60], xmm6
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140076755
call fcn.14007e8c0
nop
test rdi, rdi
je 0x140076769
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
test r15, r15
je 0x140076a4b
test rbx, rbx
je 0x140076785
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x48]
movaps xmm6, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x70], xmm6
lea rax, [rsp + 0x70]
mov edi, 3
mov rsi, qword [rax]
mov r14, qword [rax + 8]
and qword [rax], 0
and qword [rax + 8], 0
or edi, 8
test dil, 4
jne 0x140076b75
mov r15d, 2
test r15b, dil
je 0x1400767d0
and edi, 0xfffffffd
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400767d0
call fcn.14007e8c0
nop
test rbx, rbx
je 0x1400767dd
mov rcx, rbx
call fcn.14007e8c0
test rsi, rsi
jne 0x1400769f3
mov rbx, qword [r13 + 8]
jmp 0x140076827
cmp r10, rcx
je 0x140076a7e
mov rax, qword [r9 + rdx*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
sete al
test al, al
jne 0x140076a76
cmp qword [rbx + 0x10], r8
sete al
test al, al
je 0x140076a64
cmp r8, qword [rbx + 0x10]
sete al
test al, al
cmove rbx, rcx
test r14, r14
je 0x140076835
mov rcx, r14
call fcn.14007e8c0
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
jne 0x140076a6c
cmp rbx, qword [r13 + 8]
jne 0x140076b59
mov r14, qword [r12 + 0x48]
lea rax, [0x140361d58]
mov qword [rbp - 0x20], rax
lea rcx, [rbp + 0x70]
call qword [sym.imp.msvcp_win.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop dword [rax + rax]
nop
or edi, 0x40
mov dword [rsp + 0x24], edi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x20]
call qword [sym.imp.msvcp_win.dll_public:_void___cdecl_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop dword [rax + rax]
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx - 0x20], rax
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx - 0x24], edx
lea rax, [rbp - 0x10]
mov qword [rsp + 0x50], rax
lea rcx, [rbp - 0x10]
call qword [sym.imp.msvcp_win.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop dword [rax + rax]
nop
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp - 0x10], rax
mov rdi, qword [r14 + 0x10]
mov rsi, r14
cmp qword [r14 + 0x18], 8
jb 0x1400768eb
mov rsi, qword [r14]
cmp rdi, 0x7fffffff
ja 0x140076b68
xor r12d, r12d
test rdi, rdi
je 0x140076a86
add rdi, rdi
cmp rdi, 0x1000
jae 0x140076c2e
test rdi, rdi
je 0x140076c65
mov rcx, rdi
call fcn.140123b7c
mov rbx, rax
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea r9, [rdi + rbx]
mov qword [rbp + 0x58], r9
mov r8, rbx
mov rdx, rbx
lea rcx, [rbp - 0x10]
call qword [sym.imp.msvcp_win.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::setg_wchar_t____ptr64__wchar_t____ptr64__wchar_t____ptr64____ptr64]
nop dword [rax + rax]
mov r15d, 3
mov dword [rbp + 0x60], r15d
lea rdx, [0x1400ed8c0]
lea rcx, [rbp - 0x20]
call qword [sym.imp.msvcp_win.dll_public:_class_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
nop dword [rax + rax]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x20]
call qword [sym.imp.msvcp_win.dll_public:_class_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__::operator___bool____ptr64____ptr64]
nop dword [rax + rax]
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x20]
add rcx, rax
call qword [sym.imp.msvcp_win.dll_public:_bool___cdecl_std::ios_base::operator__void_const___ptr64]
nop dword [rax + rax]
mov bl, al
lea rcx, [rbp - 0x20]
call fcn.140076c80
test bl, bl
jne 0x140076a9e
mov al, byte [rsp + 0x20]
cmp byte [rsp + 0x21], al
sete al
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.140123570
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8, qword [rsi + 0x40]
mov qword [rsp + 0x28], r8
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rsp + rdx + 0x28]
xor rcx, rax
movabs r9, 0x100000001b3
imul rcx, r9
inc rdx
cmp rdx, 8
jb 0x140076a08
mov rdx, qword [r13 + 0x30]
and rdx, rcx
mov r9, qword [r13 + 0x18]
mov rbx, rdx
add rbx, rbx
mov rbx, qword [r9 + rbx*8]
mov r10, rbx
add rdx, rdx
mov rcx, qword [r13 + 8]
jmp 0x1400767ec
mov r8, rsi
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.14007e980
mov edi, 5
jmp 0x140076795
mov rbx, qword [rbx]
jmp 0x1400767ec
call fcn.14007e8c0
jmp 0x140076842
mov rbx, rcx
jmp 0x140076827
mov rax, rcx
jmp 0x1400767fd
mov qword [rbp + 0x58], r12
jmp 0x14007695a
call fcn.14007ec1c
mov rsi, qword [r12 + 0x48]
jmp 0x1400766bb
mov rdx, r14
lea rcx, [rbp + 0xf0]
call fcn.1400aeb9c
nop
mov r9d, reloc.OLEAUT32.dll_SafeArrayLock
lea r8, str.Failed_mapping_type
mov rcx, rax
call fcn.140082384
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xe0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], SafeArrayLock
mov byte [rax], r12b
lea rcx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
setae al
test al, al
cmovne rcx, qword [rbp + 0xd0]
lea rax, vtable.std::exception.0
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x78], 1
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call sub.api_ms_win_crt_private_l1_1_0.dll__o___std_exception_copy
lea rax, vtable.std::runtime_error.0
mov qword [rsp + 0x58], rax
lea rdx, [0x140447c00]
lea rcx, [rsp + 0x58]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
nop
mov rax, qword [rbx + 0x58]
cmp dword [rax], 1
sete al
jmp 0x1400769bc
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xbad_alloc_void_]
nop dword [rax + rax]
nop
and edi, 0xfffffffb
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x1400767b2
call fcn.14007e8c0
jmp 0x1400767b2
lea r15, [0x1404790a0]
mov qword [rbp - 0x70], r15
mov rcx, r15
call fcn.140101ce8
nop
cmp qword [0x140479090], r14
jne 0x140076c19
mov edi, 0x48
mov ecx, edi
call fcn.140123b7c
mov rbx, rax
mov qword [rsp + 0x28], rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rcx, rbx
call fcn.140083148
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400830ec
mov rax, qword [rsp + 0x30]
mov qword [0x140479090], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x68], rax
mov rcx, qword [0x140479098]
mov qword [rsp + 0x38], rcx
mov qword [0x140479098], rax
test rcx, rcx
jne 0x140076c27
mov rcx, r15
call fcn.140102f60
nop
jmp 0x1400766c8
call fcn.14007e8c0
jmp 0x140076c19
lea rcx, [rdi + 0x27]
or rax, 0xffffffffffffffff
cmp rcx, rdi
cmovbe rcx, rax
call fcn.140123b7c
test rax, rax
je 0x140076c58
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140076928
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
nop dword [rax + rax]
int3
mov rbx, r12
jmp 0x140076928