Function at 0x180021960
Capabilities:
Hash data using fnv

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x3f8]
sub rsp, 0x4f0
cmp byte [0x1800a48cc], 0
je 0x18002349d
mov qword [r11 + 8], rbx
lea rax, [0x1800a48cc]
mov rbx, qword [0x1800c5e10]
mov qword [r11 - 0x18], rdi
mov rdi, qword [0x1800c5e08]
mov qword [rsp + 0x30], rax
cmp rbx, rdi
je 0x18002348d
mov qword [r11 - 0x10], rsi
movabs r10, 0x7ffffffdfffe
mov qword [r11 - 0x20], r12
movabs rsi, 0xb4f41a27655b4d9f
mov qword [r11 - 0x28], r13
movabs r12, 0xfcd47648172f2ccf
mov qword [r11 - 0x30], r14
xor r13d, r13d
mov qword [r11 - 0x38], r15
movabs rdx, 0x92bd04297a4d599c
movaps xmmword [r11 - 0x48], xmm6
movabs r15, 0x8adf742177ef49b4
movaps xmmword [r11 - 0x58], xmm7
movabs r8, 0x88a4192b7e414582
movss xmm7, dword [0x1800a6c48]
movabs r9, 0x8adf742177ef3bd1
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movss xmm9, dword [0x1800a6c10]
movaps xmmword [r11 - 0x88], xmm10
movss xmm10, dword [0x1800a6ba4]
movaps xmmword [r11 - 0x98], xmm11
xorps xmm11, xmm11
movaps xmmword [r11 - 0xa8], xmm12
movss xmm12, dword [0x1800a6c54]
movaps xmmword [r11 - 0xb8], xmm13
movss xmm13, dword [0x1800a6bac]
movaps xmmword [r11 - 0xc8], xmm14
movss xmm14, dword [0x1800a6c50]
movaps xmmword [r11 - 0xd8], xmm15
movabs r11, 0xcbf29ce484222325
movss xmm15, dword [0x1800a6c2c]
nop word [rax + rax]
movups xmm1, xmmword [rbx - 0x20]
mov rcx, qword [0x1800c3c38]
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 0x180021ad6
add rcx, qword [0x1800c3c40]
cmp r14, rcx
jb 0x180021ae6
lea rax, [r14 - 0x10000]
cmp rax, r10
ja 0x1800233c0
mov rax, qword [r14]
mov rcx, qword [rax + 0x10]
movsx rax, byte [rcx]
test al, al
je 0x18002256d
mov rdx, rax
movabs rax, 0x100000001b3
xor rdx, r11
imul rdx, rax
inc rcx
call fcn.180007790
movabs rcx, 0xd0ea5d71c7107112
cmp rax, rcx
jne 0x18002254f
movd xmm1, dword [0x1800a48dc]
lea r9, [0x1800a49ac]
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, 0x8adf7421778625d1
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.18001c9c0
cmp byte [0x1800a49bc], 0
je 0x18002340d
movss xmm0, dword [rsp + 0x4c]
ucomiss xmm0, xmm11
jp 0x180021bfe
jne 0x180021bfe
movss xmm0, dword [rsp + 0x50]
ucomiss xmm0, xmm11
jp 0x180021bfe
jne 0x180021bfe
movss xmm0, dword [rsp + 0x54]
ucomiss xmm0, xmm11
jp 0x180021bfe
je 0x18002340d
movd xmm1, dword [0x1800a48dc]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x18002340d
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x38]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1800c3c60]
movsd qword [rbp + 0x1c0], xmm0
mov qword [rsp + 0x38], 0
mov dword [rbp + 0x1c8], eax
call fcn.180011dc0
test al, al
je 0x1800233c0
movups xmm8, xmmword [0x1800a49ac]
lea rdx, [rbp + 0x20]
xor r9d, r9d
movdqa xmm9, xmmword [0x1800a6cf0]
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.180052e10
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.18004c230
movabs rax, 0xfcd47648174248ea
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.18001c670
movss xmm8, dword [rsp + 0x3c]
lea rdx, [rbp - 0x68]
addss xmm8, dword [0x1800a6c48]
movups xmm6, xmmword [0x1800a49ac]
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.180052e10
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.18004c230
mov rax, qword [0x1800a4ee0]
cmp rax, 0x402402
jne 0x180022031
mov qword [rbp + 0x408], r12
lea r8, [rbp + 0x90]
mov rax, qword [rbp + 0x408]
movabs rcx, 0xbecd2ebe34ab5f49
mov qword [rbp + 0x90], rax
movabs rdx, 0x614cab4f9e3a6b16
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, 0x88bb063b7c4e49b8
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, 0x8adf742177ef49c7
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, 0x999c1a27655b4d9f
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, 0xf8ba0051188c20d8
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.18000b290
mov qword [0x1800a4ee0], rax
mov r14, qword [rsp + 0x40]
mov r15, qword [rax + r14]
test r15, r15
je 0x18002340d
mov r12d, dword [r15 + 0x18]
cmp r12d, 1
jl 0x18002340d
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 0x1800220aa
mov rcx, rsi
test rax, rax
jne 0x180022096
call fcn.180024360
mov rcx, rsi
movaps xmm6, xmm0
call fcn.180024530
mov eax, 1
movaps xmm8, xmm0
cmp r12d, eax
jg 0x180022064
jmp 0x1800220aa
call fcn.180024360
mov rcx, rsi
movaps xmm7, xmm0
call fcn.180024530
movaps xmm9, xmm0
comiss xmm13, xmm6
jb 0x1800220bf
ucomiss xmm7, dword [0x1800a6c4c]
jp 0x1800220bf
je 0x18002340d
mov eax, dword [0x1800c6218]
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 0x1800221ed
or eax, 1
movss dword [rsp + 0x20], xmm12
mov dword [0x1800c6218], eax
lea rdx, [rbp + 0xb0]
movabs rax, 0xb4f41a27655b4d9f
lea rcx, [0x1800c6210]
mov qword [rbp + 0x418], rax
xor r9d, r9d
mov rax, qword [rbp + 0x418]
xor r8d, r8d
mov qword [rbp + 0xb0], rax
movabs rax, 0x8adf7421778625d1
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0xb8], rax
movabs rax, 0xfcd47648172f2ccf
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x220], rax
movabs rax, 0x8adf742177ef49b4
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.180052e10
mov r14, qword [rsp + 0x40]
movss xmm6, dword [rbp + 0x408]
movss xmm7, dword [rbp + 0x410]
movss xmm0, dword [0x1800c6210]
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 [0x1800c6214]
addss xmm10, xmm0
mulss xmm0, dword [0x1800a6ba4]
cmovbe rcx, rax
lea rax, [rbp - 0x70]
comiss xmm6, xmm13
addss xmm10, xmm0
movdqa xmm0, xmmword [0x1800a6cf0]
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.180053b50
mov rcx, qword [0x1800c5da0]
lea r8, [rbp - 0x60]
movaps xmm0, xmm9
mov dword [rsp + 0x28], 0
addss xmm0, dword [0x1800c6210]
movaps xmm1, xmm10
movss dword [rbp - 0x58], xmm9
subss xmm1, dword [0x1800a6c30]
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 [0x1800a6c30]
movss dword [rbp - 0x5c], xmm0
call fcn.18006a4e0
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 [0x1800a6c10]
mulss xmm1, dword [0x1800a6c10]
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm1
call fcn.180053b50
mulss xmm6, dword [0x1800c6210]
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 [0x1800a6c28]
movss dword [rbp - 0x50], xmm0
movaps xmm0, xmm10
subss xmm0, dword [0x1800a6c28]
movss dword [rbp - 0x4c], xmm1
mov rcx, qword [0x1800c5da0]
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.18006a4e0
movdqa xmm0, xmmword [0x1800a6cf0]
lea rcx, [rsp + 0x70]
movups xmmword [rsp + 0x70], xmm0
call fcn.180053b50
mov rcx, qword [0x1800c5da0]
lea r8, [rbp - 0x40]
movaps xmm0, xmm9
mov dword [rsp + 0x28], esi
addss xmm0, dword [0x1800c6210]
movaps xmm1, xmm10
movss dword [rbp - 0x38], xmm9
addss xmm1, dword [0x1800a6c34]
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 [0x1800a6c44]
movss dword [rbp - 0x3c], xmm0
call fcn.18006a4e0
movss xmm9, dword [0x1800a6c10]
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.180053b50
mulss xmm8, dword [0x1800c6210]
lea r8, [rbp - 0x30]
mov rcx, qword [0x1800c5da0]
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 [0x1800a6c40]
addss xmm10, dword [0x1800a6c38]
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
movss dword [rbp - 0x24], xmm10
call fcn.18006a4e0
movss xmm10, dword [0x1800a6ba4]
movabs r15, 0x8adf742177ef49b4
movss xmm7, dword [0x1800a6c48]
movabs r12, 0xfcd47648172f2ccf
movabs r9, 0x8adf742177ef3bd1
movabs r8, 0x88a4192b7e414582
movabs rdx, 0x92bd04297a4d599c
mov eax, dword [rsp + 0x48]
cmp eax, 0x84b70bde
ja 0x180022d18
je 0x180022c69
cmp eax, 0x1004b109
je 0x180022bba
cmp eax, 0x35d805af
je 0x180022b0b
cmp eax, 0x4c7dddae
je 0x180022a5c
cmp eax, 0x56d5c50c
je 0x180022668
cmp eax, 0x5a43a965
jne 0x1800233c0
movd xmm1, dword [0x1800a48dc]
lea r9, [0x1800a49d4]
movabs rax, 0xfcbf19277946448c
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.18001c9c0
jmp 0x1800233c0
mov rcx, r14
call fcn.180023b80
movaps xmm6, xmm0
mov rcx, r14
subss xmm6, xmm11
call fcn.180023e00
subss xmm0, xmm11
divss xmm6, xmm0
comiss xmm6, xmm13
jbe 0x180022695
movaps xmm6, xmm11
jmp 0x1800226ab
comiss xmm11, xmm6
jbe 0x1800226a1
movaps xmm6, xmm11
jmp 0x1800226ab
mulss xmm6, xmm11
addss xmm6, xmm11
movd xmm1, dword [0x1800a48dc]
lea r9, [0x1800a49c0]
movabs rax, 0xdcad1324734e5e8d
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, 0x8adf742177ac19f5
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.18001c9c0
cmp byte [0x1800a49d0], 0
je 0x1800233c0
movss xmm0, dword [rsp + 0x58]
comiss xmm0, xmm0
ja 0x1800233c0
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x60]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [0x1800c3c60]
movsd qword [rbp + 0x1e0], xmm0
mov qword [rsp + 0x60], 0
mov dword [rbp + 0x1e8], eax
call fcn.180011dc0
test al, al
je 0x1800233c0
movss xmm0, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x64], xmm0
call fcn.180023b80
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.180023e00
mov eax, dword [0x1800c6218]
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 0x1800228c6
or eax, 4
movss dword [rsp + 0x20], xmm12
mov dword [0x1800c6218], eax
lea rdx, [rbp + 0x100]
movabs rax, 0xdcad1324734e5e8d
lea rcx, [0x1800c6228]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x100], rax
movabs rax, 0x8adf742177ac19f5
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.180052e10
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800c6228]
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 [0x1800c622c]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800a6cf0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.180053b50
mov rcx, qword [0x1800c5da0]
lea r8, [rbp - 0x20]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800c6228]
movaps xmm1, xmm8
movss dword [rbp - 0x18], xmm7
subss xmm1, dword [0x1800a6c30]
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 [0x1800a6c30]
movss dword [rbp - 0x1c], xmm0
call fcn.18006a4e0
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.180053b50
mulss xmm6, dword [0x1800c6228]
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 [0x1800a6c28]
subss xmm8, dword [0x1800a6c28]
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
movss dword [rbp - 4], xmm8
jmp 0x1800233a5
movd xmm1, dword [0x1800a48d8]
lea r9, [0x1800a4920]
movabs rax, 0xfcd47648634e438d
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.18001c9c0
jmp 0x1800233c0
movd xmm1, dword [0x1800a48d8]
lea r9, [0x1800a4970]
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, 0x8adf744e02ab69d1
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.18001c9c0
jmp 0x1800233c0
movd xmm1, dword [0x1800a48d8]
lea r9, [0x1800a4948]
movabs rax, 0xfca017277548599b
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.18001c9c0
jmp 0x1800233c0
movd xmm1, dword [0x1800a48d8]
lea r9, [0x1800a4934]
movabs rax, 0xfcd476485566649d
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.18001c9c0
jmp 0x1800233c0
cmp eax, 0x87cf2604
je 0x18002301f
cmp eax, 0x90570c97
je 0x180022f70
cmp eax, 0xb971b527
je 0x180022eb7
cmp eax, 0xcfac1e35
je 0x180022dfe
cmp eax, 0xd801b73c
jne 0x1800233c0
movd xmm1, dword [0x1800a48d8]
lea r9, [0x1800a495c]
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, 0x8adf1b4d18bc69d1
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.18001c9c0
jmp 0x1800233c0
movd xmm1, dword [0x1800a48d4]
lea r9, [0x1800a490c]
movabs rax, 0x999c5638765d4f9c
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, 0x8adf742177ef20d8
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.18001c9c0
jmp 0x1800233c0
movd xmm1, dword [0x1800a48e0]
lea r9, [0x1800a4998]
movabs rax, 0x90b8170a375d458e
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, 0x8adf7421778126db
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.18001c9c0
jmp 0x1800233c0
movd xmm1, dword [0x1800a48e0]
lea r9, [0x1800a4984]
movabs rax, 0xfcd4762d645d4387
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.18001c9c0
jmp 0x1800233c0
movd xmm1, dword [0x1800a48d4]
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, [0x1800a48e4]
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.18001c9c0
cmp byte [0x1800a48f4], 0
je 0x1800233c0
movd xmm1, dword [0x1800a48d4]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x1800233c0
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x68]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1d0]
mov rcx, qword [0x1800c3c60]
movsd qword [rbp + 0x1d0], xmm0
mov qword [rsp + 0x68], 0
mov dword [rbp + 0x1d8], eax
call fcn.180011dc0
test al, al
je 0x1800233c0
movss xmm0, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x6c], xmm0
call fcn.180023b80
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.180023e00
mov eax, dword [0x1800c6218]
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 0x180023223
or eax, 2
movss dword [rsp + 0x20], xmm12
mov dword [0x1800c6218], eax
lea rdx, [rbp + 0x30]
movabs rax, 0x88a4192b7e414582
lea rcx, [0x1800c6220]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x30], rax
movabs rax, 0x8adf742177ef3bd1
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.180052e10
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800c6220]
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 [0x1800c6224]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800a6cf0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.180053b50
mov rcx, qword [0x1800c5da0]
lea r8, [rbp]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800c6220]
movaps xmm1, xmm8
movss dword [rbp + 8], xmm7
subss xmm1, dword [0x1800a6c30]
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 [0x1800a6c30]
movss dword [rbp + 4], xmm0
call fcn.18006a4e0
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.180053b50
mulss xmm6, dword [0x1800c6220]
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 [0x1800a6c28]
subss xmm8, dword [0x1800a6c28]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
movss dword [rbp + 0x1c], xmm8
mov rcx, qword [0x1800c5da0]
mov r9d, eax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm11
call fcn.18006a4e0
movss xmm7, dword [0x1800a6c48]
movabs rsi, 0xb4f41a27655b4d9f
movabs rdx, 0x92bd04297a4d599c
movabs r8, 0x88a4192b7e414582
movabs r9, 0x8adf742177ef3bd1
movabs r10, 0x7ffffffdfffe
movabs r11, 0xcbf29ce484222325
cmp rbx, rdi
jne 0x180021aa0
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