Function at 0x1800593f0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm14
mov r12, rdx
mov rdi, rcx
mov rbx, qword [0x180206788]
mov r14, rbx
mov rax, qword [rbx + 0x1c20]
mov byte [rax + 0x90], 1
mov r15, qword [rbx + 0x1c20]
cmp byte [r15 + 0x93], 0
jne 0x180059f0d
movsxd r8, dword [r15 + 0xc8]
mov rax, qword [r15 + 0xd0]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.18003aa80
mov esi, eax
mov dword [rsp + 0x44], esi
cmp dword [rbx + 0x1c6c], eax
jne 0x1800594a8
mov dword [rbx + 0x1c70], esi
cmp dword [rbx + 0x1ca8], esi
jne 0x1800594b7
mov byte [rbx + 0x1cac], 1
cmp dword [rbx + 0x1c54], esi
jne 0x1800594d5
mov r8, rdi
mov edx, 0xb
mov ecx, esi
call fcn.18004d230
mov rbx, qword [0x180206788]
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x1800594fd
nop
movzx edx, byte [rcx]
test dl, dl
je 0x1800594fd
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1800594f4
cmp byte [rax], dl
je 0x1800594fd
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1800594e0
movss xmm2, dword [rbx + 0x1990]
xorps xmm13, xmm13
cmp rdi, rcx
jne 0x180059514
xorps xmm14, xmm14
jmp 0x180059563
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdi
movss xmm0, dword [0x18012eaa4]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x18012ea98]
lea rdx, [rbp + 0x77]
mov rcx, qword [rbx + 0x1988]
call fcn.180054ad0
movss xmm0, dword [rbp + 0x77]
addss xmm0, dword [0x18012e980]
cvttss2si eax, xmm0
movd xmm14, eax
cvtdq2ps xmm14, xmm14
movss xmm2, dword [rbp + 0x7b]
movss xmm6, dword [rbx + 0x15b0]
addss xmm6, xmm6
addss xmm6, dword [rbx + 0x1990]
call fcn.1800472d0
movss xmm4, dword [r15 + 0xd8]
movss xmm8, dword [r15 + 0xdc]
movss xmm5, dword [r14 + 0x15b0]
movaps xmm1, xmm5
addss xmm1, xmm5
addss xmm1, xmm2
movaps xmm3, xmm8
addss xmm3, xmm1
movaps xmm2, xmm4
addss xmm2, xmm0
movss dword [rbp - 0x79], xmm4
movss dword [rbp - 0x75], xmm8
movss dword [rbp - 0x71], xmm2
movss dword [rbp - 0x6d], xmm3
subss xmm3, xmm8
subss xmm2, xmm4
movss dword [rbp + 0x77], xmm2
movss dword [rbp + 0x7b], xmm3
movaps xmm1, xmm5
lea rcx, [rbp + 0x77]
call fcn.180046e30
xor r9d, r9d
xor r8d, r8d
mov edx, esi
lea rcx, [rbp - 0x79]
call fcn.180046f80
test al, al
je 0x180059f0d
xor edi, edi
mov dword [rsp + 0x20], edi
lea r9, [rbp + 0x7f]
lea r8, [rbp + 0x77]
mov edx, esi
lea rcx, [rbp - 0x79]
call fcn.180056df0
mov byte [rsp + 0x40], al
test al, al
je 0x180059641
cmp byte [r12], dil
sete cl
mov byte [r12], cl
mov rcx, qword [0x180206788]
mov word [rcx + 0x1c7c], 0x101
or dword [rcx + 0x1ce0], 4
movaps xmm10, xmm8
addss xmm10, xmm6
movss xmm12, dword [rbp - 0x79]
movaps xmm9, xmm12
addss xmm9, xmm6
mov r8d, 1
mov edx, esi
lea rcx, [rbp - 0x79]
call fcn.18003c790
movss xmm7, dword [r14 + 0x15b4]
movzx eax, byte [rbp + 0x77]
cmp byte [rbp + 0x7f], dil
je 0x180059688
test al, al
je 0x180059688
mov ecx, 9
jmp 0x180059692
mov ecx, edi
test al, al
setne cl
add ecx, 7
movss xmm11, dword [0x18012e988]
movaps xmm1, xmm11
call fcn.18003b3c0
movss dword [rsp + 0x20], xmm7
mov r8d, eax
movaps xmm0, xmm9
unpcklps xmm0, xmm10
movq rdx, xmm0
movaps xmm1, xmm12
unpcklps xmm1, xmm8
movq rcx, xmm1
call fcn.18003c630
mov ecx, dword [0x180206288]
mov rax, qword gs:[0x58]
mov r13d, 4
mov rbx, qword [rax + rcx*8]
mov eax, dword [rbx + r13]
cmp dword [0x180208120], eax
jle 0x18005979e
lea rcx, [0x180208120]
call fcn.1800e45f8
cmp dword [0x180208120], 0xffffffff
jne 0x18005979e
mov dword [0x180208090], 0
mov qword [0x180208098], rdi
mov qword [0x1802080a0], rdi
mov ecx, 0x18
call fcn.1800e4670
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x180208098], rax
mov qword [0x1802080a8], rdi
xorps xmm0, xmm0
movdqa xmmword [0x1802080b0], xmm0
mov qword [0x1802080c0], 7
mov qword [0x1802080c8], 8
mov dword [0x180208090], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1802080a8]
call fcn.18000c690
nop
lea rcx, [0x1800e8b70]
call fcn.1800e4ad4
nop
lea rcx, [0x180208120]
call fcn.1800e458c
mov eax, dword [rbx + r13]
cmp dword [0x180208124], eax
jle 0x180059857
lea rcx, [0x180208124]
call fcn.1800e45f8
cmp dword [0x180208124], 0xffffffff
jne 0x180059857
mov dword [0x1802081c0], 0
mov qword [0x1802081c8], rdi
mov qword [0x1802081d0], rdi
mov ecx, 0x18
call fcn.1800e4670
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1802081c8], rax
mov qword [0x1802081d8], rdi
xorps xmm0, xmm0
movdqa xmmword [0x1802081e0], xmm0
mov qword [0x1802081f0], 7
mov qword [0x1802081f8], 8
mov dword [0x1802081c0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1802081d8]
call fcn.18000c690
nop
lea rcx, [0x1800e8b60]
call fcn.1800e4ad4
nop
lea rcx, [0x180208124]
call fcn.1800e458c
mov eax, dword [rbx + r13]
cmp dword [0x1802081b0], eax
jle 0x180059910
lea rcx, [0x1802081b0]
call fcn.1800e45f8
cmp dword [0x1802081b0], 0xffffffff
jne 0x180059910
mov dword [0x180208050], 0
mov qword [0x180208058], rdi
mov qword [0x180208060], rdi
mov ecx, 0x18
call fcn.1800e4670
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x180208058], rax
mov qword [0x180208068], rdi
xorps xmm0, xmm0
movdqa xmmword [0x180208070], xmm0
mov qword [0x180208080], 7
mov qword [0x180208088], 8
mov dword [0x180208050], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x180208068]
call fcn.18000c690
nop
lea rcx, [0x1800e8b50]
call fcn.1800e4ad4
nop
lea rcx, [0x1802081b0]
call fcn.1800e458c
movzx ecx, sil
movabs rbx, 0xcbf29ce484222325
xor rcx, rbx
movabs r11, 0x100000001b3
imul rcx, r11
movzx r13d, byte [rsp + 0x45]
xor rcx, r13
imul rcx, r11
movzx r8d, byte [rsp + 0x46]
xor rcx, r8
imul rcx, r11
movzx r10d, byte [rsp + 0x47]
xor rcx, r10
imul rcx, r11
and rcx, qword [0x1802080c0]
add rcx, rcx
mov rdx, qword [0x1802080a8]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [0x180208098]
cmp rax, r9
je 0x180059991
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x180059994
cmp rax, rdx
je 0x180059991
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x180059981
jmp 0x180059994
mov rax, rdi
mov rdi, r9
test rax, rax
cmovne rdi, rax
movzx ecx, sil
xor rcx, rbx
imul rcx, r11
xor rcx, r13
imul rcx, r11
xor rcx, r8
imul rcx, r11
xor rcx, r10
imul rcx, r11
and rcx, qword [0x1802081f0]
add rcx, rcx
mov rdx, qword [0x1802081d8]
mov rax, qword [rdx + rcx*8 + 8]
mov r8, qword [0x1802081c8]
cmp rax, r8
je 0x180059a00
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x180059a02
nop dword [rax]
cmp rax, rdx
je 0x180059a00
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x1800599f0
jmp 0x180059a02
xor eax, eax
mov rbx, r8
test rax, rax
cmovne rbx, rax
cmp rdi, r9
jne 0x180059ad0
cmp byte [r12], 0
je 0x180059a22
movaps xmm0, xmm11
jmp 0x180059a26
movaps xmm0, xmm13
mov dword [rbp + 0x77], esi
movss dword [rbp + 0x7b], xmm0
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x79]
lea rcx, [0x180208090]
call fcn.1800616b0
movzx ecx, sil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, r13
imul rcx, rdx
movzx eax, byte [rsp + 0x46]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x47]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x1802080c0]
add rcx, rcx
mov rdx, qword [0x1802080a8]
mov rax, qword [rdx + rcx*8 + 8]
mov rdi, qword [0x180208098]
cmp rax, rdi
je 0x180059ac0
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x180059ac2
nop dword [rax + rax]
cmp rax, rdx
je 0x180059ac0
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x180059ab0
jmp 0x180059ac2
xor eax, eax
test rax, rax
cmovne rdi, rax
mov r8, qword [0x1802081c8]
cmp rbx, r8
jne 0x180059b79
mov dword [rbp + 0x77], esi
mov dword [rbp + 0x7b], 0
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x79]
lea rcx, [0x1802081c0]
call fcn.1800616b0
movzx ecx, sil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, r13
imul rcx, rdx
movzx eax, byte [rsp + 0x46]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x47]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x1802081f0]
add rcx, rcx
mov rdx, qword [0x1802081d8]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x1802081c8]
cmp rax, rbx
je 0x180059b70
mov rdx, qword [rdx + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x180059b72
cmp rax, rdx
je 0x180059b70
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x180059b60
jmp 0x180059b72
xor eax, eax
test rax, rax
cmovne rbx, rax
movss xmm0, dword [r14 + 0x18]
cmp byte [r12], 0
jne 0x180059b8d
xorps xmm0, xmmword [0x180130310]
mulss xmm0, dword [0x18012ea0c]
addss xmm0, dword [rdi + 0x14]
comiss xmm13, xmm0
jbe 0x180059ba6
movaps xmm5, xmm13
jmp 0x180059bae
movaps xmm5, xmm11
minss xmm5, xmm0
movss dword [rdi + 0x14], xmm5
movups xmm4, xmmword [r14 + 0x1788]
movups xmm3, xmmword [r14 + 0x1798]
movss xmm2, dword [rbx + 0x14]
movaps xmm0, xmm3
subss xmm0, xmm4
mulss xmm0, xmm2
addss xmm0, xmm4
movss dword [rbp - 0x79], xmm0
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x55
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
subss xmm1, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
movss dword [rbp - 0x75], xmm1
shufps xmm3, xmm3, 0xaa
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
subss xmm3, xmm0
mulss xmm3, xmm2
addss xmm3, xmm0
movss dword [rbp - 0x71], xmm3
shufps xmm4, xmm4, 0xff
mulss xmm5, xmm4
movss dword [rbp - 0x6d], xmm5
lea rcx, [rbp - 0x79]
call fcn.18003b4b0
mov r8d, eax
mov ebx, dword [r14 + 0x1cdc]
shr ebx, 6
and bl, 1
je 0x180059cbd
divss xmm6, dword [0x18012e9f0]
cvttss2si ecx, xmm6
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm11
maxss xmm2, xmm0
movaps xmm1, xmm9
subss xmm1, xmm2
movss dword [rbp + 0x77], xmm1
subss xmm10, xmm2
movss dword [rbp + 0x7b], xmm10
movaps xmm0, xmm2
addss xmm0, xmm12
movss dword [rbp + 0x7f], xmm0
movaps xmm1, xmm8
addss xmm1, xmm2
movss dword [rbp + 0x83], xmm1
xor edi, edi
mov dword [rsp + 0x28], edi
movss xmm0, dword [r14 + 0x15b4]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x77]
lea rdx, [rbp + 0x7f]
mov rcx, qword [r15 + 0x270]
call fcn.180051f20
jmp 0x180059d0c
movaps xmm0, xmm6
divss xmm0, dword [0x18012ea08]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm4, xmm11
maxss xmm4, xmm0
movaps xmm2, xmm4
addss xmm2, xmm12
movaps xmm1, xmm8
addss xmm1, xmm4
addss xmm4, xmm4
subss xmm6, xmm4
movaps xmm3, xmm6
unpcklps xmm2, xmm1
movq rdx, xmm2
mov rcx, qword [r15 + 0x270]
call fcn.1800555e0
xor edi, edi
addss xmm9, dword [r14 + 0x15c4]
movss dword [rsp + 0x48], xmm9
addss xmm8, dword [r14 + 0x15b0]
movss dword [rbp - 0x7d], xmm8
cmp byte [r14 + 0x312c], 0
je 0x180059eec
test bl, bl
je 0x180059d46
lea rsi, [0x180129d44]
jmp 0x180059d5d
lea rax, [0x180129d4c]
lea rsi, [0x180129d48]
cmp byte [r12], 0
cmovne rsi, rax
mov r14, qword [0x180206788]
mov r13, qword [r14 + 0x1c20]
mov rbx, qword [r14 + 0x3150]
mov r12, qword [r14 + 0x3158]
mov qword [r14 + 0x3158], rdi
mov qword [r14 + 0x3150], rdi
mov rdi, rsi
cmp rsi, 0xffffffffffffffff
jae 0x180059dad
movzx ecx, byte [rdi]
test cl, cl
je 0x180059dad
lea rax, [rdi + 1]
cmp cl, 0x23
jne 0x180059da4
cmp byte [rax], cl
je 0x180059dad
mov rdi, rax
cmp rax, 0xffffffffffffffff
jb 0x180059d90
movss xmm0, dword [r14 + 0x15b0]
addss xmm0, dword [r14 + 0x3160]
addss xmm0, xmm11
movss xmm1, dword [rbp - 0x7d]
movss dword [r14 + 0x3160], xmm1
comiss xmm1, xmm0
jbe 0x180059deb
lea rcx, [0x180129b58]
call fcn.18004c0c0
mov byte [r14 + 0x3164], 1
mov r15, 0xffffffffffffffff
test rbx, rbx
je 0x180059e1a
mov r8, r15
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x180059e00
add r8, rbx
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.18004c100
mov eax, dword [r13 + 0x160]
mov ecx, dword [r14 + 0x3168]
cmp ecx, eax
jle 0x180059e35
mov dword [r14 + 0x3168], eax
mov ecx, eax
mov r13d, dword [r13 + 0x160]
sub r13d, ecx
nop
mov r8, rdi
sub r8, rsi
mov edx, 0xa
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rdi
test rax, rax
cmovne rbx, rax
cmp rsi, rbx
jne 0x180059e67
cmp rbx, rdi
je 0x180059ecb
mov r9d, ebx
sub r9d, esi
cmp byte [r14 + 0x3164], 0
lea edx, [r13*4]
jne 0x180059e84
mov edx, 1
mov qword [rsp + 0x20], rsi
lea r8, [0x180123011]
lea rcx, str._s_.s
call fcn.18004c0c0
mov byte [r14 + 0x3164], 0
cmp byte [rbx], 0xa
jne 0x180059ebd
lea rcx, [0x180129b58]
call fcn.18004c0c0
mov byte [r14 + 0x3164], 1
cmp rbx, rdi
je 0x180059ecb
lea rsi, [rbx + 1]
jmp 0x180059e40
test r12, r12
je 0x180059eec
lea r15, [r15 + 1]
cmp byte [r12 + r15], 0
jne 0x180059ed0
lea r8, [r12 + r15]
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.18004c100
comiss xmm14, xmm13
jbe 0x180059f06
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rbp + 0x67]
mov rcx, qword [rsp + 0x48]
call fcn.18003b990
movzx eax, byte [rsp + 0x40]
jmp 0x180059f0f
xor al, al
lea r11, [rsp + 0xf0]
mov rbx, 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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [rsp + 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret