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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa8]
sub rsp, 0x1a8
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x140109010]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov qword [rsp + 0x38], r9
mov rsi, r8
mov qword [rsp + 0x48], rdx
mov r9, rcx
mov qword [rsp + 0x40], rcx
xor r15d, r15d
mov dword [rsp + 0x24], r15d
mov r12, qword [r8 + 0x10]
mov r13, qword [r8 + 0x18]
cmp r13, 0x10
jb 0x14008d104
mov r8, qword [r8]
movabs rcx, 0xcbf29ce484222325
mov rdx, r15
movabs r10, 0x100000001b3
test r12, r12
je 0x14008d134
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, r12
jb 0x14008d120
mov rax, qword [r9 + 0x30]
and rax, rcx
mov rcx, qword [r9 + 0x18]
mov rdi, rax
add rdi, rdi
mov rdi, qword [rcx + rdi*8]
add rax, rax
mov rdx, qword [rcx + rax*8]
mov qword [rsp + 0x28], rdx
mov rbx, qword [r9 + 8]
inc rax
lea rax, [rcx + rax*8]
mov qword [rsp + 0x30], rax
cmp rdx, rbx
jne 0x14008d16f
mov rax, rbx
jmp 0x14008d175
mov rax, qword [rax]
mov rax, qword [rax]
cmp rdi, rax
je 0x14008d1f3
mov rdx, rsi
cmp r13, 0x10
jb 0x14008d186
mov rdx, qword [rsi]
lea rcx, [rdi + 0x10]
mov r15, qword [rdi + 0x28]
cmp r15, 0x10
jb 0x14008d198
mov rcx, qword [rdi + 0x10]
mov r14, qword [rdi + 0x20]
cmp r14, r12
jne 0x14008d1ae
mov r8, r14
call sub.VCRUNTIME140.dll_memcmp
nop
test eax, eax
je 0x14008d1bd
mov rdi, qword [rdi]
mov rdx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
jmp 0x14008d165
lea rdx, [rdi + 0x10]
cmp r15, 0x10
jb 0x14008d1ca
mov rdx, qword [rdx]
cmp r13, 0x10
jb 0x14008d1d3
mov rsi, qword [rsi]
cmp r12, r14
jne 0x14008d1f3
mov r8, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcmp
nop
test eax, eax
jne 0x14008d1f3
mov rbx, qword [rsp + 0x40]
mov rbx, qword [rbx + 8]
jmp 0x14008d1f6
mov rdi, rbx
cmp rdi, rbx
je 0x14008d649
xor r15d, r15d
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
movdqa xmm0, xmmword [0x1400cbd40]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], r15b
mov r8, 0xffffffffffffffff
mov r9, qword [rsp + 0x38]
nop
inc r8
cmp byte [r9 + r8], r15b
jne 0x14008d230
mov rdx, r9
lea rcx, [rsp + 0x58]
call sym.HwSettings.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rax, qword [rbp - 0x80]
cmp qword [rbp - 0x78], rax
je 0x14008d26e
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
lea rdx, [rsp + 0x58]
mov rcx, rax
call sym.HwSettings.exe_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
nop
add qword [rbp - 0x80], 0x20
jmp 0x14008d281
lea r8, [rsp + 0x58]
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140033d20
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14008d2c2
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008d2bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008d2bc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140093ce8
nop
mov byte [rsp + 0x20], r15b
lea r12, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea r14, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea rsi, [0x1400b6f18]
lea rbx, [0x1400b6a70]
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
nop
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x60], rsi
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or dword [rsp + 0x24], 1
xor r8d, r8d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x70]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x70], r12
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x58]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov qword [rbp - 0x58], r14
mov qword [rbp + 0x10], r15
mov dword [rbp + 0x18], r15d
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x80]
cmp rbx, rsi
jne 0x14008d380
lea rdx, str.default
lea rcx, [rbp - 0x60]
call fcn.140033860
nop
mov byte [rsp + 0x20], 1
jmp 0x14008d402
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14008d38d
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp - 0x60]
call fcn.140034000
nop
mov rcx, rax
call fcn.140034f70
nop
add rbx, 0x20
cmp rbx, rsi
jne 0x14008d380
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rbx - 8]
cmp rdx, 0x10
jb 0x14008d3ed
inc rdx
mov rcx, qword [rbx - 0x20]
cmp rdx, 0x1000
jb 0x14008d3e7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14008d630
mov rcx, r8
call fcn.140093ce8
nop
mov qword [rbx - 0x10], r15
mov qword [rbx - 8], 0xf
mov byte [rbx - 0x20], 0
sub qword [rbp - 0x80], 0x20
mov r14, r15
mov qword [rsp + 0x68], r15
mov r13d, 0xf
mov qword [rsp + 0x70], r13
mov byte [rsp + 0x58], 0
mov ecx, dword [rbp + 0x18]
test cl, 2
jne 0x14008d443
mov rax, qword [rbp - 0x18]
mov r8, qword [rax]
test r8, r8
je 0x14008d443
mov rax, qword [rbp - 0x38]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x10]
cmovb r8, qword [rbp + 0x10]
sub r8, rdx
jmp 0x14008d468
test cl, 4
jne 0x14008d47d
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
test rcx, rcx
je 0x14008d47d
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax]
mov rax, qword [rbp - 8]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
lea rcx, [rsp + 0x58]
call sym.HwSettings.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
lea r8, [rsp + 0x58]
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x28], r9
cmp r13, 0x10
cmovae r8, r9
movabs rdx, 0xcbf29ce484222325
mov rcx, r15
test r14, r14
je 0x14008d4c9
movabs r13, 0x100000001b3
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r13
inc rcx
cmp rcx, r14
jb 0x14008d4b0
mov r13, qword [rsp + 0x70]
mov rax, qword [rdi + 0x60]
and rax, rdx
mov rcx, qword [rdi + 0x48]
mov rbx, rax
add rbx, rbx
mov rbx, qword [rcx + rbx*8]
add rax, rax
mov rdx, qword [rcx + rax*8]
mov qword [rsp + 0x38], rdx
mov r15, qword [rdi + 0x38]
inc rax
lea rax, [rcx + rax*8]
mov qword [rsp + 0x30], rax
nop word [rax + rax]
cmp rdx, r15
jne 0x14008d50a
mov rax, r15
jmp 0x14008d510
mov rax, qword [rax]
mov rax, qword [rax]
cmp rbx, rax
je 0x14008d59a
lea rdx, [rsp + 0x58]
cmp r13, 0x10
cmovae rdx, r9
lea rcx, [rbx + 0x10]
mov r12, qword [rbx + 0x28]
cmp r12, 0x10
jb 0x14008d538
mov rcx, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x20]
cmp rsi, r14
jne 0x14008d553
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
nop
test eax, eax
je 0x14008d562
mov r9, qword [rsp + 0x28]
mov rbx, qword [rbx]
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
jmp 0x14008d500
lea rdx, [rbx + 0x10]
cmp r12, 0x10
jb 0x14008d56f
mov rdx, qword [rdx]
lea rcx, [rsp + 0x58]
cmp r13, 0x10
cmovae rcx, qword [rsp + 0x28]
cmp r14, rsi
jne 0x14008d590
mov r8, r14
call sub.VCRUNTIME140.dll_memcmp
nop
test eax, eax
je 0x14008d593
mov rbx, r15
mov r9, qword [rsp + 0x28]
jmp 0x14008d59d
mov rbx, r15
cmp r13, 0x10
jb 0x14008d5d1
lea rdx, [r13 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x14008d5c8
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008d637
mov rcx, r9
call fcn.140093ce8
nop
cmp rbx, qword [rdi + 0x38]
jne 0x14008d69b
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea r12, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x70], r12
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x58]
call fcn.140032fb0
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
cmp byte [rsp + 0x20], 0
jne 0x14008d63e
xor r15d, r15d
jmp 0x14008d2ce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rsp + 0x78]
call fcn.140033150
nop
mov rbx, qword [rsp + 0x48]
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
xor r8d, r8d
lea rdx, [0x1400b6fd1]
mov rcx, rbx
call sym.HwSettings.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rax, rbx
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.140093940
nop
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
lea rdx, [rbx + 0x30]
lea rcx, [rsp + 0x58]
call sym.HwSettings.exe_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
nop
lea r8, [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov rdx, rbx
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ProductAdaptMgr.dll_private:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_ProductAdapt::ProductUrlsManager::GetDomain_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64]
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14008d70d
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008d707
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008d707
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140093ce8
nop
movdqa xmm0, xmmword [0x1400cbd40]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], 0
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rcx, qword [rbp - 0x70]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x98]
mov dword [rbp + rdx - 0x74], r8d
lea rcx, [rbp - 0x58]
call fcn.140032fb0
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x78]
call fcn.140033150
nop
jmp 0x14008d674