Function at 0x180042a90
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 - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180118100]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov rbx, rcx
xorps xmm8, xmm8
mov qword [rbp - 0x59], 0
mov rax, qword [rbp - 0x59]
mov qword [rcx + 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x31], xmm1
mov r8d, 3
lea rdx, [0x1800fab88]
lea rcx, [rbp - 0x41]
call fcn.18002fe70
nop
mov rax, qword [0x1801b42e8]
mov rcx, qword [rax + 0x98]
call fcn.1800718e0
lea rcx, [rbp - 0x41]
cmp qword [rbp - 0x29], 0xf
cmova rcx, qword [rbp - 0x41]
mov rax, qword [0x1801bd7c0]
movss xmm6, dword [rax + 0x3db8]
xor esi, esi
test rcx, rcx
jne 0x180042b4c
xorps xmm7, xmm7
jmp 0x180042ba1
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x1800fe36c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1800fe35c]
movaps xmm2, xmm6
lea rdx, [rbp - 0x59]
mov rcx, qword [rax + 0x3db0]
call fcn.1800835e0
movss xmm0, dword [rbp - 0x59]
addss xmm0, dword [0x1800fe1e0]
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss xmm6, dword [rbp - 0x55]
call fcn.180071990
nop
lea rcx, [rbp - 0x41]
call fcn.1800304d0
cmp dword [rbx + 0xe4], 1
jne 0x180042bbf
mov rax, qword [rbx + 0x20]
jmp 0x180042bc6
mov rax, qword [rbx + 0xfc]
mov qword [rbp - 0x21], rax
lea r15, [rbx + 0x18]
mov r8, qword [r15]
mov qword [rbp - 0x59], r8
cvttss2si ecx, dword [rbp - 0x55]
cvttss2si edx, dword [rbp - 0x59]
mov rax, qword [0x1801b42e0]
movss xmm2, dword [rax]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x180042c31
movss xmm1, dword [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x180042c31
cvttss2si eax, dword [rbp - 0x21]
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x180042c31
cvttss2si eax, dword [rbp - 0x1d]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x180042c31
mov al, 1
jmp 0x180042c33
xor al, al
mov byte [rbx + 0x99], al
movaps xmm3, xmm6
addss xmm3, dword [0x1800fe234]
movaps xmm4, xmm7
addss xmm4, dword [0x1800fe24c]
movss xmm1, dword [rbx + 0x24]
addss xmm1, dword [r15 + 4]
subss xmm1, dword [0x1800fe234]
subss xmm1, xmm6
movss xmm0, dword [rbx + 0x20]
addss xmm0, dword [r15]
subss xmm0, dword [0x1800fe24c]
subss xmm0, xmm7
cvttss2si ecx, xmm1
cvttss2si edx, xmm0
mov rax, qword [0x1801b42e0]
movss xmm2, dword [rax]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x180042cd4
movss xmm1, dword [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x180042cd4
cvttss2si eax, xmm4
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x180042cd4
cvttss2si eax, xmm3
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x180042cd4
mov al, 1
jmp 0x180042cd6
xor al, al
mov byte [rbx + 0xdf], al
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x59], r8
cvttss2si ecx, dword [rbp - 0x55]
cvttss2si edx, dword [rbp - 0x59]
mov rax, qword [0x1801b42e0]
movss xmm2, dword [rax]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x180042d44
movss xmm1, dword [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x180042d44
cvttss2si eax, dword [rbp - 0x21]
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x180042d44
cvttss2si eax, dword [rbp - 0x1d]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x180042d44
mov al, 1
jmp 0x180042d46
xor al, al
mov byte [rbx + 0xe9], al
mov r12, qword [0x1801bdb08]
test r12, r12
jne 0x180042e8c
cmp qword [rbx + 0xd0], r12
je 0x180042e8c
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x31], xmm1
mov r8d, 3
lea rdx, [0x1800fab84]
lea rcx, [rbp - 0x41]
call fcn.18002fe70
nop
lea r9, [rbp - 0x41]
mov r8, qword [0x1801b42e8]
mov r8, qword [r8 + 0x98]
lea rdx, [rbp - 0x59]
call fcn.18008daa0
nop
lea rcx, [rbp - 0x41]
call fcn.1800304d0
movss xmm0, dword [rbp - 0x59]
movaps xmm5, xmm0
addss xmm5, dword [0x1800fe28c]
movss xmm4, dword [rbp - 0x55]
addss xmm4, dword [0x1800fe27c]
movss xmm3, dword [rbx + 0x20]
addss xmm3, dword [r15]
subss xmm3, xmm0
subss xmm3, dword [0x1800fe264]
subss xmm3, dword [0x1800fe264]
movss xmm1, dword [rbx + 0x1c]
addss xmm1, dword [0x1800fe250]
subss xmm1, dword [0x1800fe27c]
cvttss2si ecx, xmm1
cvttss2si edx, xmm3
mov rax, qword [0x1801b42e0]
movss xmm2, dword [rax]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x180042e85
movss xmm1, dword [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x180042e85
cvttss2si eax, xmm5
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x180042e85
cvttss2si eax, xmm4
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x180042e85
mov byte [rbx + 0xdb], 1
mov r9, qword [0x1801b42e0]
cmp byte [r9 + 9], r12b
je 0x180042e93
cmp byte [r9 + 0x109], r12b
jne 0x180042e93
mov rax, qword [0x1801b4348]
mov byte [rax + 0xe8], r12b
jmp 0x180042e8c
mov byte [rbx + 0xdb], 0
mov r9, qword [0x1801b42e0]
mov rax, qword [r9]
mov qword [rbp - 0x59], rax
movss xmm4, dword [rbp - 0x55]
movss xmm5, dword [rbp - 0x59]
cmp byte [rbx + 0xe0], 0
jne 0x180042fd3
test r12, r12
jne 0x180042fd3
cmp byte [rbx + 0xdd], r12b
jne 0x180042f02
cmp byte [rbx + 0x99], r12b
je 0x180042f40
cmp byte [r9 + 9], r12b
je 0x180042f40
cmp byte [r9 + 0x109], r12b
jne 0x180042f40
movaps xmm0, xmm5
subss xmm0, dword [r15]
movss dword [rbx + 0x104], xmm0
movaps xmm1, xmm4
subss xmm1, dword [rbx + 0x1c]
movss dword [rbx + 0x108], xmm1
mov byte [rbx + 0xdd], 1
mov r9, qword [0x1801b4338]
cmp qword [0x1801b4330], r9
je 0x180042f40
mov rcx, rbx
call fcn.180036c00
cmp rax, qword [r9 - 0x10]
jne 0x180042f40
movaps xmm0, xmm5
subss xmm0, dword [rbx + 0x104]
movss dword [r15], xmm0
movaps xmm1, xmm4
subss xmm1, dword [rbx + 0x108]
movss dword [rbx + 0x1c], xmm1
mov rax, qword [0x1801bdca0]
movd xmm3, dword [rax]
cvtdq2ps xmm3, xmm3
subss xmm3, dword [rbx + 0x20]
movss dword [rbp - 0x21], xmm3
mov dword [rbp - 0x51], 0
movss xmm0, dword [r15]
lea rdx, [rbp - 0x51]
comiss xmm8, xmm0
cmovbe rdx, r15
movd xmm2, dword [rax + 4]
cvtdq2ps xmm2, xmm2
subss xmm2, dword [rbx + 0x24]
movss dword [rbp - 0x59], xmm2
mov dword [rbp - 0x49], 0
lea rax, [rbx + 0x1c]
movss xmm1, dword [rax]
lea rcx, [rbp - 0x49]
comiss xmm8, xmm1
cmovbe rcx, rax
lea rax, [rbp - 0x21]
comiss xmm0, xmm3
cmovbe rax, rdx
movss xmm0, dword [rax]
movss dword [rbp - 0x21], xmm0
lea rax, [rbp - 0x59]
comiss xmm1, xmm2
cmovbe rax, rcx
movss xmm0, dword [rax]
movss dword [rbp - 0x1d], xmm0
mov rax, qword [rbp - 0x21]
mov qword [r15], rax
mov r9, qword [0x1801b42e0]
cmp byte [rbx + 0xf0], 0
je 0x18004307a
mov r10, qword [0x1801b4338]
cmp qword [0x1801b4330], r10
je 0x18004307a
mov rcx, rbx
call fcn.180036c00
cmp rax, qword [r10 - 0x10]
jne 0x18004307a
cmp byte [rbx + 0xde], 0
jne 0x18004304c
cmp byte [rbx + 0xdf], 0
je 0x18004307a
cmp byte [r9 + 9], 0
je 0x18004307a
cmp byte [r9 + 0x109], 0
jne 0x18004307a
movaps xmm0, xmm5
subss xmm0, dword [rbx + 0x20]
movss dword [rbx + 0x10c], xmm0
movaps xmm1, xmm4
subss xmm1, dword [rbx + 0x24]
movss dword [rbx + 0x110], xmm1
mov byte [rbx + 0xde], 1
subss xmm5, dword [rbx + 0x10c]
movss dword [rbx + 0x20], xmm5
subss xmm4, dword [rbx + 0x110]
movss dword [rbx + 0x24], xmm4
mov rax, qword [0x1801b42e0]
cmp byte [rax + 9], 0
jne 0x18004307a
mov byte [rbx + 0xde], 0
lea rcx, [rbx + 0x30]
cmp qword [rcx + 0x18], 0xf
jbe 0x180043088
mov rcx, qword [rcx]
movsx eax, byte [rcx]
mov edx, 0x811c9dc5
test al, al
je 0x1800430a6
xor eax, edx
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
mov edx, eax
lea eax, [rdx - 0x2e422712]
mov dword [rbp - 0x59], eax
movss xmm2, dword [rbx + 0x100]
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x21]
call fcn.180035b00
lea r8, [rbx + 0x24]
cmp dword [rbx + 0xe4], 1
jne 0x1800430e5
movss xmm0, dword [rbp - 0x21]
maxss xmm0, xmm8
movss dword [r8], xmm0
jmp 0x180043171
mov rcx, qword [0x1801bdca0]
movd xmm4, dword [rcx]
cvtdq2ps xmm4, xmm4
subss xmm4, dword [r15]
movss dword [rbp - 0x59], xmm4
lea rax, [rbx + 0xf4]
movss xmm3, dword [rbx + 0x20]
lea rdx, [rbx + 0x20]
movss xmm0, dword [rax]
comiss xmm0, xmm3
cmova rdx, rax
movd xmm2, dword [rcx + 4]
cvtdq2ps xmm2, xmm2
subss xmm2, dword [rbx + 0x1c]
movss dword [rbp - 0x21], xmm2
lea rax, [rbx + 0xf8]
movss xmm1, dword [r8]
movss xmm0, dword [rax]
comiss xmm0, xmm1
cmova r8, rax
lea rax, [rbp - 0x59]
comiss xmm3, xmm4
cmovbe rax, rdx
movss xmm0, dword [rax]
movss dword [rbp - 0x59], xmm0
lea rax, [rbp - 0x21]
comiss xmm1, xmm2
cmovbe rax, r8
movss xmm0, dword [rax]
movss dword [rbp - 0x55], xmm0
mov rax, qword [rbp - 0x59]
mov qword [rbx + 0x20], rax
mov rcx, qword [0x1801b42e0]
cmp byte [rbx + 0xdd], 0
je 0x180043195
cmp byte [rcx + 9], 0
jne 0x180043195
mov byte [rbx + 0xdd], 0
mov rcx, qword [0x1801b42e0]
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x21], rax
mov rax, qword [r15]
mov qword [rbp - 0x59], rax
cvttss2si edx, dword [rbp - 0x55]
cvttss2si r8d, dword [rbp - 0x59]
movss xmm2, dword [rcx]
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x18004321f
movss xmm1, dword [rcx + 4]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18004321f
cvttss2si eax, dword [rbp - 0x21]
add eax, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x18004321f
cvttss2si eax, dword [rbp - 0x1d]
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18004321f
cmp byte [rcx + 9], 0
je 0x18004321f
cmp byte [rcx + 0x109], 0
jne 0x18004321f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss dword [rbx + 0xc0], xmm0
mov rdx, qword [rbx + 0x168]
test rdx, rdx
je 0x180043446
mov r13, qword [0x1801bdb08]
mov rax, rsi
movss xmm7, dword [0x1800fe200]
movss xmm9, dword [0x1800fe208]
movss xmm8, dword [0x1800fe1ac]
mov rcx, qword [rbx + 0x160]
add rcx, rax
mov rax, qword [rbx + 0x158]
dec rax
and rcx, rax
mov rax, qword [rbx + 0x150]
mov rdi, qword [rax + rcx*8]
movss xmm6, dword [rbx + 0x1c]
addss xmm6, dword [rbx + 0x100]
subss xmm6, xmm7
xorps xmm1, xmm1
test rdx, rdx
js 0x180043295
cvtsi2ss xmm1, rdx
jmp 0x1800432aa
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm0, dword [rbx + 0x20]
divss xmm0, xmm1
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss xmm2, dword [r15]
addss xmm2, xmm7
addss xmm0, xmm2
subss xmm0, xmm9
call fcn.1800a2234
movss dword [rbp - 0x59], xmm0
movss dword [rbp - 0x55], xmm6
mov rcx, qword [rdi]
mov rax, qword [rbp - 0x59]
mov qword [rcx + 0x18], rax
movss xmm6, dword [rbx + 0x114]
mov rcx, qword [rbx + 0x168]
xorps xmm1, xmm1
test rcx, rcx
js 0x180043308
cvtsi2ss xmm1, rcx
jmp 0x18004331d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm0, dword [rbx + 0x20]
divss xmm0, xmm1
addss xmm0, xmm8
call fcn.1800a2234
movss dword [rbp - 0x21], xmm0
movss dword [rbp - 0x1d], xmm6
mov rcx, qword [rdi]
mov rax, qword [rbp - 0x21]
mov qword [rcx + 0x20], rax
test r13, r13
jne 0x180043416
mov r9, qword [0x1801b4338]
cmp qword [0x1801b4330], r9
je 0x180043416
mov rcx, rbx
call fcn.180036c00
cmp rax, qword [r9 - 0x10]
jne 0x180043416
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
mov qword [rbp - 0x51], rax
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x49], rax
cvttss2si edx, dword [rbp - 0x45]
cvttss2si r8d, dword [rbp - 0x49]
mov rax, qword [0x1801b42e0]
movss xmm2, dword [rax]
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x1800433e6
movss xmm1, dword [rax + 4]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1800433e6
cvttss2si eax, dword [rbp - 0x51]
add eax, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1800433e6
cvttss2si eax, dword [rbp - 0x4d]
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1800433e6
mov al, 1
jmp 0x1800433e8
xor al, al
mov byte [rcx + 0x99], al
mov rax, qword [rdi]
cmp byte [rax + 0x99], 0
je 0x180043416
mov rax, qword [0x1801b42e0]
cmp byte [rax + 9], 0
je 0x180043416
cmp byte [rax + 0x109], 0
jne 0x180043416
mov dword [rbx + 0xec], esi
cmp dword [rbx + 0xec], esi
sete cl
mov rax, qword [rdi]
mov byte [rax + 0x98], cl
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 8]
inc esi
mov rdx, qword [rbx + 0x168]
movsxd rax, esi
cmp rax, rdx
jb 0x180043253
mov rdi, qword [rbx + 0x88]
mov rsi, qword [rbx + 0x90]
add rsi, rdi
cmp rdi, rsi
je 0x1800434ff
movss xmm6, dword [0x1800fe270]
movss xmm7, dword [0x1800fe254]
mov rcx, qword [rbx + 0x80]
dec rcx
and rcx, rdi
mov rax, qword [rbx + 0x78]
mov rdx, qword [rax + rcx*8]
movss xmm0, dword [r15]
addss xmm0, xmm6
movss dword [rbp - 0x59], xmm0
movss xmm1, dword [rbx + 0x1c]
addss xmm1, dword [rbx + 0x100]
addss xmm1, dword [rbx + 0x2c]
addss xmm1, xmm7
movss dword [rbp - 0x55], xmm1
mov rcx, qword [rdx]
mov rax, qword [rbp - 0x59]
mov qword [rcx + 0x18], rax
mov rax, qword [rdx]
movss xmm0, dword [rax + 0xb8]
addss xmm0, dword [rbx + 0x28]
movss dword [rbx + 0x28], xmm0
movss xmm1, dword [rax + 0xbc]
addss xmm1, dword [rbx + 0x2c]
movss dword [rbx + 0x2c], xmm1
test r12, r12
je 0x1800434ea
cmp r12, qword [rdx]
jne 0x1800434f3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc rdi
cmp rdi, rsi
jne 0x180043470
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.1800921e0
lea r11, [rsp + 0xd0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret