Function at 0x18002e4b0
Capabilities:
Hash data using fnv

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x3f8]
sub rsp, 0x4f0
cmp byte [0x1800ec14c], 0
jne 0x18002ffbb
cmp byte [0x1800c4568], 0
je 0x18002ffbb
mov qword [r11 + 8], rbx
lea rax, [0x1800c4568]
mov rbx, qword [0x1800ebd10]
mov qword [r11 - 0x18], rdi
mov rdi, qword [0x1800ebd08]
mov qword [rsp + 0x30], rax
cmp rbx, rdi
je 0x18002ffab
mov qword [r11 - 0x10], rsi
movabs rdx, 0x7ffffffdfffe
mov qword [r11 - 0x20], r12
movabs rsi, 0x9edbc0b523a18697
mov qword [r11 - 0x28], r13
movabs r12, 0xd6fbacda51d5e7c7
mov qword [r11 - 0x30], r14
xor r13d, r13d
mov qword [r11 - 0x38], r15
movabs r15, 0x7fc523b739a1fe0
movaps xmmword [r11 - 0x48], xmm6
movaps xmmword [r11 - 0x58], xmm7
movss xmm7, dword [0x1800c70e0]
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movss xmm9, dword [0x1800c70a0]
movaps xmmword [r11 - 0x88], xmm10
movss xmm10, dword [0x1800c7008]
movaps xmmword [r11 - 0x98], xmm11
xorps xmm11, xmm11
movaps xmmword [r11 - 0xa8], xmm12
movss xmm12, dword [0x1800c707c]
movaps xmmword [r11 - 0xb8], xmm13
movss xmm13, dword [0x1800c6dd8]
movaps xmmword [r11 - 0xc8], xmm14
movss xmm14, dword [0x1800c7104]
movaps xmmword [r11 - 0xd8], xmm15
movss xmm15, dword [0x1800c70bc]
nop dword [rax]
movups xmm1, xmmword [rbx - 0x20]
mov rcx, qword [0x1800e9b28]
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 0x18002e606
add rcx, qword [0x1800e9b30]
cmp r14, rcx
jb 0x18002e616
lea rax, [r14 - 0x10000]
cmp rax, rdx
ja 0x18002ff10
mov rcx, r14
call fcn.18001b3f0
movsx rcx, byte [rax]
test cl, cl
je 0x18002f08b
mov rdx, rcx
movabs rcx, 0xcbf29ce484222325
xor rdx, rcx
movabs rcx, 0x100000001b3
imul rdx, rcx
lea rcx, [rax + 1]
call fcn.18000aaf0
movabs rcx, 0xd0ea5d71c7107112
cmp rax, rcx
jne 0x18002f08b
movd xmm1, dword [0x1800c4578]
lea r9, [0x1800c4648]
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, 0x7fc523b73f37385
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.180027c90
cmp byte [0x1800c4658], 0
je 0x18002ff2b
movss xmm0, dword [rsp + 0x4c]
ucomiss xmm0, xmm11
jp 0x18002e73a
jne 0x18002e73a
movss xmm0, dword [rsp + 0x50]
ucomiss xmm0, xmm11
jp 0x18002e73a
jne 0x18002e73a
movss xmm0, dword [rsp + 0x54]
ucomiss xmm0, xmm11
jp 0x18002e73a
je 0x18002ff2b
movd xmm1, dword [0x1800c4578]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x18002ff2b
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x38]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1800e9b50]
movsd qword [rbp + 0x1c0], xmm0
mov qword [rsp + 0x38], 0
mov dword [rbp + 0x1c8], eax
call fcn.180017ac0
test al, al
je 0x18002ff06
movups xmm8, xmmword [0x1800c4648]
lea rdx, [rbp + 0x20]
xor r9d, r9d
movdqa xmm9, xmmword [0x1800c71f0]
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.180072080
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.18006b5f0
movabs rax, 0xd6fbacda51b883e2
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.180027940
movss xmm8, dword [rsp + 0x3c]
lea rdx, [rbp - 0x68]
addss xmm8, dword [0x1800c70e0]
movups xmm6, xmmword [0x1800c4648]
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.180072080
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.18006b5f0
mov rax, qword [0x1800c4d08]
cmp rax, 0x402402
jne 0x18002eb6d
mov qword [rbp + 0x408], r12
lea r8, [rbp + 0x90]
mov rax, qword [rbp + 0x408]
movabs rcx, 0x24004e9407502839
mov qword [rbp + 0x90], rax
movabs rdx, 0xe69612d51d57d38a
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, 0xa294dca93ab482b0
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, 0x7fc523b739a1f93
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, 0xb3b3c0b523a18697
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, 0x7599264b1cf9768c
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.18000f590
mov qword [0x1800c4d08], rax
mov r14, qword [rsp + 0x40]
mov r15, qword [rax + r14]
test r15, r15
je 0x18002ff2b
mov r12d, dword [r15 + 0x18]
cmp r12d, 1
jl 0x18002ff2b
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 0x18002ebe6
mov rcx, rsi
test rax, rax
jne 0x18002ebd2
call fcn.1800310b0
mov rcx, rsi
movaps xmm6, xmm0
call fcn.180031280
mov eax, 1
movaps xmm8, xmm0
cmp r12d, eax
jg 0x18002eba0
jmp 0x18002ebe6
call fcn.1800310b0
mov rcx, rsi
movaps xmm7, xmm0
call fcn.180031280
movaps xmm9, xmm0
comiss xmm13, xmm6
jb 0x18002ebfb
ucomiss xmm7, dword [0x1800c70e8]
jp 0x18002ebfb
je 0x18002ff2b
mov eax, dword [0x1800ec168]
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 0x18002ed29
or eax, 1
movss dword [rsp + 0x20], xmm12
mov dword [0x1800ec168], eax
lea rdx, [rbp + 0xb0]
movabs rax, 0x9edbc0b523a18697
lea rcx, [0x1800ec160]
mov qword [rbp + 0x418], rax
xor r9d, r9d
mov rax, qword [rbp + 0x418]
xor r8d, r8d
mov qword [rbp + 0xb0], rax
movabs rax, 0x7fc523b73f37385
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0xb8], rax
movabs rax, 0xd6fbacda51d5e7c7
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x220], rax
movabs rax, 0x7fc523b739a1fe0
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.180072080
mov r14, qword [rsp + 0x40]
movss xmm6, dword [rbp + 0x408]
movss xmm7, dword [rbp + 0x410]
movss xmm0, dword [0x1800ec160]
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 [0x1800ec164]
addss xmm10, xmm0
mulss xmm0, dword [0x1800c7008]
cmovbe rcx, rax
lea rax, [rbp - 0x70]
comiss xmm6, xmm13
addss xmm10, xmm0
movdqa xmm0, xmmword [0x1800c71f0]
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.180072dc0
mov rcx, qword [0x1800ebca0]
lea r8, [rbp - 0x60]
movaps xmm0, xmm9
mov dword [rsp + 0x28], 0
addss xmm0, dword [0x1800ec160]
movaps xmm1, xmm10
movss dword [rbp - 0x58], xmm9
subss xmm1, dword [0x1800c706c]
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 [0x1800c706c]
movss dword [rbp - 0x5c], xmm0
call fcn.180089760
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 [0x1800c70a0]
mulss xmm1, dword [0x1800c70a0]
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm1
call fcn.180072dc0
mulss xmm6, dword [0x1800ec160]
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 [0x1800c70b8]
movss dword [rbp - 0x50], xmm0
movaps xmm0, xmm10
subss xmm0, dword [0x1800c70b8]
movss dword [rbp - 0x4c], xmm1
mov rcx, qword [0x1800ebca0]
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.180089760
movdqa xmm0, xmmword [0x1800c71f0]
lea rcx, [rsp + 0x70]
movups xmmword [rsp + 0x70], xmm0
call fcn.180072dc0
mov rcx, qword [0x1800ebca0]
lea r8, [rbp - 0x40]
movaps xmm0, xmm9
mov dword [rsp + 0x28], esi
addss xmm0, dword [0x1800ec160]
movaps xmm1, xmm10
movss dword [rbp - 0x38], xmm9
addss xmm1, dword [0x1800c70c0]
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 [0x1800c70d4]
movss dword [rbp - 0x3c], xmm0
call fcn.180089760
movss xmm9, dword [0x1800c70a0]
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.180072dc0
mulss xmm8, dword [0x1800ec160]
lea r8, [rbp - 0x30]
mov rcx, qword [0x1800ebca0]
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 [0x1800c70d0]
addss xmm10, dword [0x1800c70c4]
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
movss dword [rbp - 0x24], xmm10
call fcn.180089760
movss xmm10, dword [0x1800c7008]
movabs r15, 0x7fc523b739a1fe0
movss xmm7, dword [0x1800c70e0]
movabs r12, 0xd6fbacda51d5e7c7
mov eax, dword [rsp + 0x48]
cmp eax, 0x84b70bde
ja 0x18002f840
je 0x18002f791
cmp eax, 0x1004b109
je 0x18002f6e2
cmp eax, 0x35d805af
je 0x18002f629
cmp eax, 0x4c7dddae
je 0x18002f57a
cmp eax, 0x56d5c50c
je 0x18002f186
cmp eax, 0x5a43a965
jne 0x18002ff06
movd xmm1, dword [0x1800c4578]
lea r9, [0x1800c4670]
movabs rax, 0xd690c3b53fbc8f84
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.180027c90
jmp 0x18002ff06
mov rcx, r14
call fcn.1800306a0
movaps xmm6, xmm0
mov rcx, r14
subss xmm6, xmm11
call fcn.180030920
subss xmm0, xmm11
divss xmm6, xmm0
comiss xmm6, xmm13
jbe 0x18002f1b3
movaps xmm6, xmm11
jmp 0x18002f1c9
comiss xmm11, xmm6
jbe 0x18002f1bf
movaps xmm6, xmm11
jmp 0x18002f1c9
mulss xmm6, xmm11
addss xmm6, xmm11
movd xmm1, dword [0x1800c4578]
lea r9, [0x1800c465c]
movabs rax, 0xf682c9b635b49585
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, 0x7fc523b73d94fa1
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.180027c90
cmp byte [0x1800c466c], 0
je 0x18002ff06
movss xmm0, dword [rsp + 0x58]
comiss xmm0, xmm0
ja 0x18002ff06
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x60]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [0x1800e9b50]
movsd qword [rbp + 0x1e0], xmm0
mov qword [rsp + 0x60], 0
mov dword [rbp + 0x1e8], eax
call fcn.180017ac0
test al, al
je 0x18002ff06
movss xmm0, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x64], xmm0
call fcn.1800306a0
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.180030920
mov eax, dword [0x1800ec168]
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 0x18002f3e4
or eax, 4
movss dword [rsp + 0x20], xmm12
mov dword [0x1800ec168], eax
lea rdx, [rbp + 0x100]
movabs rax, 0xf682c9b635b49585
lea rcx, [0x1800ec178]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x100], rax
movabs rax, 0x7fc523b73d94fa1
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.180072080
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800ec178]
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 [0x1800ec17c]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800c71f0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.180072dc0
mov rcx, qword [0x1800ebca0]
lea r8, [rbp - 0x20]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800ec178]
movaps xmm1, xmm8
movss dword [rbp - 0x18], xmm7
subss xmm1, dword [0x1800c706c]
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 [0x1800c706c]
movss dword [rbp - 0x1c], xmm0
call fcn.180089760
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.180072dc0
mulss xmm6, dword [0x1800ec178]
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 [0x1800c70b8]
subss xmm8, dword [0x1800c70b8]
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
movss dword [rbp - 4], xmm8
jmp 0x18002feeb
movd xmm1, dword [0x1800c4574]
lea r9, [0x1800c45bc]
movabs rax, 0xd6fbacda25b48885
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.180027c90
jmp 0x18002ff06
movd xmm1, dword [0x1800c4574]
lea r9, [0x1800c460c]
movabs rax, 0xb892debb3cb79294
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, 0x7fc525406de3f85
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.180027c90
jmp 0x18002ff06
movd xmm1, dword [0x1800c4574]
lea r9, [0x1800c45e4]
movabs rax, 0xd68fcdb533b29293
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.180027c90
jmp 0x18002ff06
movd xmm1, dword [0x1800c4574]
lea r9, [0x1800c45d0]
movabs rax, 0xd6fbacda139caf95
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.180027c90
jmp 0x18002ff06
cmp eax, 0x87cf2604
je 0x18002fb51
cmp eax, 0x90570c97
je 0x18002faa2
cmp eax, 0xb971b527
je 0x18002f9e9
cmp eax, 0xcfac1e35
je 0x18002f930
cmp eax, 0xd801b73c
jne 0x18002ff06
movd xmm1, dword [0x1800c4574]
lea r9, [0x1800c45f8]
movabs rax, 0xb892debb3cb79294
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, 0x7fc3d571cc93f85
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.180027c90
jmp 0x18002ff06
movd xmm1, dword [0x1800c4570]
lea r9, [0x1800c45a8]
movabs rax, 0xb3b38caa30a78494
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, 0x7fc523b739a768c
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.180027c90
jmp 0x18002ff06
movd xmm1, dword [0x1800c457c]
lea r9, [0x1800c4634]
movabs rax, 0xba97cd9871a78e86
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, 0x7fc523b73f4708f
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.180027c90
jmp 0x18002ff06
movd xmm1, dword [0x1800c457c]
lea r9, [0x1800c4620]
movabs rax, 0xd6fbacbf22a7888f
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.180027c90
jmp 0x18002ff06
movd xmm1, dword [0x1800c4570]
lea r9, [0x1800c4580]
movabs rax, 0xa28bc3b938bb8e8a
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, 0x7fc523b739a6d85
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.180027c90
cmp byte [0x1800c4590], 0
je 0x18002ff06
movd xmm1, dword [0x1800c4570]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x18002ff06
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x68]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1d0]
mov rcx, qword [0x1800e9b50]
movsd qword [rbp + 0x1d0], xmm0
mov qword [rsp + 0x68], 0
mov dword [rbp + 0x1d8], eax
call fcn.180017ac0
test al, al
je 0x18002ff06
movss xmm0, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x6c], xmm0
call fcn.1800306a0
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.180030920
mov eax, dword [0x1800ec168]
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 0x18002fd69
or eax, 2
movss dword [rsp + 0x20], xmm12
mov dword [0x1800ec168], eax
lea rdx, [rbp + 0x30]
movabs rax, 0xa28bc3b938bb8e8a
lea rcx, [0x1800ec170]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x30], rax
movabs rax, 0x7fc523b739a6d85
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.180072080
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800ec170]
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 [0x1800ec174]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800c71f0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.180072dc0
mov rcx, qword [0x1800ebca0]
lea r8, [rbp]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800ec170]
movaps xmm1, xmm8
movss dword [rbp + 8], xmm7
subss xmm1, dword [0x1800c706c]
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 [0x1800c706c]
movss dword [rbp + 4], xmm0
call fcn.180089760
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.180072dc0
mulss xmm6, dword [0x1800ec170]
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 [0x1800c70b8]
subss xmm8, dword [0x1800c70b8]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
movss dword [rbp + 0x1c], xmm8
mov rcx, qword [0x1800ebca0]
mov r9d, eax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm11
call fcn.180089760
movabs rdx, 0x7ffffffdfffe
movss xmm7, dword [0x1800c70e0]
movabs rsi, 0x9edbc0b523a18697
cmp rbx, rdi
jne 0x18002e5d0
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