Function at 0x18002d150
Capabilities:
Hash data using fnv

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x3f8]
sub rsp, 0x4f0
cmp byte [0x1800e1984], 0
jne 0x18002ec5b
cmp byte [0x1800bb90c], 0
je 0x18002ec5b
mov qword [r11 + 8], rbx
lea rax, [0x1800bb90c]
mov rbx, qword [0x1800e1560]
mov qword [r11 - 0x18], rdi
mov rdi, qword [0x1800e1558]
mov qword [rsp + 0x30], rax
cmp rbx, rdi
je 0x18002ec4b
mov qword [r11 - 0x10], rsi
movabs rdx, 0x7ffffffdfffe
mov qword [r11 - 0x20], r12
movabs rsi, 0x3567ebc940a7c787
mov qword [r11 - 0x28], r13
movabs r12, 0x7d4787a632d3a6d7
mov qword [r11 - 0x30], r14
xor r13d, r13d
mov qword [r11 - 0x38], r15
movabs r15, 0xa654d5b76b435db0
movaps xmmword [r11 - 0x48], xmm6
movaps xmmword [r11 - 0x58], xmm7
movss xmm7, dword [0x1800bdfb0]
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movss xmm9, dword [0x1800bdf70]
movaps xmmword [r11 - 0x88], xmm10
movss xmm10, dword [0x1800bdee4]
movaps xmmword [r11 - 0x98], xmm11
xorps xmm11, xmm11
movaps xmmword [r11 - 0xa8], xmm12
movss xmm12, dword [0x1800bdf54]
movaps xmmword [r11 - 0xb8], xmm13
movss xmm13, dword [0x1800bdeec]
movaps xmmword [r11 - 0xc8], xmm14
movss xmm14, dword [0x1800bdfd4]
movaps xmmword [r11 - 0xd8], xmm15
movss xmm15, dword [0x1800bdf8c]
nop dword [rax]
movups xmm1, xmmword [rbx - 0x20]
mov rcx, qword [0x1800df378]
lea rax, [rbx - 0x20]
movups xmm0, xmmword [rax + 0x10]
mov rbx, rax
movq r14, xmm1
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0x50], xmm0
cmp r14, rcx
jbe 0x18002d2a6
add rcx, qword [0x1800df380]
cmp r14, rcx
jb 0x18002d2b6
lea rax, [r14 - 0x10000]
cmp rax, rdx
ja 0x18002ebb0
mov rcx, r14
call fcn.18001a920
movsx rcx, byte [rax]
test cl, cl
je 0x18002dd2b
mov rdx, rcx
movabs rcx, 0xcbf29ce484222325
xor rdx, rcx
movabs rcx, 0x100000001b3
imul rdx, rcx
lea rcx, [rax + 1]
call fcn.18000ab20
movabs rcx, 0xd0ea5d71c7107112
cmp rax, rcx
jne 0x18002dd2b
movd xmm1, dword [0x1800bb91c]
lea r9, [0x1800bb9ec]
mov qword [rbp + 0x408], rsi
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x70]
mov qword [rbp + 0x70], rax
lea rcx, [rsp + 0x30]
cvtdq2ps xmm1, xmm1
movabs r14, 0xa654d5b76b2a31d5
mov qword [rbp + 0x408], r14
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x78], rax
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x300], rax
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
movdqa xmm0, xmmword [rbp + 0x70]
mov qword [rbp + 0x308], rax
xorps xmm0, xmmword [rbp + 0x300]
movdqa xmmword [rbp + 0x70], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
cmp byte [0x1800bb9fc], 0
je 0x18002ebcb
movss xmm0, dword [rsp + 0x4c]
ucomiss xmm0, xmm11
jp 0x18002d3da
jne 0x18002d3da
movss xmm0, dword [rsp + 0x50]
ucomiss xmm0, xmm11
jp 0x18002d3da
jne 0x18002d3da
movss xmm0, dword [rsp + 0x54]
ucomiss xmm0, xmm11
jp 0x18002d3da
je 0x18002ebcb
movd xmm1, dword [0x1800bb91c]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x18002ebcb
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x38]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1800df3a0]
movsd qword [rbp + 0x1c0], xmm0
mov qword [rsp + 0x38], 0
mov dword [rbp + 0x1c8], eax
call fcn.1800172d0
test al, al
je 0x18002eba6
movups xmm8, xmmword [0x1800bb9ec]
lea rdx, [rbp + 0x20]
xor r9d, r9d
movdqa xmm9, xmmword [0x1800be0c0]
lea rcx, [rbp + 0x1b0]
movups xmmword [rsp + 0x70], xmm9
mov qword [rbp + 0x408], rsi
xor r8d, r8d
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x408], r14
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
movdqa xmm0, xmmword [rbp + 0x20]
movss xmm6, dword [rsp + 0x38]
movss xmm7, dword [rsp + 0x3c]
mov qword [rbp + 0x1f8], rax
xorps xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rbp + 0x20], xmm0
movss dword [rsp + 0x20], xmm12
call fcn.180068e60
movss xmm0, dword [rbp + 0x1b0]
lea r9, [rbp + 0x20]
mulss xmm0, xmm10
lea r8, [rbp + 0x50]
lea rdx, [rsp + 0x70]
movdqa xmmword [rbp + 0x50], xmm9
movdqa xmmword [rsp + 0x70], xmm8
subss xmm6, xmm0
unpcklps xmm6, xmm7
movq rcx, xmm6
call fcn.180062260
movabs rax, 0x7d4787a632bec2f2
lea rdx, [rbp + 0x80]
mov qword [rbp + 0x408], rax
lea rcx, [rbp - 0x68]
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
movdqa xmm0, xmmword [rbp + 0x80]
cvttss2si r8d, dword [rsp + 0x58]
mov qword [rbp + 0x208], rax
xorps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rbp + 0x80], xmm0
call fcn.1800265e0
movss xmm8, dword [rsp + 0x3c]
lea rdx, [rbp - 0x68]
addss xmm8, dword [0x1800bdfb0]
movups xmm6, xmmword [0x1800bb9ec]
lea rcx, [rbp + 0x1b8]
xor r9d, r9d
movss xmm7, dword [rsp + 0x38]
xor r8d, r8d
movss dword [rsp + 0x20], xmm12
movss dword [rsp + 0x3c], xmm8
call fcn.180068e60
movss xmm0, dword [rbp + 0x1b8]
lea r9, [rbp - 0x68]
mulss xmm0, xmm10
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x50]
movdqa xmmword [rsp + 0x70], xmm9
movdqa xmmword [rbp + 0x50], xmm6
subss xmm7, xmm0
unpcklps xmm7, xmm8
movq rcx, xmm7
call fcn.180062260
mov rax, qword [0x1800bc028]
cmp rax, 0x402402
jne 0x18002d80d
mov qword [rbp + 0x408], r12
lea r8, [rbp + 0x90]
mov rax, qword [rbp + 0x408]
movabs rcx, 0x99ad14e00dc33ea9
mov qword [rbp + 0x90], rax
movabs rdx, 0xd7325251ec3110da
mov qword [rbp + 0x408], r15
mov r9b, 1
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x408], r15
mov qword [rbp + 0x290], rax
mov rax, qword [rbp + 0x408]
movdqa xmm0, xmmword [rbp + 0x90]
mov qword [rbp + 0x298], rax
movabs rax, 0x928f7d559b2c3a0
xorps xmm0, xmmword [rbp + 0x290]
movdqa xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0xa0], rax
movabs rax, 0xa654d5b76b435dc3
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x408], r15
mov qword [rbp + 0x210], rax
mov rax, qword [rbp + 0x408]
movdqa xmm0, xmmword [rbp + 0xa0]
mov qword [rbp + 0x218], rax
movabs rax, 0x180febc940a7c787
xorps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rsp + 0x70], rax
movabs rax, 0xd431a1c7042034dc
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x408], rcx
mov rax, qword [rbp + 0x408]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x408], rdx
mov rax, qword [rbp + 0x408]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x408], rcx
lea rcx, [rsp + 0x70]
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x408], rdx
lea rdx, [rbp + 0xa0]
mov rax, qword [rbp + 0x408]
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp + 0x50]
mov qword [rbp + 0x68], rax
movdqa xmm1, xmmword [rbp + 0x60]
xorps xmm1, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x20], 0
call fcn.18000f1a0
mov qword [0x1800bc028], rax
mov r14, qword [rsp + 0x40]
mov r15, qword [rax + r14]
test r15, r15
je 0x18002ebcb
mov r12d, dword [r15 + 0x18]
cmp r12d, 1
jl 0x18002ebcb
movaps xmm7, xmm11
movaps xmm6, xmm11
movaps xmm9, xmm11
movaps xmm8, xmm11
mov rax, r13
mov rsi, qword [r15 + rax*8 + 0x20]
test rsi, rsi
je 0x18002d886
mov rcx, rsi
test rax, rax
jne 0x18002d872
call fcn.18002fd50
mov rcx, rsi
movaps xmm6, xmm0
call fcn.18002ff20
mov eax, 1
movaps xmm8, xmm0
cmp r12d, eax
jg 0x18002d840
jmp 0x18002d886
call fcn.18002fd50
mov rcx, rsi
movaps xmm7, xmm0
call fcn.18002ff20
movaps xmm9, xmm0
comiss xmm13, xmm6
jb 0x18002d89b
ucomiss xmm7, dword [0x1800bdfb8]
jp 0x18002d89b
je 0x18002ebcb
mov eax, dword [0x1800e19a0]
mov esi, 0xff
divss xmm6, xmm8
mov r15d, 0xff
divss xmm7, xmm9
movaps xmm0, xmm6
movss dword [rbp + 0x408], xmm6
mulss xmm0, xmm14
movss dword [rbp + 0x410], xmm7
mulss xmm0, xmm15
cvttss2si r12d, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm14
sub esi, r12d
mulss xmm0, xmm15
cvttss2si r13d, xmm0
sub r15d, r13d
test al, 1
jne 0x18002d9c9
or eax, 1
movss dword [rsp + 0x20], xmm12
mov dword [0x1800e19a0], eax
lea rdx, [rbp + 0xb0]
movabs rax, 0x3567ebc940a7c787
lea rcx, [0x1800e1998]
mov qword [rbp + 0x418], rax
xor r9d, r9d
mov rax, qword [rbp + 0x418]
xor r8d, r8d
mov qword [rbp + 0xb0], rax
movabs rax, 0xa654d5b76b2a31d5
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0xb8], rax
movabs rax, 0x7d4787a632d3a6d7
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x220], rax
movabs rax, 0xa654d5b76b435db0
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
movdqa xmm0, xmmword [rbp + 0xb0]
mov qword [rbp + 0x228], rax
xorps xmm0, xmmword [rbp + 0x220]
movdqa xmmword [rbp + 0xb0], xmm0
call fcn.180068e60
mov r14, qword [rsp + 0x40]
movss xmm6, dword [rbp + 0x408]
movss xmm7, dword [rbp + 0x410]
movss xmm0, dword [0x1800e1998]
lea rax, [rbp + 0x408]
movss xmm9, dword [rsp + 0x38]
lea rcx, [rbp + 0x418]
mulss xmm0, xmm10
mov dword [rbp + 0x418], 0
movss xmm10, dword [rsp + 0x3c]
comiss xmm11, xmm6
mov dword [rbp - 0x70], 0x3f800000
subss xmm9, xmm0
movss xmm0, dword [0x1800e199c]
addss xmm10, xmm0
mulss xmm0, dword [0x1800bdee4]
cmovbe rcx, rax
lea rax, [rbp - 0x70]
comiss xmm6, xmm13
addss xmm10, xmm0
movdqa xmm0, xmmword [0x1800be0c0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rbp + 0x408]
comiss xmm11, xmm7
movss xmm6, dword [rax]
lea rax, [rbp + 0x410]
movss dword [rbp + 0x408], xmm6
cmovbe rcx, rax
mov dword [rbp + 0x418], 0x3f800000
comiss xmm7, xmm13
lea rax, [rbp + 0x418]
mov dword [rbp + 0x408], 0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm8, dword [rax]
movss dword [rbp + 0x410], xmm8
call fcn.180069ba0
mov rcx, qword [0x1800e14f0]
lea r8, [rbp - 0x60]
movaps xmm0, xmm9
mov dword [rsp + 0x28], 0
addss xmm0, dword [0x1800e1998]
movaps xmm1, xmm10
movss dword [rbp - 0x58], xmm9
subss xmm1, dword [0x1800bdc24]
mov r9d, eax
movss dword [rsp + 0x20], xmm11
lea rdx, [rbp - 0x58]
addss xmm0, xmm13
movss dword [rbp - 0x54], xmm1
movss dword [rbp - 0x60], xmm0
movaps xmm0, xmm10
addss xmm0, dword [0x1800bdc24]
movss dword [rbp - 0x5c], xmm0
call fcn.1800804c0
movd xmm0, esi
lea rcx, [rbp + 0xc0]
movd xmm1, r12d
cvtdq2ps xmm0, xmm0
mov dword [rbp + 0xc8], 0
mov dword [rbp + 0xcc], 0x3f800000
cvtdq2ps xmm1, xmm1
mulss xmm0, dword [0x1800bdf70]
mulss xmm1, dword [0x1800bdf70]
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm1
call fcn.180069ba0
mulss xmm6, dword [0x1800e1998]
movaps xmm1, xmm13
movaps xmm0, xmm11
movaps xmm7, xmm9
addss xmm7, xmm13
subss xmm6, xmm13
movss dword [rbp - 0x48], xmm7
maxss xmm1, xmm6
addss xmm1, xmm7
maxss xmm0, xmm1
movaps xmm1, xmm10
addss xmm1, dword [0x1800bdf88]
movss dword [rbp - 0x50], xmm0
movaps xmm0, xmm10
subss xmm0, dword [0x1800bdf88]
movss dword [rbp - 0x4c], xmm1
mov rcx, qword [0x1800e14f0]
lea r8, [rbp - 0x50]
xor esi, esi
movss dword [rbp - 0x44], xmm0
mov dword [rsp + 0x28], esi
lea rdx, [rbp - 0x48]
mov r9d, eax
movss dword [rsp + 0x20], xmm11
call fcn.1800804c0
movdqa xmm0, xmmword [0x1800be0c0]
lea rcx, [rsp + 0x70]
movups xmmword [rsp + 0x70], xmm0
call fcn.180069ba0
mov rcx, qword [0x1800e14f0]
lea r8, [rbp - 0x40]
movaps xmm0, xmm9
mov dword [rsp + 0x28], esi
addss xmm0, dword [0x1800e1998]
movaps xmm1, xmm10
movss dword [rbp - 0x38], xmm9
addss xmm1, dword [0x1800bdf90]
mov r9d, eax
movss dword [rsp + 0x20], xmm11
lea rdx, [rbp - 0x38]
addss xmm0, xmm13
movss dword [rbp - 0x34], xmm1
movss dword [rbp - 0x40], xmm0
movaps xmm0, xmm10
addss xmm0, dword [0x1800bdfa4]
movss dword [rbp - 0x3c], xmm0
call fcn.1800804c0
movss xmm9, dword [0x1800bdf70]
lea rcx, [rbp + 0xd0]
movd xmm0, r15d
movd xmm1, r13d
cvtdq2ps xmm0, xmm0
mov dword [rbp + 0xd8], esi
mov dword [rbp + 0xdc], 0x3f800000
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm9
mulss xmm1, xmm9
movss dword [rbp + 0xd0], xmm0
movss dword [rbp + 0xd4], xmm1
call fcn.180069ba0
mulss xmm8, dword [0x1800e1998]
lea r8, [rbp - 0x30]
mov rcx, qword [0x1800e14f0]
lea rdx, [rbp - 0x28]
movaps xmm1, xmm13
movss dword [rbp - 0x28], xmm7
movaps xmm0, xmm11
xor r13d, r13d
subss xmm8, xmm13
mov dword [rsp + 0x28], r13d
mov r9d, eax
movss dword [rsp + 0x20], xmm11
maxss xmm1, xmm8
addss xmm1, xmm7
maxss xmm0, xmm1
movaps xmm1, xmm10
addss xmm1, dword [0x1800bdfa0]
addss xmm10, dword [0x1800bdf94]
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
movss dword [rbp - 0x24], xmm10
call fcn.1800804c0
movss xmm10, dword [0x1800bdee4]
movabs r15, 0xa654d5b76b435db0
movss xmm7, dword [0x1800bdfb0]
movabs r12, 0x7d4787a632d3a6d7
mov eax, dword [rsp + 0x48]
cmp eax, 0x84b70bde
ja 0x18002e4e0
je 0x18002e431
cmp eax, 0x1004b109
je 0x18002e382
cmp eax, 0x35d805af
je 0x18002e2c9
cmp eax, 0x4c7dddae
je 0x18002e21a
cmp eax, 0x56d5c50c
je 0x18002de26
cmp eax, 0x5a43a965
jne 0x18002eba6
movd xmm1, dword [0x1800bb91c]
lea r9, [0x1800bba14]
movabs rax, 0x7d2ce8c95cbace94
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0xe0]
mov qword [rbp + 0xe0], rax
lea rcx, [rsp + 0x30]
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x230], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x238], rax
movdqa xmm0, xmmword [rbp + 0xe0]
xorps xmm0, xmmword [rbp + 0x230]
movdqa xmmword [rbp + 0xe0], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
mov rcx, r14
call fcn.18002f340
movaps xmm6, xmm0
mov rcx, r14
subss xmm6, xmm11
call fcn.18002f5c0
subss xmm0, xmm11
divss xmm6, xmm0
comiss xmm6, xmm13
jbe 0x18002de53
movaps xmm6, xmm11
jmp 0x18002de69
comiss xmm11, xmm6
jbe 0x18002de5f
movaps xmm6, xmm11
jmp 0x18002de69
mulss xmm6, xmm11
addss xmm6, xmm11
movd xmm1, dword [0x1800bb91c]
lea r9, [0x1800bba00]
movabs rax, 0x5d3ee2ca56b2d495
movss dword [rsp + 0x28], xmm6
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0xf0]
mov qword [rbp + 0xf0], rax
lea rcx, [rsp + 0x30]
movabs rax, 0xa654d5b76b000df1
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x240], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x248], rax
movdqa xmm0, xmmword [rbp + 0xf0]
xorps xmm0, xmmword [rbp + 0x240]
movdqa xmmword [rbp + 0xf0], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
cmp byte [0x1800bba10], 0
je 0x18002eba6
movss xmm0, dword [rsp + 0x58]
comiss xmm0, xmm0
ja 0x18002eba6
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x60]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [0x1800df3a0]
movsd qword [rbp + 0x1e0], xmm0
mov qword [rsp + 0x60], 0
mov dword [rbp + 0x1e8], eax
call fcn.1800172d0
test al, al
je 0x18002eba6
movss xmm0, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x64], xmm0
call fcn.18002f340
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.18002f5c0
mov eax, dword [0x1800e19a0]
mov esi, 0xff
divss xmm6, xmm0
movaps xmm1, xmm6
movss dword [rbp + 0x408], xmm6
mulss xmm1, xmm14
mulss xmm1, xmm15
cvttss2si r14d, xmm1
sub esi, r14d
test al, 4
jne 0x18002e084
or eax, 4
movss dword [rsp + 0x20], xmm12
mov dword [0x1800e19a0], eax
lea rdx, [rbp + 0x100]
movabs rax, 0x5d3ee2ca56b2d495
lea rcx, [0x1800e19b0]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x100], rax
movabs rax, 0xa654d5b76b000df1
mov qword [rbp + 0x410], rax
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x410], r12
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x250], rax
mov qword [rbp + 0x410], r15
mov rax, qword [rbp + 0x410]
movdqa xmm0, xmmword [rbp + 0x100]
mov qword [rbp + 0x258], rax
xorps xmm0, xmmword [rbp + 0x250]
movdqa xmmword [rbp + 0x100], xmm0
call fcn.180068e60
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800e19b0]
lea rax, [rbp + 0x408]
movss xmm7, dword [rsp + 0x60]
lea rcx, [rbp + 0x410]
movss xmm8, dword [rsp + 0x64]
mulss xmm0, xmm10
mov dword [rbp + 0x418], 0x3f800000
comiss xmm11, xmm6
mov dword [rbp + 0x410], 0
subss xmm7, xmm0
movss xmm0, dword [0x1800e19b4]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800be0c0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.180069ba0
mov rcx, qword [0x1800e14f0]
lea r8, [rbp - 0x20]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800e19b0]
movaps xmm1, xmm8
movss dword [rbp - 0x18], xmm7
subss xmm1, dword [0x1800bdc24]
mov r9d, eax
movss dword [rsp + 0x20], xmm11
lea rdx, [rbp - 0x18]
addss xmm0, xmm13
movss dword [rbp - 0x14], xmm1
movss dword [rbp - 0x20], xmm0
movaps xmm0, xmm8
addss xmm0, dword [0x1800bdc24]
movss dword [rbp - 0x1c], xmm0
call fcn.1800804c0
movd xmm0, esi
lea rcx, [rbp + 0x110]
movd xmm1, r14d
cvtdq2ps xmm0, xmm0
mov dword [rbp + 0x118], 0
mov dword [rbp + 0x11c], 0x3f800000
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm9
mulss xmm1, xmm9
movss dword [rbp + 0x110], xmm0
movss dword [rbp + 0x114], xmm1
call fcn.180069ba0
mulss xmm6, dword [0x1800e19b0]
addss xmm7, xmm13
lea r8, [rbp - 0x10]
movaps xmm1, xmm13
lea rdx, [rbp - 8]
movaps xmm0, xmm11
subss xmm6, xmm13
movss dword [rbp - 8], xmm7
maxss xmm1, xmm6
addss xmm1, xmm7
maxss xmm0, xmm1
movaps xmm1, xmm8
addss xmm1, dword [0x1800bdf88]
subss xmm8, dword [0x1800bdf88]
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
movss dword [rbp - 4], xmm8
jmp 0x18002eb8b
movd xmm1, dword [0x1800bb918]
lea r9, [0x1800bb960]
movabs rax, 0x7d4787a646b2c995
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x120]
mov qword [rbp + 0x120], rax
lea rcx, [rsp + 0x30]
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x260], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x268], rax
movdqa xmm0, xmmword [rbp + 0x120]
xorps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x120], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
movd xmm1, dword [0x1800bb918]
lea r9, [0x1800bb9b0]
movabs rax, 0x132ef5c75fb1d384
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x130]
mov qword [rbp + 0x130], rax
lea rcx, [rsp + 0x30]
movabs rax, 0xa654d5d81e077dd5
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x270], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x278], rax
movdqa xmm0, xmmword [rbp + 0x130]
xorps xmm0, xmmword [rbp + 0x270]
movdqa xmmword [rbp + 0x130], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
movd xmm1, dword [0x1800bb918]
lea r9, [0x1800bb988]
movabs rax, 0x7d33e6c950b4d383
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x140]
mov qword [rbp + 0x140], rax
lea rcx, [rsp + 0x30]
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x280], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x288], rax
movdqa xmm0, xmmword [rbp + 0x140]
xorps xmm0, xmmword [rbp + 0x280]
movdqa xmmword [rbp + 0x140], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
movd xmm1, dword [0x1800bb918]
lea r9, [0x1800bb974]
movabs rax, 0x7d4787a6709aee85
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x150]
mov qword [rbp + 0x150], rax
lea rcx, [rsp + 0x30]
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x310], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x318], rax
movdqa xmm0, xmmword [rbp + 0x150]
xorps xmm0, xmmword [rbp + 0x310]
movdqa xmmword [rbp + 0x150], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
cmp eax, 0x87cf2604
je 0x18002e7f1
cmp eax, 0x90570c97
je 0x18002e742
cmp eax, 0xb971b527
je 0x18002e689
cmp eax, 0xcfac1e35
je 0x18002e5d0
cmp eax, 0xd801b73c
jne 0x18002eba6
movd xmm1, dword [0x1800bb918]
lea r9, [0x1800bb99c]
movabs rax, 0x132ef5c75fb1d384
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x160]
mov qword [rbp + 0x160], rax
lea rcx, [rsp + 0x30]
movabs rax, 0xa654badb04107dd5
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2a0], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2a8], rax
movdqa xmm0, xmmword [rbp + 0x160]
xorps xmm0, xmmword [rbp + 0x2a0]
movdqa xmmword [rbp + 0x160], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
movd xmm1, dword [0x1800bb914]
lea r9, [0x1800bb94c]
movabs rax, 0x180fa7d653a1c584
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x170]
mov qword [rbp + 0x170], rax
lea rcx, [rsp + 0x30]
movabs rax, 0xa654d5b76b4334dc
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2b0], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2b8], rax
movdqa xmm0, xmmword [rbp + 0x170]
xorps xmm0, xmmword [rbp + 0x2b0]
movdqa xmmword [rbp + 0x170], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
movd xmm1, dword [0x1800bb920]
lea r9, [0x1800bb9d8]
movabs rax, 0x112be6e412a1cf96
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x180]
mov qword [rbp + 0x180], rax
lea rcx, [rsp + 0x30]
movabs rax, 0xa654d5b76b2d32df
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2c0], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2c8], rax
movdqa xmm0, xmmword [rbp + 0x180]
xorps xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp + 0x180], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
movd xmm1, dword [0x1800bb920]
lea r9, [0x1800bb9c4]
movabs rax, 0x7d4787c341a1c99f
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x190]
mov qword [rbp + 0x190], rax
lea rcx, [rsp + 0x30]
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2d0], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2d8], rax
movdqa xmm0, xmmword [rbp + 0x190]
xorps xmm0, xmmword [rbp + 0x2d0]
movdqa xmmword [rbp + 0x190], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
jmp 0x18002eba6
movd xmm1, dword [0x1800bb914]
lea r9, [0x1800bb924]
movabs rax, 0x937e8c55bbdcf9a
movss dword [rsp + 0x28], xmm12
mov qword [rbp + 0x408], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x1a0]
mov qword [rbp + 0x1a0], rax
lea rcx, [rsp + 0x30]
movabs rax, 0xa654d5b76b432fd5
mov qword [rbp + 0x408], rax
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x1a8], rax
mov qword [rbp + 0x408], r12
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2e0], rax
cvtdq2ps xmm1, xmm1
mov qword [rbp + 0x408], r15
mov rax, qword [rbp + 0x408]
mov qword [rbp + 0x2e8], rax
movdqa xmm0, xmmword [rbp + 0x1a0]
xorps xmm0, xmmword [rbp + 0x2e0]
movdqa xmmword [rbp + 0x1a0], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180026930
cmp byte [0x1800bb934], 0
je 0x18002eba6
movd xmm1, dword [0x1800bb914]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x18002eba6
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x68]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1d0]
mov rcx, qword [0x1800df3a0]
movsd qword [rbp + 0x1d0], xmm0
mov qword [rsp + 0x68], 0
mov dword [rbp + 0x1d8], eax
call fcn.1800172d0
test al, al
je 0x18002eba6
movss xmm0, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x6c], xmm0
call fcn.18002f340
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.18002f5c0
mov eax, dword [0x1800e19a0]
mov esi, 0xff
divss xmm6, xmm0
movaps xmm1, xmm6
movss dword [rbp + 0x408], xmm6
mulss xmm1, xmm14
mulss xmm1, xmm15
cvttss2si r14d, xmm1
sub esi, r14d
test al, 2
jne 0x18002ea09
or eax, 2
movss dword [rsp + 0x20], xmm12
mov dword [0x1800e19a0], eax
lea rdx, [rbp + 0x30]
movabs rax, 0x937e8c55bbdcf9a
lea rcx, [0x1800e19a8]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x30], rax
movabs rax, 0xa654d5b76b432fd5
mov qword [rbp + 0x410], rax
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x410], r12
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x410], r15
mov rax, qword [rbp + 0x410]
movdqa xmm0, xmmword [rbp + 0x30]
mov qword [rbp + 0x2f8], rax
xorps xmm0, xmmword [rbp + 0x2f0]
movdqa xmmword [rbp + 0x30], xmm0
call fcn.180068e60
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800e19a8]
lea rax, [rbp + 0x408]
movss xmm7, dword [rsp + 0x68]
lea rcx, [rbp + 0x410]
movss xmm8, dword [rsp + 0x6c]
mulss xmm0, xmm10
mov dword [rbp + 0x418], 0x3f800000
comiss xmm11, xmm6
mov dword [rbp + 0x410], 0
subss xmm7, xmm0
movss xmm0, dword [0x1800e19ac]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800be0c0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.180069ba0
mov rcx, qword [0x1800e14f0]
lea r8, [rbp]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800e19a8]
movaps xmm1, xmm8
movss dword [rbp + 8], xmm7
subss xmm1, dword [0x1800bdc24]
mov r9d, eax
movss dword [rsp + 0x20], xmm11
lea rdx, [rbp + 8]
addss xmm0, xmm13
movss dword [rbp + 0xc], xmm1
movss dword [rbp], xmm0
movaps xmm0, xmm8
addss xmm0, dword [0x1800bdc24]
movss dword [rbp + 4], xmm0
call fcn.1800804c0
movd xmm0, esi
lea rcx, [rbp + 0x40]
movd xmm1, r14d
cvtdq2ps xmm0, xmm0
mov dword [rbp + 0x48], 0
mov dword [rbp + 0x4c], 0x3f800000
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm9
mulss xmm1, xmm9
movss dword [rbp + 0x40], xmm0
movss dword [rbp + 0x44], xmm1
call fcn.180069ba0
mulss xmm6, dword [0x1800e19a8]
addss xmm7, xmm13
lea r8, [rbp + 0x10]
movaps xmm1, xmm13
lea rdx, [rbp + 0x18]
movaps xmm0, xmm11
subss xmm6, xmm13
movss dword [rbp + 0x18], xmm7
maxss xmm1, xmm6
addss xmm1, xmm7
maxss xmm0, xmm1
movaps xmm1, xmm8
addss xmm1, dword [0x1800bdf88]
subss xmm8, dword [0x1800bdf88]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
movss dword [rbp + 0x1c], xmm8
mov rcx, qword [0x1800e14f0]
mov r9d, eax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm11
call fcn.1800804c0
movabs rdx, 0x7ffffffdfffe
movss xmm7, dword [0x1800bdfb0]
movabs rsi, 0x3567ebc940a7c787
cmp rbx, rdi
jne 0x18002d270
movaps xmm14, xmmword [rsp + 0x430]
movaps xmm13, xmmword [rsp + 0x440]
movaps xmm12, xmmword [rsp + 0x450]
movaps xmm11, xmmword [rsp + 0x460]
movaps xmm10, xmmword [rsp + 0x470]
movaps xmm9, xmmword [rsp + 0x480]
movaps xmm8, xmmword [rsp + 0x490]
movaps xmm7, xmmword [rsp + 0x4a0]
movaps xmm6, xmmword [rsp + 0x4b0]
mov r15, qword [rsp + 0x4c0]
mov r14, qword [rsp + 0x4c8]
mov r13, qword [rsp + 0x4d0]
mov r12, qword [rsp + 0x4d8]
mov rsi, qword [rsp + 0x4e8]
movaps xmm15, xmmword [rsp + 0x420]
mov rbx, qword [rsp + 0x500]
mov rdi, qword [rsp + 0x4e0]
add rsp, 0x4f0
pop rbp
ret