Function at 0x180040588
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1800e1010]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r14, rdx
mov dword [rbp + 0x17], r8d
mov rcx, qword [0x1800e4f28]
test rcx, rcx
jne 0x1800405d9
lea rcx, str.Tried_getting_virtual_function_from_a_null_class._n
call fcn.180006624
jmp 0x1800405f3
mov rax, qword [rcx]
test rax, rax
jne 0x1800405ea
lea rcx, str.Tried_getting_virtual_function_from_a_null_vtable._n
jmp 0x1800405d2
mov r9, qword [rax + 0x68]
test r9, r9
jne 0x180040601
lea rcx, str.Tried_calling_a_null_virtual_function._n
call fcn.180006624
jmp 0x180040613
xor r8d, r8d
lea rdx, str.client.dll
call r9
test rax, rax
jne 0x18004061a
xor al, al
jmp 0x180040826
and qword [rbp + 7], 0
mov rcx, qword [rax]
test rcx, rcx
jne 0x180040635
lea rcx, str.Tried_getting_virtual_function_from_a_null_vtable._n
call fcn.180006624
jmp 0x18004063e
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x18004064c
lea rcx, str.Tried_calling_a_null_virtual_function._n
call fcn.180006624
jmp 0x180040659
mov r8, r14
lea rdx, [rbp + 7]
mov rcx, rax
call r9
mov rax, qword [rbp + 7]
test rax, rax
jne 0x1800406de
and qword [rbp - 0x49], rax
lea ecx, [rax + 0x18]
call fcn.18009caf4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x51], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x41], xmm0
and qword [rbp - 0x31], 0
mov qword [rbp - 0x29], 7
mov qword [rbp - 0x21], 8
mov dword [rbp - 0x59], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp - 0x41]
call fcn.180040d10
nop
lea r9, [rbp - 0x59]
lea r8, [rbp + 0x17]
lea rdx, [rbp + 7]
call fcn.180041210
nop
lea rcx, [rbp - 0x59]
call fcn.18004085c
mov rdx, r14
lea rcx, str.InitSchemaFieldsForClass__:__s_was_not_found__n
call fcn.180006624
jmp 0x180040613
movsx rbx, word [rax + 0x1c]
mov rdi, qword [rax + 0x28]
lea r8, [rbp + 0x17]
lea rdx, [rbp - 0x19]
call fcn.1800416dc
mov r15, qword [rax]
lea r12, [r15 + 0x18]
xorps xmm0, xmm0
test rbx, rbx
js 0x18004070a
cvtsi2ss xmm0, rbx
jmp 0x180040722
mov rcx, rbx
shr rcx, 1
mov rax, rbx
and eax, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
divss xmm0, dword [r12]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor eax, eax
movabs rcx, 0x8000000000000000
movss xmm6, dword [0x1800da3a4]
comiss xmm0, xmm6
jb 0x180040752
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x180040752
mov rax, rcx
cvttss2si rsi, xmm0
add rsi, rax
mov rcx, qword [r15 + 0x28]
xorps xmm0, xmm0
test rcx, rcx
js 0x18004076d
cvtsi2ss xmm0, rcx
jmp 0x180040782
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [r12]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor eax, eax
comiss xmm0, xmm6
jb 0x1800407aa
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x1800407aa
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttss2si rdx, xmm0
add rdx, rax
cmp rdx, rsi
cmovb rdx, rsi
cmp rdx, qword [r15 + 0x50]
jbe 0x1800407c7
mov rcx, r12
call fcn.180040e44
test rbx, rbx
jle 0x180040811
mov esi, 0x811c9dc5
mov rcx, qword [rdi]
cmp byte [rcx], 0
jne 0x1800407dd
mov eax, esi
jmp 0x1800407f0
movsx eax, byte [rcx]
xor eax, esi
imul edx, eax, 0x1000193
inc rcx
call fcn.18003c354
mov dword [rbp + 7], eax
lea r9, [rdi + 0x10]
lea r8, [rbp + 7]
lea rdx, [rbp - 9]
mov rcx, r12
call fcn.18004145c
add rdi, 0x20
sub rbx, 1
jne 0x1800407d1
mov r8, qword [r15 + 0x28]
mov rdx, r14
lea rcx, str.schemaTableMap__s__has__llu_fields._n
call fcn.180006624
mov al, 1
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.18009c250
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret