Function at 0x14008f750
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xb8]
sub rsp, 0x190
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1402bb010]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov edi, ecx
mov ebx, ecx
shr ebx, 0x18
mov esi, ecx
shr esi, 0x10
mov r14d, ecx
shr r14d, 8
xor r15d, r15d
mov dword [rsp + 0x20], r15d
cmp ecx, 0x40010006
je 0x14008fcb3
cmp edi, 0x4001000a
je 0x14008fcb3
cmp edi, 0xe06d7363
je 0x14008fcb3
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x80]
call fcn.1401706d2
lea r13, [0x140227eb8]
mov qword [rbp - 0x80], r13
lea rax, [0x140227c80]
mov qword [rbp - 0x70], rax
lea rcx, [rbp + 0x18]
call qword [0x1401a9250]
nop
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x80]
call qword [0x1401a91b0]
nop
mov rax, qword [rbp - 0x80]
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 - 0x80], r12
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x7c], edx
lea edx, [r15 + 3]
lea rcx, [rbp - 0x68]
call fcn.140057c70
nop
lea rdx, str.ExceptionCode:
lea rcx, [rbp - 0x70]
call fcn.140058ba0
mov rcx, rax
mov edx, edi
call qword [0x1401a9128]
mov rcx, rax
lea rdx, [0x1401b5868]
call fcn.140058ba0
mov rcx, rax
lea rdx, str.HMSExceptionCodeFilter
call fcn.140058ba0
mov rcx, rax
lea rdx, [0x1401b5844]
call fcn.140058ba0
mov rcx, rax
mov edx, 0xcc
call qword [0x1401a9130]
mov rcx, rax
lea rdx, [0x1401b5840]
call fcn.140058ba0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.140057bc0
nop
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], r15b
lea r8d, [r15 + 0xb]
lea rdx, str.HWAccountUI
lea rcx, [rsp + 0x28]
call fcn.140047980
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x28]
call qword [0x1401a9e88]
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x80], r12
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x7c], edx
lea rcx, [rbp - 0x68]
call fcn.140055cb0
lea rcx, [rbp - 0x60]
call qword [0x1401a9120]
lea rcx, [rbp + 0x18]
call qword [0x1401a9198]
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, r14b
xor rcx, rax
imul rcx, rdx
movzx eax, sil
xor rcx, rax
imul rcx, rdx
mov eax, ebx
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x1402f1e90]
mov rbx, rcx
add rbx, rbx
mov rdx, qword [0x1402f1e78]
mov rbx, qword [rdx + rbx*8]
lea rax, [rcx + rcx]
lea r9, [rax*8 + 8]
mov r8, qword [rdx + rax*8]
mov rcx, qword [0x1402f1e68]
cmp r8, rcx
jne 0x14008f9ba
mov rax, rcx
jmp 0x14008f9c1
mov rax, qword [r9 + rdx]
mov rax, qword [rax]
cmp rbx, rax
je 0x14008fb52
cmp dword [rbx + 0x10], edi
je 0x14008f9d4
mov rbx, qword [rbx]
jmp 0x14008f9b0
cmp rbx, rcx
je 0x14008fb52
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x80]
call fcn.1401706d2
mov qword [rbp - 0x80], r13
lea rax, [0x140227c80]
mov qword [rbp - 0x70], rax
lea rcx, [rbp + 0x18]
call qword [0x1401a9250]
nop
mov dword [rsp + 0x20], 0x13
xor r8d, r8d
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x80]
call qword [0x1401a91b0]
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x80], r12
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea r8d, [rcx - 0x98]
mov dword [rsp + rcx + 0x7c], r8d
mov edx, 3
lea rcx, [rbp - 0x68]
call fcn.140057c70
nop
lea rdx, [rbx + 0x18]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14008fa64
mov rdx, qword [rdx]
lea rcx, [rbp - 0x70]
call fcn.1400624c0
lea rdx, [0x1401b5868]
mov rcx, rax
call fcn.140058ba0
mov rcx, rax
lea rdx, str.HMSExceptionCodeFilter
call fcn.140058ba0
mov rcx, rax
lea rdx, [0x1401b5844]
call fcn.140058ba0
mov rcx, rax
mov edx, 0xd3
call qword [0x1401a9130]
mov rcx, rax
lea rdx, [0x1401b5840]
call fcn.140058ba0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.140057bc0
nop
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], 0
mov r8d, SHCreateMemStream
lea rdx, str.HWAccountUI
lea rcx, [rsp + 0x28]
call fcn.140047980
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x28]
call qword [0x1401a9e88]
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x80], r12
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov rax, rcx
mov dword [rsp + rcx + 0x7c], edx
lea rcx, [rbp - 0x68]
call fcn.140055cb0
lea rcx, [rbp - 0x60]
call qword [0x1401a9120]
lea rcx, [rbp + 0x18]
call qword [0x1401a9198]
mov al, 1
jmp 0x14008fcb5
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x80]
call fcn.1401706d2
mov qword [rbp - 0x80], r13
lea rax, [0x140227c80]
mov qword [rbp - 0x70], rax
lea rcx, [rbp + 0x18]
call qword [0x1401a9250]
nop
mov dword [rsp + 0x20], 7
xor r8d, r8d
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x80]
call qword [0x1401a91b0]
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x80], r12
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x7c], edx
mov edx, 3
lea rcx, [rbp - 0x68]
call fcn.140057c70
nop
lea rdx, str.Unhandled_exception.
lea rcx, [rbp - 0x70]
call fcn.140058ba0
mov rcx, rax
lea rdx, [0x1401b5868]
call fcn.140058ba0
mov rcx, rax
lea rdx, str.HMSExceptionCodeFilter
call fcn.140058ba0
mov rcx, rax
lea rdx, [0x1401b5844]
call fcn.140058ba0
mov rcx, rax
mov edx, 0xd0
call qword [0x1401a9130]
mov rcx, rax
lea rdx, [0x1401b5840]
call fcn.140058ba0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.140057bc0
nop
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], 0
mov r8d, SHCreateMemStream
lea rdx, str.HWAccountUI
lea rcx, [rsp + 0x28]
call fcn.140047980
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x28]
call qword [0x1401a9e88]
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x80], r12
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov rax, rcx
mov dword [rsp + rcx + 0x7c], edx
lea rcx, [rbp - 0x68]
call fcn.140055cb0
lea rcx, [rbp - 0x60]
call qword [0x1401a9120]
lea rcx, [rbp + 0x18]
call qword [0x1401a9198]
xor al, al
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.14016ee40
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret