Function at 0x18003cd3c
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x38], xmm6
mov r12, r9
movaps xmmword [rax - 0x48], xmm7
mov rbx, r8
movaps xmmword [rax - 0x58], xmm8
mov r15, rdx
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x18009dd28]
test rax, rax
jne 0x18003ce5c
mov rcx, qword [r8]
test rcx, rcx
je 0x18003ce03
mov rdx, qword [r8 + 0x10]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x18003cdf0
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18003d56f
mov rcx, r8
call fcn.180006594
and qword [rbx], 0
and qword [rbx + 8], 0
and qword [rbx + 0x10], 0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
movss xmm15, dword [rax + 0x10]
lea r8, [rsp + 0x40]
movss xmm8, dword [rax + 8]
subss xmm8, dword [0x1800a3678]
movups xmm0, xmmword [0x18009dbb8]
addss xmm15, dword [0x1800a2e98]
movss xmm14, dword [rax + 0x14]
addss xmm14, dword [0x1800a2e98]
movss xmm12, dword [0x1800a36d4]
movss xmm6, dword [0x1800a3444]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmm15
movaps xmm0, xmm8
movss dword [rsp + 0x50], xmm8
unpcklps xmm0, xmm12
movaps xmm3, xmm6
unpcklps xmm1, xmm14
movq rdx, xmm0
movq rcx, xmm1
call qword [0x18009dc78]
movaps xmm0, xmmword [0x1800a3710]
lea r8, [rsp + 0x30]
movq qword [rsp + 0x30], xmm0
movaps xmm1, xmm15
psrldq xmm0, 8
movaps xmm3, xmm6
movq qword [rsp + 0x38], xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm12
unpcklps xmm1, xmm14
movq rdx, xmm0
movq rcx, xmm1
call qword [0x18009dc70]
cmp qword [0x18009dd08], 0
mov r14, qword [0x18009dd00]
jne 0x18003cf30
test r14, r14
jne 0x18003cf30
mov cl, 1
jmp 0x18003cf32
xor cl, cl
mov r13, qword [0x18009dd28]
xorps xmm13, xmm13
movss xmm10, dword [0x18009dc48]
movss xmm9, dword [0x18009dc4c]
movss xmm6, dword [r13 + 4]
addss xmm6, dword [0x1800a3670]
movss xmm7, dword [r13]
addss xmm7, xmm13
addss xmm6, xmm14
addss xmm7, xmm15
movaps xmm11, xmm6
addss xmm11, xmm12
comiss xmm7, xmm10
addss xmm8, xmm7
ja 0x18003cf9c
comiss xmm6, xmm9
ja 0x18003cf9c
comiss xmm10, xmm8
ja 0x18003cf9c
comiss xmm9, xmm11
ja 0x18003cf9c
mov al, 1
jmp 0x18003cf9e
xor al, al
movaps xmm0, xmmword [0x1800a3460]
mov dil, byte [0x18009dc51]
mov sil, byte [0x18009dc50]
movups xmmword [rsp + 0x30], xmm0
test al, al
je 0x18003d00f
movups xmm0, xmmword [0x18009dbc8]
movups xmmword [rsp + 0x30], xmm0
test sil, sil
je 0x18003d00f
test dil, dil
jne 0x18003d00f
test cl, cl
je 0x18003d00f
movabs rax, 0xcbf29ce484222325
cmp byte [r15], dil
je 0x18003d003
movsx rdx, byte [r15]
lea rcx, [r15 + 1]
xor rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
call fcn.1800397b0
mov qword [0x18009dd00], rax
jmp 0x18003d473
cmp byte [r15], 0
movabs rax, 0xcbf29ce484222325
je 0x18003d03d
movsx rdx, byte [r15]
lea rcx, [r15 + 1]
xor rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
call fcn.1800397b0
cmp r14, rax
jne 0x18003d473
movups xmm0, xmmword [0x18009da28]
mov rcx, qword [rbx + 8]
sub rcx, qword [rbx]
addss xmm8, xmm13
sar rcx, 3
movups xmmword [rsp + 0x30], xmm0
xorps xmm0, xmm0
test rcx, rcx
js 0x18003d071
cvtsi2ss xmm0, rcx
jmp 0x18003d086
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
comiss xmm7, xmm10
mulss xmm0, xmm12
addss xmm0, xmm11
ja 0x18003d0a8
comiss xmm6, xmm9
ja 0x18003d0a8
comiss xmm10, xmm8
ja 0x18003d0a8
comiss xmm9, xmm0
jbe 0x18003d0ba
test sil, sil
je 0x18003d0ba
test dil, dil
jne 0x18003d0ba
and qword [0x18009dd00], 0
mov rcx, qword [rbx + 8]
xorps xmm3, xmm3
sub rcx, qword [rbx]
sar rcx, 3
test rcx, rcx
js 0x18003d0d4
cvtsi2ss xmm3, rcx
jmp 0x18003d0e9
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm3, rax
addss xmm3, xmm3
movss xmm1, dword [r13]
lea r9, [rsp + 0x40]
movss xmm2, dword [r13 + 4]
addss xmm1, xmm13
movups xmm0, xmmword [0x18009dbb8]
lea r13, [0x18009dcb8]
movss xmm7, dword [0x1800a3670]
mov rcx, r13
movss xmm8, dword [rsp + 0x50]
addss xmm2, xmm7
movss xmm9, dword [0x1800a3444]
addss xmm1, xmm15
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm8
mulss xmm3, xmm12
addss xmm2, xmm14
movss dword [rsp + 0x20], xmm9
addss xmm1, xmm13
unpcklps xmm0, xmm3
movq r8, xmm0
addss xmm2, xmm12
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.180041378
mov rdx, qword [rbx + 8]
xor r14d, r14d
mov r8, qword [rbx]
mov rax, rdx
sub rax, r8
sar rax, 3
test rax, rax
je 0x18003d3d6
xor esi, esi
mov rax, qword [0x18009dd28]
xorps xmm4, xmm4
movss xmm6, dword [0x18009dc48]
cvtsi2ss xmm4, r14d
movss xmm1, dword [rax]
movss xmm3, dword [rax + 4]
addss xmm1, xmm13
mulss xmm4, xmm12
addss xmm3, xmm7
addss xmm1, xmm15
addss xmm4, xmm12
movaps xmm0, xmm1
movaps xmm2, xmm4
addss xmm0, xmm13
addss xmm2, xmm12
comiss xmm0, xmm6
subss xmm2, dword [0x1800a3428]
ja 0x18003d2ab
movss xmm5, dword [0x18009dc4c]
addss xmm3, xmm14
movaps xmm0, xmm3
addss xmm0, xmm4
comiss xmm0, xmm5
ja 0x18003d2ab
addss xmm1, xmm8
comiss xmm6, xmm1
ja 0x18003d2ab
addss xmm2, xmm3
comiss xmm5, xmm2
ja 0x18003d2ab
cmp byte [0x18009dc50], 0
mov dil, 1
je 0x18003d243
cmp byte [0x18009dc51], 0
jne 0x18003d243
mov dword [r12], r14d
and qword [0x18009dd00], 0
mov rax, qword [0x18009dd28]
movss xmm1, dword [rax]
lea r9, [rsp + 0x40]
movaps xmm0, xmmword [0x1800a37a0]
addss xmm1, xmm13
movss xmm2, dword [rax + 4]
mov rcx, r13
movq qword [rsp + 0x40], xmm0
addss xmm2, xmm7
psrldq xmm0, 8
movq qword [rsp + 0x48], xmm0
movaps xmm0, xmm8
addss xmm1, xmm15
unpcklps xmm0, xmm12
movq r8, xmm0
movss dword [rsp + 0x20], xmm9
addss xmm2, xmm14
addss xmm1, xmm13
addss xmm2, xmm4
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.180041378
jmp 0x18003d2ae
xor dil, dil
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rdx
sar rax, 3
cmp rax, rsi
jbe 0x18003d575
mov rdx, qword [rdx + rsi*8]
lea rcx, [rsp + 0x50]
call qword [0x18009dc88]
cmp dword [r12], r14d
jne 0x18003d2eb
movups xmm0, xmmword [0x18009da38]
lea rcx, [rbp - 0x80]
movups xmmword [rbp - 0x80], xmm0
jmp 0x18003d316
movdqa xmm0, xmmword [0x1800a3460]
test dil, dil
je 0x18003d302
movups xmmword [rbp - 0x70], xmm0
lea rax, [rbp - 0x70]
jmp 0x18003d30a
movups xmmword [rbp - 0x60], xmm0
lea rax, [rbp - 0x60]
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x50]
movdqu xmmword [rbp - 0x50], xmm0
mov r8, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, r8
sar rax, 3
cmp rax, rsi
jbe 0x18003d575
movss xmm0, dword [rsp + 0x54]
lea r9, [rsp + 0x60]
mulss xmm0, dword [0x1800a2578]
mov rax, qword [0x18009dd28]
movss xmm2, dword [0x1800a2e94]
mov r8, qword [r8 + rsi*8]
and dword [rsp + 0x20], 0
subss xmm2, xmm0
movss xmm3, dword [rax]
movss xmm0, dword [rax + 4]
addss xmm3, xmm13
addss xmm0, xmm7
movd xmm1, r14d
cvtdq2ps xmm1, xmm1
addss xmm3, xmm15
addss xmm0, xmm14
mulss xmm1, xmm12
addss xmm3, dword [0x1800a34a4]
addss xmm1, xmm12
addss xmm2, xmm1
addss xmm2, xmm0
movups xmm0, xmmword [rcx]
mov rcx, r13
movdqu xmmword [rsp + 0x60], xmm0
unpcklps xmm3, xmm2
movq rdx, xmm3
call fcn.1800411cc
mov rdx, qword [rbx + 8]
inc r14d
mov r8, qword [rbx]
mov rcx, rdx
sub rcx, r8
movsxd rax, r14d
sar rcx, 3
inc rsi
cmp rax, rcx
jb 0x18003d18a
movaps xmm0, xmmword [0x1800a3710]
sub rdx, r8
sar rdx, 3
xorps xmm3, xmm3
test rdx, rdx
js 0x18003d3f3
cvtsi2ss xmm3, rdx
jmp 0x18003d408
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm3, rax
addss xmm3, xmm3
mov rax, qword [0x18009dd28]
lea r9, [rsp + 0x40]
movq qword [rsp + 0x40], xmm0
mov rcx, r13
psrldq xmm0, 8
movq qword [rsp + 0x48], xmm0
movaps xmm0, xmm8
movss xmm1, dword [rax]
movss xmm2, dword [rax + 4]
addss xmm1, xmm13
addss xmm2, xmm7
mulss xmm3, xmm12
movss dword [rsp + 0x20], xmm9
addss xmm1, xmm15
unpcklps xmm0, xmm3
addss xmm2, xmm14
movq r8, xmm0
addss xmm1, xmm13
addss xmm2, xmm12
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.1800412ac
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
movsxd rdx, dword [r12]
sub rax, rcx
sar rax, 3
cmp rax, rdx
jbe 0x18003d575
mov rdx, qword [rcx + rdx*8]
lea rcx, [rsp + 0x70]
call qword [0x18009dc88]
mov rdx, r15
lea rcx, [rsp + 0x78]
call qword [0x18009dc88]
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
movsxd rdx, dword [r12]
sub rax, rcx
movups xmm6, xmmword [rsp + 0x30]
sar rax, 3
cmp rax, rdx
jbe 0x18003d575
movss xmm0, dword [rsp + 0x74]
lea r8, [rsp + 0x60]
mulss xmm0, dword [0x1800a2578]
movaps xmm1, xmm15
mov rdx, qword [rcx + rdx*8]
xor r9d, r9d
addss xmm1, dword [0x1800a34a4]
movss xmm2, dword [0x1800a2e94]
subss xmm2, xmm0
movdqa xmmword [rsp + 0x60], xmm6
addss xmm2, xmm14
unpcklps xmm1, xmm2
movq rcx, xmm1
call qword [0x18009dc80]
subss xmm14, dword [rsp + 0x7c]
subss xmm15, xmm13
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, r15
movups xmmword [rsp + 0x60], xmm6
unpcklps xmm15, xmm14
movq rcx, xmm15
call qword [0x18009dc80]
mov rax, qword [0x18009dd28]
movss xmm0, dword [rax + 0x14]
addss xmm0, dword [0x1800a36e0]
movss dword [rax + 0x14], xmm0
mov rcx, qword [rbx]
test rcx, rcx
je 0x18003ce03
mov rdx, qword [rbx + 0x10]
jmp 0x18003cdc4
call fcn.180003cac
int3
call fcn.180004900
int3