Function at 0x180021f30
Capabilities:
Hash data using fnv

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x3f8]
sub rsp, 0x4f0
cmp byte [0x1800a38cc], 0
je 0x180023a6d
mov qword [r11 + 8], rbx
lea rax, [0x1800a38cc]
mov rbx, qword [0x1800c4b30]
mov qword [r11 - 0x18], rdi
mov rdi, qword [0x1800c4b28]
mov qword [rsp + 0x30], rax
cmp rbx, rdi
je 0x180023a5d
mov qword [r11 - 0x10], rsi
movabs r10, 0x7ffffffdfffe
mov qword [r11 - 0x20], r12
movabs rsi, 0xeebd3d3311a3b42b
mov qword [r11 - 0x28], r13
movabs r12, 0xa69d515c63d7d57b
mov qword [r11 - 0x30], r14
xor r13d, r13d
mov qword [r11 - 0x38], r15
movabs rdx, 0xc8f4233d0eb5a028
movaps xmmword [r11 - 0x48], xmm6
movabs r15, 0x2db16f8d34533f74
movaps xmmword [r11 - 0x58], xmm7
movabs r8, 0xd2ed3e3f0ab9bc36
movss xmm7, dword [0x1800a5cc8]
movabs r9, 0x2db16f8d34534d11
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movss xmm9, dword [0x1800a5c90]
movaps xmmword [r11 - 0x88], xmm10
movss xmm10, dword [0x1800a5c24]
movaps xmmword [r11 - 0x98], xmm11
xorps xmm11, xmm11
movaps xmmword [r11 - 0xa8], xmm12
movss xmm12, dword [0x1800a5cd4]
movaps xmmword [r11 - 0xb8], xmm13
movss xmm13, dword [0x1800a5c2c]
movaps xmmword [r11 - 0xc8], xmm14
movss xmm14, dword [0x1800a5cd0]
movaps xmmword [r11 - 0xd8], xmm15
movabs r11, 0xcbf29ce484222325
movss xmm15, dword [0x1800a5cac]
nop word [rax + rax]
movups xmm1, xmmword [rbx - 0x20]
mov rcx, qword [0x1800c2958]
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 0x1800220a6
add rcx, qword [0x1800c2960]
cmp r14, rcx
jb 0x1800220b6
lea rax, [r14 - 0x10000]
cmp rax, r10
ja 0x180023990
mov rax, qword [r14]
mov rcx, qword [rax + 0x10]
movsx rax, byte [rcx]
test al, al
je 0x180022b3d
mov rdx, rax
movabs rax, 0x100000001b3
xor rdx, r11
imul rdx, rax
inc rcx
call fcn.180007740
movabs rcx, 0xd0ea5d71c7107112
cmp rax, rcx
jne 0x180022b1f
movd xmm1, dword [0x1800a38dc]
lea r9, [0x1800a39ac]
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, 0x2db16f8d343a5311
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.18001cf90
cmp byte [0x1800a39bc], 0
je 0x1800239dd
movss xmm0, dword [rsp + 0x4c]
ucomiss xmm0, xmm11
jp 0x1800221ce
jne 0x1800221ce
movss xmm0, dword [rsp + 0x50]
ucomiss xmm0, xmm11
jp 0x1800221ce
jne 0x1800221ce
movss xmm0, dword [rsp + 0x54]
ucomiss xmm0, xmm11
jp 0x1800221ce
je 0x1800239dd
movd xmm1, dword [0x1800a38dc]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x1800239dd
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x38]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1800c2980]
movsd qword [rbp + 0x1c0], xmm0
mov qword [rsp + 0x38], 0
mov dword [rbp + 0x1c8], eax
call fcn.180011d50
test al, al
je 0x180023990
movups xmm8, xmmword [0x1800a39ac]
lea rdx, [rbp + 0x20]
xor r9d, r9d
movdqa xmm9, xmmword [0x1800a5d70]
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.180051b00
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.18004ade0
movabs rax, 0xa69d515c63bab15e
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.18001cc40
movss xmm8, dword [rsp + 0x3c]
lea rdx, [rbp - 0x68]
addss xmm8, dword [0x1800a5cc8]
movups xmm6, xmmword [0x1800a39ac]
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.180051b00
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.18004ade0
mov rax, qword [0x1800a3ef0]
cmp rax, 0x402402
jne 0x180022601
mov qword [rbp + 0x408], r12
lea r8, [rbp + 0x90]
mov rax, qword [rbp + 0x408]
movabs rcx, 0xd348a5d690c4833d
mov qword [rbp + 0x90], rax
movabs rdx, 0x84d5c207a9360e96
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, 0xd2f2212f08b6b00c
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, 0x2db16f8d34533f07
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, 0xc3d53d3311a3b42b
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, 0x5fd41bfd5b305618
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.18000b240
mov qword [0x1800a3ef0], rax
mov r14, qword [rsp + 0x40]
mov r15, qword [rax + r14]
test r15, r15
je 0x1800239dd
mov r12d, dword [r15 + 0x18]
cmp r12d, 1
jl 0x1800239dd
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 0x18002267a
mov rcx, rsi
test rax, rax
jne 0x180022666
call fcn.180024930
mov rcx, rsi
movaps xmm6, xmm0
call fcn.180024b00
mov eax, 1
movaps xmm8, xmm0
cmp r12d, eax
jg 0x180022634
jmp 0x18002267a
call fcn.180024930
mov rcx, rsi
movaps xmm7, xmm0
call fcn.180024b00
movaps xmm9, xmm0
comiss xmm13, xmm6
jb 0x18002268f
ucomiss xmm7, dword [0x1800a5ccc]
jp 0x18002268f
je 0x1800239dd
mov eax, dword [0x1800c4f38]
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 0x1800227bd
or eax, 1
movss dword [rsp + 0x20], xmm12
mov dword [0x1800c4f38], eax
lea rdx, [rbp + 0xb0]
movabs rax, 0xeebd3d3311a3b42b
lea rcx, [0x1800c4f30]
mov qword [rbp + 0x418], rax
xor r9d, r9d
mov rax, qword [rbp + 0x418]
xor r8d, r8d
mov qword [rbp + 0xb0], rax
movabs rax, 0x2db16f8d343a5311
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0xb8], rax
movabs rax, 0xa69d515c63d7d57b
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x220], rax
movabs rax, 0x2db16f8d34533f74
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.180051b00
mov r14, qword [rsp + 0x40]
movss xmm6, dword [rbp + 0x408]
movss xmm7, dword [rbp + 0x410]
movss xmm0, dword [0x1800c4f30]
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 [0x1800c4f34]
addss xmm10, xmm0
mulss xmm0, dword [0x1800a5c24]
cmovbe rcx, rax
lea rax, [rbp - 0x70]
comiss xmm6, xmm13
addss xmm10, xmm0
movdqa xmm0, xmmword [0x1800a5d70]
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.180052840
mov rcx, qword [0x1800c4ac0]
lea r8, [rbp - 0x60]
movaps xmm0, xmm9
mov dword [rsp + 0x28], 0
addss xmm0, dword [0x1800c4f30]
movaps xmm1, xmm10
movss dword [rbp - 0x58], xmm9
subss xmm1, dword [0x1800a5cb0]
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 [0x1800a5cb0]
movss dword [rbp - 0x5c], xmm0
call fcn.1800691d0
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 [0x1800a5c90]
mulss xmm1, dword [0x1800a5c90]
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm1
call fcn.180052840
mulss xmm6, dword [0x1800c4f30]
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 [0x1800a5ca8]
movss dword [rbp - 0x50], xmm0
movaps xmm0, xmm10
subss xmm0, dword [0x1800a5ca8]
movss dword [rbp - 0x4c], xmm1
mov rcx, qword [0x1800c4ac0]
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.1800691d0
movdqa xmm0, xmmword [0x1800a5d70]
lea rcx, [rsp + 0x70]
movups xmmword [rsp + 0x70], xmm0
call fcn.180052840
mov rcx, qword [0x1800c4ac0]
lea r8, [rbp - 0x40]
movaps xmm0, xmm9
mov dword [rsp + 0x28], esi
addss xmm0, dword [0x1800c4f30]
movaps xmm1, xmm10
movss dword [rbp - 0x38], xmm9
addss xmm1, dword [0x1800a5cb4]
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 [0x1800a5cc4]
movss dword [rbp - 0x3c], xmm0
call fcn.1800691d0
movss xmm9, dword [0x1800a5c90]
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.180052840
mulss xmm8, dword [0x1800c4f30]
lea r8, [rbp - 0x30]
mov rcx, qword [0x1800c4ac0]
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 [0x1800a5cc0]
addss xmm10, dword [0x1800a5cb8]
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
movss dword [rbp - 0x24], xmm10
call fcn.1800691d0
movss xmm10, dword [0x1800a5c24]
movabs r15, 0x2db16f8d34533f74
movss xmm7, dword [0x1800a5cc8]
movabs r12, 0xa69d515c63d7d57b
movabs r9, 0x2db16f8d34534d11
movabs r8, 0xd2ed3e3f0ab9bc36
movabs rdx, 0xc8f4233d0eb5a028
mov eax, dword [rsp + 0x48]
cmp eax, 0x84b70bde
ja 0x1800232e8
je 0x180023239
cmp eax, 0x1004b109
je 0x18002318a
cmp eax, 0x35d805af
je 0x1800230db
cmp eax, 0x4c7dddae
je 0x18002302c
cmp eax, 0x56d5c50c
je 0x180022c38
cmp eax, 0x5a43a965
jne 0x180023990
movd xmm1, dword [0x1800a38dc]
lea r9, [0x1800a39d4]
movabs rax, 0xa6f63e330dbebd38
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.18001cf90
jmp 0x180023990
mov rcx, r14
call fcn.180024150
movaps xmm6, xmm0
mov rcx, r14
subss xmm6, xmm11
call fcn.1800243d0
subss xmm0, xmm11
divss xmm6, xmm0
comiss xmm6, xmm13
jbe 0x180022c65
movaps xmm6, xmm11
jmp 0x180022c7b
comiss xmm11, xmm6
jbe 0x180022c71
movaps xmm6, xmm11
jmp 0x180022c7b
mulss xmm6, xmm11
addss xmm6, xmm11
movd xmm1, dword [0x1800a38dc]
lea r9, [0x1800a39c0]
movabs rax, 0x86e4343007b6a739
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, 0x2db16f8d34106f35
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.18001cf90
cmp byte [0x1800a39d0], 0
je 0x180023990
movss xmm0, dword [rsp + 0x58]
comiss xmm0, xmm0
ja 0x180023990
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x60]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [0x1800c2980]
movsd qword [rbp + 0x1e0], xmm0
mov qword [rsp + 0x60], 0
mov dword [rbp + 0x1e8], eax
call fcn.180011d50
test al, al
je 0x180023990
movss xmm0, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x64], xmm0
call fcn.180024150
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.1800243d0
mov eax, dword [0x1800c4f38]
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 0x180022e96
or eax, 4
movss dword [rsp + 0x20], xmm12
mov dword [0x1800c4f38], eax
lea rdx, [rbp + 0x100]
movabs rax, 0x86e4343007b6a739
lea rcx, [0x1800c4f48]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x100], rax
movabs rax, 0x2db16f8d34106f35
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.180051b00
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800c4f48]
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 [0x1800c4f4c]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800a5d70]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.180052840
mov rcx, qword [0x1800c4ac0]
lea r8, [rbp - 0x20]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800c4f48]
movaps xmm1, xmm8
movss dword [rbp - 0x18], xmm7
subss xmm1, dword [0x1800a5cb0]
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 [0x1800a5cb0]
movss dword [rbp - 0x1c], xmm0
call fcn.1800691d0
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.180052840
mulss xmm6, dword [0x1800c4f48]
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 [0x1800a5ca8]
subss xmm8, dword [0x1800a5ca8]
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
movss dword [rbp - 4], xmm8
jmp 0x180023975
movd xmm1, dword [0x1800a38d8]
lea r9, [0x1800a3920]
movabs rax, 0xa69d515c17b6ba39
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.18001cf90
jmp 0x180023990
movd xmm1, dword [0x1800a38d8]
lea r9, [0x1800a3970]
mov qword [rbp + 0x408], rdx
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x130]
mov qword [rbp + 0x130], rax
lea rcx, [rsp + 0x30]
movabs rax, 0x2db16fe241171f11
movss dword [rsp + 0x28], xmm12
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.18001cf90
jmp 0x180023990
movd xmm1, dword [0x1800a38d8]
lea r9, [0x1800a3948]
movabs rax, 0xa6e9303301b0a02f
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.18001cf90
jmp 0x180023990
movd xmm1, dword [0x1800a38d8]
lea r9, [0x1800a3934]
movabs rax, 0xa69d515c219e9d29
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.18001cf90
jmp 0x180023990
cmp eax, 0x87cf2604
je 0x1800235ef
cmp eax, 0x90570c97
je 0x180023540
cmp eax, 0xb971b527
je 0x180023487
cmp eax, 0xcfac1e35
je 0x1800233ce
cmp eax, 0xd801b73c
jne 0x180023990
movd xmm1, dword [0x1800a38d8]
lea r9, [0x1800a395c]
mov qword [rbp + 0x408], rdx
lea r8, [rsp + 0x40]
mov rax, qword [rbp + 0x408]
lea rdx, [rbp + 0x160]
mov qword [rbp + 0x160], rax
lea rcx, [rsp + 0x30]
movabs rax, 0x2db100e15b001f11
movss dword [rsp + 0x28], xmm12
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.18001cf90
jmp 0x180023990
movd xmm1, dword [0x1800a38d4]
lea r9, [0x1800a390c]
movabs rax, 0xc3d5712c02a5b628
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, 0x2db16f8d34535618
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.18001cf90
jmp 0x180023990
movd xmm1, dword [0x1800a38e0]
lea r9, [0x1800a3998]
movabs rax, 0xcaf1301e43a5bc3a
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, 0x2db16f8d343d501b
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.18001cf90
jmp 0x180023990
movd xmm1, dword [0x1800a38e0]
lea r9, [0x1800a3984]
movabs rax, 0xa69d513910a5ba33
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.18001cf90
jmp 0x180023990
movd xmm1, dword [0x1800a38d4]
lea rdx, [rbp + 0x1a0]
mov qword [rbp + 0x408], r8
lea rcx, [rsp + 0x30]
mov rax, qword [rbp + 0x408]
lea r8, [rsp + 0x40]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x408], r9
lea r9, [0x1800a38e4]
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]
movss dword [rsp + 0x28], xmm12
movdqa xmmword [rbp + 0x1a0], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.18001cf90
cmp byte [0x1800a38f4], 0
je 0x180023990
movd xmm1, dword [0x1800a38d4]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x180023990
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x68]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1d0]
mov rcx, qword [0x1800c2980]
movsd qword [rbp + 0x1d0], xmm0
mov qword [rsp + 0x68], 0
mov dword [rbp + 0x1d8], eax
call fcn.180011d50
test al, al
je 0x180023990
movss xmm0, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x6c], xmm0
call fcn.180024150
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.1800243d0
mov eax, dword [0x1800c4f38]
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 0x1800237f3
or eax, 2
movss dword [rsp + 0x20], xmm12
mov dword [0x1800c4f38], eax
lea rdx, [rbp + 0x30]
movabs rax, 0xd2ed3e3f0ab9bc36
lea rcx, [0x1800c4f40]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x30], rax
movabs rax, 0x2db16f8d34534d11
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.180051b00
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800c4f40]
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 [0x1800c4f44]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800a5d70]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.180052840
mov rcx, qword [0x1800c4ac0]
lea r8, [rbp]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800c4f40]
movaps xmm1, xmm8
movss dword [rbp + 8], xmm7
subss xmm1, dword [0x1800a5cb0]
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 [0x1800a5cb0]
movss dword [rbp + 4], xmm0
call fcn.1800691d0
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.180052840
mulss xmm6, dword [0x1800c4f40]
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 [0x1800a5ca8]
subss xmm8, dword [0x1800a5ca8]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
movss dword [rbp + 0x1c], xmm8
mov rcx, qword [0x1800c4ac0]
mov r9d, eax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm11
call fcn.1800691d0
movss xmm7, dword [0x1800a5cc8]
movabs rsi, 0xeebd3d3311a3b42b
movabs rdx, 0xc8f4233d0eb5a028
movabs r8, 0xd2ed3e3f0ab9bc36
movabs r9, 0x2db16f8d34534d11
movabs r10, 0x7ffffffdfffe
movabs r11, 0xcbf29ce484222325
cmp rbx, rdi
jne 0x180022070
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