Function at 0x18002ffc0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1800ee040]
xor rax, rsp
mov qword [rbp - 0x28], rax
mov rdi, rcx
xor r13d, r13d
mov rcx, qword [0x1800ffb60]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xe8]
call rdx
mov r14, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x40]
mov rcx, qword [r14 + 0x250]
call fcn.180011b20
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x80], r13d
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
lea ecx, [r13 + 0x20]
call fcn.1800b2adc
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], r13
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x48], 8
movss xmm10, dword [0x1800d745c]
mov dword [rbp - 0x80], 0x3f800000
mov r8, rax
lea edx, [r13 + 0x10]
lea rcx, [rbp - 0x68]
call fcn.180048e00
nop
mov r15, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x40]
movabs r9, 0xcbf29ce484222325
movabs r12, 0x100000001b3
cmp rsi, r15
je 0x180030305
movss xmm8, dword [0x1800d74d0]
movss xmm9, dword [0x1800d740c]
movss xmm7, dword [0x1800d754c]
mov rcx, qword [rsi]
mov qword [rsp + 0x70], rcx
cmp rcx, r14
je 0x1800302ee
call fcn.1800118a0
test al, al
je 0x1800302ee
mov rcx, qword [r14 + 0x290]
mov rbx, qword [rsp + 0x70]
mov rax, qword [rbx + 0x290]
movsd xmm1, qword [rax]
movss xmm2, dword [rcx]
subss xmm2, xmm1
movss xmm3, dword [rcx + 4]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
subss xmm3, xmm0
movss xmm1, dword [rcx + 8]
subss xmm1, dword [rax + 8]
mulss xmm3, xmm3
mulss xmm2, xmm2
addss xmm3, xmm2
mulss xmm1, xmm1
addss xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x18003016d
xorps xmm6, xmm6
sqrtss xmm6, xmm3
jmp 0x180030178
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, r12
movzx eax, byte [rsp + 0x71]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rsp + 0x72]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rsp + 0x73]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rsp + 0x74]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rsp + 0x75]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rsp + 0x76]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rsp + 0x77]
xor rcx, rax
imul rcx, r12
mov rdx, qword [rdi + 0x128]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rdi + 0x110]
mov rax, qword [rcx + rdx*8 + 8]
mov r8, qword [rdi + 0x100]
cmp rax, r8
je 0x180030221
mov rcx, qword [rcx + rdx*8]
cmp rbx, qword [rax + 0x10]
je 0x180030224
nop
cmp rax, rcx
je 0x180030221
mov rax, qword [rax + 8]
cmp rbx, qword [rax + 0x10]
jne 0x180030210
jmp 0x180030224
mov rax, r13
test rax, rax
je 0x18003022e
cmp rax, r8
jne 0x18003024e
lea rcx, [rdi + 0xf8]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
call fcn.18004f240
mov rcx, qword [rax]
mov dword [rcx + 0x18], 0x41a00000
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.18004ef50
mov rcx, qword [rax]
mov byte [rcx + 0x18], 1
mov rcx, qword [rsp + 0x70]
call fcn.1800115e0
cmp eax, 9
jne 0x1800302b6
lea edx, [rax + 5]
mov rcx, qword [rsp + 0x70]
call fcn.180010ed0
comiss xmm8, dword [rax + 0x84]
jbe 0x1800302b6
lea rcx, [rdi + 0xf8]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x20]
call fcn.18004f240
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x18]
subss xmm0, xmm9
movss dword [rcx + 0x18], xmm0
comiss xmm7, xmm6
jb 0x1800302ee
lea rcx, [rdi + 0xe0]
mov rdx, qword [rdi + 0xe8]
cmp rdx, qword [rdi + 0xf0]
je 0x1800302e4
mov rax, qword [rsp + 0x70]
mov qword [rdx], rax
add qword [rdi + 0xe8], 8
jmp 0x1800302ee
lea r8, [rsp + 0x70]
call fcn.1800569f0
add rsi, 8
cmp rsi, r15
jne 0x1800300f1
movabs r9, 0xcbf29ce484222325
mov rax, qword [rdi + 0x100]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1800304ac
mov r8, qword [rbp - 0x78]
nop dword [rax]
movzx ecx, byte [rbx + 0x10]
xor rcx, r9
imul rcx, r12
movzx eax, byte [rbx + 0x11]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x12]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x13]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x14]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x15]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x16]
xor rcx, rax
imul rcx, r12
movzx eax, byte [rbx + 0x17]
xor rcx, rax
imul rcx, r12
mov rdx, qword [rbp - 0x50]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, r8
je 0x1800303b1
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rax + 0x10]
je 0x1800303b4
nop
cmp rax, rdx
je 0x1800303b1
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x1800303a0
jmp 0x1800303b4
mov rax, r13
test rax, rax
je 0x1800303c6
cmp rax, r8
je 0x1800303c6
mov rbx, qword [rbx]
jmp 0x18003049f
mov rcx, rbx
movzx edx, byte [rbx + 0x10]
xor rdx, r9
imul rdx, r12
movzx eax, byte [rbx + 0x11]
xor rdx, rax
imul rdx, r12
movzx eax, byte [rbx + 0x12]
xor rdx, rax
imul rdx, r12
movzx eax, byte [rbx + 0x13]
xor rdx, rax
imul rdx, r12
movzx eax, byte [rbx + 0x14]
xor rdx, rax
imul rdx, r12
movzx eax, byte [rbx + 0x15]
xor rdx, rax
imul rdx, r12
movzx eax, byte [rbx + 0x16]
xor rdx, rax
imul rdx, r12
movzx eax, byte [rbx + 0x17]
xor rdx, rax
imul rdx, r12
mov r8, qword [rdi + 0x128]
and r8, rdx
add r8, r8
mov rdx, qword [rdi + 0x110]
mov rax, qword [rdx + r8*8]
cmp qword [rdx + r8*8 + 8], rbx
jne 0x180030462
cmp rax, rbx
jne 0x180030457
mov rax, qword [rdi + 0x100]
mov qword [rdx + r8*8], rax
mov qword [rdx + r8*8 + 8], rax
jmp 0x18003046e
mov rax, qword [rbx + 8]
mov qword [rdx + r8*8 + 8], rax
jmp 0x18003046e
cmp rax, rbx
jne 0x18003046e
mov rax, qword [rbx]
mov qword [rdx + r8*8], rax
mov rbx, qword [rbx]
dec qword [rdi + 0x108]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rax, qword [rcx + 8]
mov qword [rbx + 8], rax
mov edx, 0x20
call fcn.1800b2f60
mov r8, qword [rbp - 0x78]
movabs r9, 0xcbf29ce484222325
cmp rbx, qword [rdi + 0x100]
jne 0x180030320
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r13
mov r8d, 0x10
lea rdx, str.TargetRegenerate
lea rcx, [rsp + 0x20]
call fcn.18000cd20
mov r8b, 1
movss xmm1, dword [0x1800d7640]
lea rcx, [rsp + 0x20]
call fcn.18000b8b0
test al, al
je 0x180030524
mov rdx, qword [rdi + 0x100]
mov rax, qword [rdx]
cmp rax, rdx
je 0x180030524
movss xmm1, dword [0x1800d7584]
movss xmm0, dword [rax + 0x18]
comiss xmm1, xmm0
jbe 0x180030519
addss xmm0, xmm10
movss dword [rax + 0x18], xmm0
mov rcx, qword [rax]
mov rax, rcx
cmp rcx, rdx
jne 0x180030505
lea rcx, [rbp - 0x80]
call fcn.180031bf0
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x18003056f
mov rdx, qword [rbp - 0x30]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003056a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003056a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2f60
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.1800b2980
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret