Function at 0x1800498c4
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x230
movaps xmmword [rax - 0x48], xmm6
lea rsi, [0x18005f340]
movaps xmmword [rax - 0x58], xmm7
mov edi, 1
movaps xmmword [rax - 0x68], xmm8
mov r12, rdx
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov eax, dword [0x18005f360]
test dil, al
jne 0x180049969
or eax, edi
mov rcx, rsi
mov dword [0x18005f360], eax
cvttss2si edx, dword [r9]
call fcn.18000e028
lea rcx, [0x18004c154]
call fcn.18000683c
mov rax, qword [0x18005b738]
test rax, rax
je 0x18004a5cb
movss xmm8, dword [rax + 0x10]
lea r8, [rsp + 0x40]
movss xmm6, dword [rax + 8]
addss xmm8, dword [0x1800537b8]
subss xmm6, dword [0x180057eec]
movss xmm12, dword [rax + 0x14]
addss xmm12, dword [0x1800537b8]
movups xmm0, xmmword [0x18005b610]
movss xmm10, dword [0x180052de8]
movaps xmm14, xmm8
movss xmm15, dword [0x1800537a4]
movaps xmm13, xmm6
unpcklps xmm13, xmm10
movaps xmm3, xmm15
unpcklps xmm14, xmm12
movq rdx, xmm13
movq rcx, xmm14
movdqa xmmword [rsp + 0x40], xmm0
call qword [0x18005b688]
mov rax, qword [0x18005b738]
movss xmm7, dword [rbp + 0x190]
comiss xmm7, dword [0x180052de0]
movss xmm2, dword [rax + 4]
movss xmm1, dword [rax]
movaps xmm3, xmm2
movss xmm4, dword [0x18005b658]
addss xmm3, xmm12
movaps xmm0, xmm1
addss xmm2, xmm12
addss xmm0, xmm8
setb byte [rsp + 0x30]
addss xmm3, dword [0x180058260]
addss xmm2, dword [0x180057ee8]
comiss xmm4, xmm0
jb 0x180049a67
movss xmm0, dword [0x18005b65c]
comiss xmm0, xmm2
jb 0x180049a67
addss xmm1, xmm8
addss xmm1, xmm6
comiss xmm4, xmm1
ja 0x180049a67
comiss xmm0, xmm3
ja 0x180049a67
mov al, dil
jmp 0x180049a69
xor al, al
cmp qword [0x18005b718], 0
mov r15, qword [0x18005b710]
mov byte [rsp + 0x31], al
jne 0x180049a88
test r15, r15
jne 0x180049a88
mov bl, dil
jmp 0x180049a8a
xor bl, bl
movss xmm9, dword [rbp + 0x198]
movabs rcx, 0x100000001b3
movss xmm11, dword [0x18004f5e8]
movabs r14, 0xcbf29ce484222325
mov r13b, byte [0x18005b660]
test al, al
je 0x180049b72
test r13b, r13b
je 0x180049b72
cmp byte [0x18005b661], 0
jne 0x180049b08
test bl, bl
je 0x180049b08
cmp byte [r12], 0
je 0x180049afe
movsx rdx, byte [r12]
xor rdx, r14
imul rdx, rcx
lea rcx, [r12 + 1]
call fcn.180044c10
mov r15, rax
mov qword [0x18005b710], rax
jmp 0x180049b08
mov r15, r14
mov qword [0x18005b710], r14
test r13b, r13b
je 0x180049b72
cmp byte [0x18005b661], 0
jne 0x180049b72
test bl, bl
je 0x180049b72
mov ecx, 0x132
call fcn.18004aed4
test al, al
je 0x180049b64
cmp byte [r12], 0
je 0x180049b51
movsx rdx, byte [r12]
lea rcx, [r12 + 1]
xor rdx, r14
movabs rax, 0x100000001b3
imul rdx, rax
call fcn.180044c10
jmp 0x180049b54
mov rax, r14
add rax, 2
mov qword [0x18005b710], rax
jmp 0x180049f11
mov r15, qword [0x18005b710]
mov r13b, byte [0x18005b660]
movsx rbx, byte [r12]
lea rcx, [r12 + 1]
xor rbx, r14
cmp byte [r12], 0
je 0x180049ba3
movabs rax, 0x100000001b3
mov rdx, rbx
imul rdx, rax
call fcn.180044c10
lea rcx, [r12 + 1]
jmp 0x180049ba6
mov rax, r14
add rax, 2
cmp r15, rax
jne 0x180049e13
mov ecx, 8
call fcn.18004aee4
test al, al
je 0x180049bee
mov rcx, qword [0x18005f350]
test rcx, rcx
je 0x180049bee
dec rcx
mov rax, rsi
cmp qword [0x18005f358], 0x10
mov qword [0x18005f350], rcx
cmovae rax, qword [0x18005f340]
mov byte [rax + rcx], 0
mov ecx, 0x1b
call fcn.18004aee4
test al, al
jne 0x180049c20
mov ecx, 0xd
call fcn.18004aee4
test al, al
jne 0x180049c20
cmp byte [rsp + 0x31], al
jne 0x180049d22
cmp byte [0x18005b660], al
je 0x180049d22
mov r15, qword [0x18005f358]
mov r10, qword [0x18005f340]
mov rdx, qword [0x18005f350]
cmp r15, 0x10
jb 0x180049c44
lea rax, [r10 + rdx]
mov r8, r10
jmp 0x180049c5b
lea rax, [rsi + rdx]
mov r8, rsi
jmp 0x180049c5b
mov cl, byte [r8]
sub cl, 0x30
cmp cl, 9
jbe 0x180049c60
add r8, rdi
cmp r8, rax
jne 0x180049c4d
cmp r15, 0x10
mov r13, rsi
cmovae r13, r10
xor r9d, r9d
add r13, rdx
xor ebx, ebx
test rdx, rdx
je 0x180049cac
xor r11d, r11d
cmp rdx, r11
jbe 0x18004a61e
cmp r15, 0x10
lea eax, [r9 + 1]
mov rcx, rsi
cmovae rcx, r10
cmp byte [r11 + rcx], 0x2d
cmovne eax, r9d
add ebx, edi
mov r9d, eax
add r11, rdi
movsxd rax, ebx
cmp rax, rdx
jb 0x180049c7b
cmp r8, r13
je 0x180049d1a
cmp r9d, 2
jge 0x180049d1a
test rdx, rdx
je 0x180049d1a
cmp r15, 0x10
movss dword [rsp + 0x60], xmm9
mov rbx, rsi
movss dword [rsp + 0x70], xmm7
cmovae rbx, r10
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.18004a624
cmp qword [rsp + 0x50], rbx
jne 0x180049ceb
xorps xmm0, xmm0
comiss xmm0, xmm7
lea rax, [rsp + 0x50]
lea rcx, [rsp + 0x70]
movss dword [rsp + 0x50], xmm0
cmovae rcx, rax
lea rax, [rsp + 0x60]
comiss xmm9, xmm0
cmovae rax, rcx
mov rcx, qword [rbp + 0x188]
mov eax, dword [rax]
mov dword [rcx], eax
and qword [0x18005b710], 0
xor ebx, ebx
lea eax, [rbx - 0x30]
cmp eax, 9
jbe 0x180049d37
lea eax, [rbx - 0x2d]
cmp eax, edi
ja 0x180049e03
mov ecx, ebx
call fcn.18004aee4
test al, al
je 0x180049e03
mov rcx, qword [0x18005f350]
mov rdx, qword [0x18005f358]
cmp ebx, 0x2d
jne 0x180049d83
cmp rcx, rdx
jae 0x180049d7e
lea rax, [rcx + 1]
cmp rdx, 0x10
mov qword [0x18005f350], rax
mov rax, rsi
cmovae rax, qword [0x18005f340]
mov word [rax + rcx], bx
jmp 0x180049dc0
mov r9b, 0x2d
jmp 0x180049db0
cmp ebx, 0x2e
jne 0x180049dc7
cmp rcx, rdx
jae 0x180049dad
lea rax, [rcx + 1]
cmp rdx, 0x10
mov qword [0x18005f350], rax
mov rax, rsi
cmovae rax, qword [0x18005f340]
mov word [rax + rcx], bx
jmp 0x180049dc0
mov r9b, 0x2e
mov r8b, byte [rsp + 0x30]
mov rdx, rdi
mov rcx, rsi
call fcn.18000e260
inc ebx
jmp 0x180049d24
cmp rcx, rdx
jae 0x180049df0
lea rax, [rcx + 1]
cmp rdx, 0x10
mov qword [0x18005f350], rax
mov rax, rsi
cmovae rax, qword [0x18005f340]
mov byte [rax + rcx], bl
mov byte [rax + rcx + 1], 0
jmp 0x180049e03
mov r8b, byte [rsp + 0x30]
mov r9b, bl
mov rdx, rdi
mov rcx, rsi
call fcn.18000e260
add ebx, edi
cmp ebx, 0x39
jl 0x180049d24
jmp 0x180049f11
test r13b, r13b
je 0x180049ee5
cmp byte [r12], 0
je 0x180049e38
movabs rdx, 0x100000001b3
imul rdx, rbx
call fcn.180044c10
jmp 0x180049e3b
mov rax, r14
mov rdx, qword [rbp + 0x188]
cmp r15, rax
jne 0x180049f18
mov rax, qword [0x18005b738]
lea rcx, [rsp + 0x74]
movss xmm1, dword [0x18005b650]
movaps xmm0, xmm8
movaps xmm3, xmm6
movss dword [rsp + 0x74], xmm7
subss xmm3, xmm11
movss dword [rsp + 0x50], xmm9
addss xmm0, dword [rax]
lea rax, [rsp + 0x78]
movss dword [rsp + 0x60], xmm7
movss dword [rsp + 0x7c], xmm3
subss xmm1, xmm0
movaps xmm0, xmm9
subss xmm0, xmm7
comiss xmm1, xmm7
movss dword [rsp + 0x78], xmm1
cmovae rcx, rax
lea rax, [rsp + 0x7c]
comiss xmm3, xmm1
cmovae rax, rcx
lea rcx, [rsp + 0x60]
movss xmm2, dword [rax]
lea rax, [rsp + 0x50]
divss xmm2, xmm3
mulss xmm2, xmm0
addss xmm2, xmm7
comiss xmm2, xmm7
movss dword [rdx], xmm2
cmovae rcx, rdx
comiss xmm9, xmm2
cmovae rax, rcx
mov eax, dword [rax]
mov dword [rdx], eax
jmp 0x180049f18
cmp byte [r12], 0
je 0x180049f01
movabs rdx, 0x100000001b3
imul rdx, rbx
call fcn.180044c10
jmp 0x180049f04
mov rax, r14
cmp r15, rax
jne 0x180049f11
and qword [0x18005b710], 0
mov rdx, qword [rbp + 0x188]
mov bl, byte [rsp + 0x30]
movaps xmm0, xmm11
movaps xmm7, xmm6
divss xmm0, xmm9
movss xmm9, dword [0x180051340]
test bl, bl
je 0x180049f3a
mulss xmm7, xmm9
movss xmm2, dword [rdx]
lea rcx, [rbp - 0x70]
mulss xmm7, dword [rdx]
lea rdx, str._.2f_s
mov r9, qword [rbp + 0x180]
cvtps2pd xmm2, xmm2
mulss xmm7, xmm0
movq r8, xmm2
call fcn.180003ec0
lea r8, [rsp + 0x40]
movaps xmm3, xmm15
movups xmm0, xmmword [0x18005b570]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm10
movq rdx, xmm0
test bl, bl
je 0x180049f9a
movaps xmm1, xmm6
mulss xmm1, xmm9
addss xmm1, xmm8
jmp 0x180049f9e
movaps xmm1, xmm8
unpcklps xmm1, xmm12
movq rcx, xmm1
call qword [0x18005b688]
movups xmm0, xmmword [0x18005b1a0]
lea r8, [rsp + 0x40]
movaps xmm3, xmm15
movq rdx, xmm13
movq rcx, xmm14
movdqa xmmword [rsp + 0x40], xmm0
call qword [0x18005b680]
movaps xmm0, xmmword [0x1800539b0]
addss xmm7, xmm8
movss xmm14, dword [0x18005379c]
lea r8, [rsp + 0x60]
movss xmm9, dword [0x18005378c]
movq qword [rsp + 0x60], xmm0
movaps xmm3, xmm9
psrldq xmm0, 8
movq qword [rsp + 0x68], xmm0
movaps xmm0, xmm14
unpcklps xmm0, xmm10
unpcklps xmm7, xmm12
movq rdx, xmm0
movq rcx, xmm7
call qword [0x18005b688]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x80]
call qword [0x18005b698]
mov rdx, r12
lea rcx, [rbp - 0x78]
call qword [0x18005b698]
movups xmm0, xmmword [0x18005b1b0]
lea r8, [rsp + 0x40]
xor r9d, r9d
movaps xmm1, xmm12
mov rdx, r12
subss xmm1, dword [rbp - 0x74]
movups xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm1
movq rcx, xmm0
call qword [0x18005b690]
cmp byte [r12], 0
movabs r15, 0x100000001b3
je 0x18004a09d
movsx rdx, byte [r12]
lea rcx, [r12 + 1]
xor rdx, r14
imul rdx, r15
call fcn.180044c10
jmp 0x18004a0a0
mov rax, r14
movss xmm7, dword [0x180054248]
add rax, 2
cmp qword [0x18005b710], rax
je 0x18004a0f3
subss xmm6, dword [rbp - 0x80]
movups xmm0, xmmword [0x18005b1b0]
lea r8, [rsp + 0x40]
xor r9d, r9d
movaps xmm1, xmm12
lea rdx, [rbp - 0x70]
subss xmm1, dword [rbp - 0x7c]
addss xmm6, xmm8
movups xmmword [rsp + 0x40], xmm0
unpcklps xmm6, xmm1
movq rcx, xmm6
call qword [0x18005b690]
jmp 0x18004a2d6
cmp qword [0x18005f358], 0x10
lea rdx, [0x180058b40]
lea rcx, [rbp - 0x70]
cmovae rsi, qword [0x18005f340]
mov r8, rsi
call fcn.180003ec0
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x60]
call qword [0x18005b698]
movups xmm0, xmmword [0x18005b1b0]
lea r8, [rsp + 0x40]
xor r9d, r9d
movaps xmm2, xmm6
lea rdx, [rbp - 0x70]
subss xmm2, dword [rsp + 0x60]
movaps xmm1, xmm12
subss xmm1, dword [rsp + 0x64]
movups xmmword [rsp + 0x40], xmm0
addss xmm2, xmm8
unpcklps xmm2, xmm1
movq rcx, xmm2
call qword [0x18005b690]
mov ebx, dword [0x18005f364]
cmp ebx, 0x50
jle 0x18004a176
xor ebx, ebx
mov dword [0x18005f364], ebx
cmp ebx, 0x28
jle 0x18004a18f
cmp byte [0x18005f368], 0
sete sil
mov byte [0x18005f368], sil
jmp 0x18004a196
mov sil, byte [0x18005f368]
cmp byte [r12], 0
je 0x18004a1b6
movsx rdx, byte [r12]
lea rcx, [r12 + 1]
xor rdx, r14
imul rdx, r15
call fcn.180044c10
mov r14, rax
lea rax, [r14 + 2]
cmp qword [0x18005b710], rax
jne 0x18004a2ce
movss xmm4, dword [rsp + 0x60]
comiss xmm4, dword [0x180052de0]
ja 0x18004a1de
movss xmm4, dword [0x1800537b8]
mov r9, qword [0x18005b688]
test sil, sil
je 0x18004a1ef
lea edx, [rbx + rbx*4]
jmp 0x18004a1ff
mov eax, 0x66666667
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movss xmm3, dword [0x180052de4]
subss xmm6, xmm4
movss xmm2, dword [0x180055a58]
lea r8, [rsp + 0x40]
movss xmm0, dword [0x18005b1b0]
mulss xmm0, xmm2
addss xmm6, xmm8
cvttss2si eax, xmm0
movss xmm0, dword [0x18005b1b4]
mulss xmm0, xmm2
movd xmm1, eax
cvttss2si eax, xmm0
movss xmm0, dword [0x18005b1b8]
mulss xmm0, xmm2
movaps xmm2, xmm12
cvtdq2ps xmm1, xmm1
subss xmm2, xmm7
mulss xmm1, xmm3
movss dword [rsp + 0x50], xmm1
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, edx
mulss xmm1, xmm3
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x54], xmm1
mulss xmm0, xmm3
movd xmm1, eax
mov rax, qword [rsp + 0x50]
movss dword [rsp + 0x5c], xmm0
movaps xmm0, xmm4
cvtdq2ps xmm1, xmm1
mov qword [rsp + 0x40], rax
unpcklps xmm0, xmm11
mulss xmm1, xmm3
movq rdx, xmm0
unpcklps xmm6, xmm2
movaps xmm3, xmm15
movq rcx, xmm6
movss dword [rsp + 0x58], xmm1
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
call r9
mov ebx, dword [0x18005f364]
add ebx, edi
mov dword [0x18005f364], ebx
mov rbx, qword [rbp + 0x1a0]
cmp byte [rbx + 8], 0
je 0x18004a5b2
movabs rsi, 0x3fe0db760e316846
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x58], rsi
lea rcx, [rsp + 0x60]
movabs r15, 0x9dffc12be3289871
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r15
movabs r14, 0x9dffc12be301a759
movdqa xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x50], r14
xorps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
call qword [0x18005b698]
movss xmm13, dword [rbp - 0x78]
movss xmm2, dword [rsp + 0x64]
addss xmm13, xmm8
mov rax, qword [0x18005b738]
subss xmm12, xmm2
movss xmm4, dword [0x18005b658]
movss xmm3, dword [rsp + 0x60]
addss xmm13, xmm7
movaps xmm1, xmm12
addss xmm1, dword [rax + 4]
movaps xmm0, xmm13
addss xmm0, dword [rax]
addss xmm2, xmm1
addss xmm1, dword [0x180057ee8]
comiss xmm4, xmm0
addss xmm2, dword [0x180057ee8]
addss xmm3, xmm0
jb 0x18004a3af
movss xmm0, dword [0x18005b65c]
comiss xmm0, xmm1
jb 0x18004a3af
comiss xmm4, xmm3
ja 0x18004a3af
comiss xmm0, xmm2
jbe 0x18004a3b2
xor dil, dil
mov qword [rsp + 0x48], rsi
lea rcx, [0x18005b620]
mov qword [rsp + 0x58], rsi
lea rax, [0x18005b630]
mov qword [rsp + 0x40], r15
lea r8, [rsp + 0x40]
movdqa xmm0, xmmword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], r14
test dil, dil
xorps xmm0, xmmword [rsp + 0x50]
mov esi, 4
movdqa xmmword [rsp + 0x50], xmm0
cmove rax, rcx
mov r9d, esi
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm13
unpcklps xmm0, xmm12
movq rcx, xmm0
call qword [0x18005b690]
test dil, dil
je 0x18004a5b2
cmp qword [0x18005b710], 0
jne 0x18004a5b2
mov rax, qword [0x18005b738]
lea rcx, [rsp + 0x50]
mov rdx, qword [rbx]
addss xmm13, dword [rax]
addss xmm12, dword [rax + 4]
mov rax, qword [0x18005b698]
addss xmm13, dword [rsp + 0x60]
addss xmm12, dword [rsp + 0x64]
movaps xmm11, xmm13
movaps xmm10, xmm12
addss xmm11, xmm9
addss xmm10, dword [0x18005399c]
call rax
movaps xmm0, xmmword [0x180058090]
lea rdi, [0x18005b6c8]
movq qword [rsp + 0x40], xmm0
lea r9, [rsp + 0x40]
psrldq xmm0, 8
movaps xmm1, xmm11
movss xmm7, dword [rax]
mov rcx, rdi
movss xmm6, dword [rax + 4]
movaps xmm9, xmm7
movq qword [rsp + 0x48], xmm0
addss xmm9, xmm15
movaps xmm8, xmm6
unpcklps xmm1, xmm10
addss xmm8, xmm15
movss dword [rsp + 0x20], xmm15
movq rdx, xmm1
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movq r8, xmm0
call fcn.18004abe8
movups xmm0, xmmword [0x18005b1b0]
mov r8, qword [rbx]
lea r9, [rsp + 0x40]
movaps xmm2, xmm13
mov dword [rsp + 0x20], esi
addss xmm2, xmm15
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmm12
mov rcx, rdi
addss xmm1, dword [0x1800537cc]
unpcklps xmm2, xmm1
movq rdx, xmm2
call fcn.18004b83c
addss xmm13, dword [0x180053798]
movaps xmm0, xmmword [0x1800580a0]
addss xmm7, xmm14
addss xmm12, dword [0x1800537c4]
addss xmm6, xmm14
movq qword [rsp + 0x40], xmm0
psrldq xmm0, 8
lea r9, [rsp + 0x40]
mov rcx, rdi
movss dword [rsp + 0x20], xmm15
movq qword [rsp + 0x48], xmm0
unpcklps xmm13, xmm12
unpcklps xmm7, xmm6
movq rdx, xmm13
movq r8, xmm7
call fcn.18004afd8
movups xmm0, xmmword [0x18005b1a0]
lea r9, [rsp + 0x40]
mov rcx, rdi
movaps xmm1, xmm11
movss dword [rsp + 0x20], xmm15
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm8
unpcklps xmm1, xmm10
movq r8, xmm0
movq rdx, xmm1
call fcn.18004afd8
mov rax, qword [0x18005b738]
movss xmm0, dword [rax + 0x14]
addss xmm0, dword [0x1800539a0]
movss dword [rax + 0x14], xmm0
lea r11, [rsp + 0x230]
mov rbx, 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 rdi
pop rsi
pop rbp
ret
call fcn.1800068b8
int3