Function at 0x1800185c0
Capabilities:
Hash data using fnv

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x3f8]
sub rsp, 0x4f0
cmp byte [0x18009388c], 0
je 0x18001a0ee
mov qword [r11 + 8], rbx
lea rax, [0x18009388c]
mov rbx, qword [0x1800b1080]
mov qword [r11 - 0x18], rdi
mov rdi, qword [0x1800b1078]
mov qword [rsp + 0x30], rax
cmp rbx, rdi
je 0x18001a0de
mov qword [r11 - 0x10], rsi
movabs r8, 0x7ffffffdfffe
mov qword [r11 - 0x20], r12
movabs rsi, 0xc61413304e016755
mov qword [r11 - 0x28], r13
movabs r9, 0xcbf29ce484222325
mov qword [r11 - 0x30], r14
movabs r10, 0x100000001b3
mov qword [r11 - 0x38], r15
movabs r12, 0x8e347f5f3c750605
movaps xmmword [r11 - 0x48], xmm6
movabs r15, 0xf88126d6edf60f06
movaps xmmword [r11 - 0x58], xmm7
xor r13d, r13d
movss xmm7, dword [0x18009584c]
movabs rdx, 0xe05d0d3e51177356
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movss xmm9, dword [0x180095814]
movaps xmmword [r11 - 0x88], xmm10
movss xmm10, dword [0x1800957e4]
movaps xmmword [r11 - 0x98], xmm11
xorps xmm11, xmm11
movaps xmmword [r11 - 0xa8], xmm12
movss xmm12, dword [0x180095858]
movaps xmmword [r11 - 0xb8], xmm13
movss xmm13, dword [0x1800957ec]
movaps xmmword [r11 - 0xc8], xmm14
movss xmm14, dword [0x180095854]
movaps xmmword [r11 - 0xd8], xmm15
movabs r11, 0x8e5f1030521c6e46
movss xmm15, dword [0x180095830]
nop word [rax + rax]
movups xmm1, xmmword [rbx - 0x20]
mov rcx, qword [0x1800aef00]
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 0x180018736
add rcx, qword [0x1800aef08]
cmp r14, rcx
jb 0x180018746
lea rax, [r14 - 0x10000]
cmp rax, r8
ja 0x18001a011
mov rax, qword [r14]
mov rcx, qword [rax + 0x10]
movsx rax, byte [rcx]
test al, al
je 0x1800191bf
mov rdx, rax
xor rdx, r9
imul rdx, r10
inc rcx
call fcn.180007780
movabs rcx, 0xd0ea5d71c7107112
cmp rax, rcx
jne 0x1800191ab
movd xmm1, dword [0x18009389c]
lea r9, [0x18009396c]
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, 0xf88126d6ed9f6363
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.180013620
cmp byte [0x18009397c], 0
je 0x18001a05e
movss xmm0, dword [rsp + 0x4c]
ucomiss xmm0, xmm11
jp 0x180018854
jne 0x180018854
movss xmm0, dword [rsp + 0x50]
ucomiss xmm0, xmm11
jp 0x180018854
jne 0x180018854
movss xmm0, dword [rsp + 0x54]
ucomiss xmm0, xmm11
jp 0x180018854
je 0x18001a05e
movd xmm1, dword [0x18009389c]
movss xmm0, dword [rsp + 0x58]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x18001a05e
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x38]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1800aef20]
movsd qword [rbp + 0x1c0], xmm0
mov qword [rsp + 0x38], 0
mov dword [rbp + 0x1c8], eax
call fcn.18000e0a0
test al, al
je 0x18001a011
movups xmm8, xmmword [0x18009396c]
lea rdx, [rbp + 0x20]
xor r9d, r9d
movdqa xmm9, xmmword [0x1800958f0]
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.180041790
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.18003a7c0
movabs rax, 0x8e347f5f3c186220
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.1800132d0
movss xmm8, dword [rsp + 0x3c]
lea rdx, [rbp - 0x68]
addss xmm8, dword [0x18009584c]
movups xmm6, xmmword [0x18009396c]
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.180041790
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.18003a7c0
mov rax, qword [0x180093c98]
cmp rax, 0x402402
jne 0x180018c87
mov qword [rbp + 0x408], r12
lea r8, [rbp + 0x90]
mov rax, qword [rbp + 0x408]
movabs rcx, 0xec30478d8b06b307
mov qword [rbp + 0x90], rax
movabs rdx, 0x5c3ac114616a4f20
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, 0xfa5b0f2c57146372
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, 0xf88126d6edf60f75
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, 0xeb7c13304e016755
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, 0x8ae452a68295666a
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.18000a510
mov qword [0x180093c98], rax
mov r14, qword [rsp + 0x40]
mov r15, qword [rax + r14]
test r15, r15
je 0x18001a05e
mov r12d, dword [r15 + 0x18]
cmp r12d, 1
jl 0x18001a05e
movaps xmm7, xmm11
movaps xmm6, xmm11
movaps xmm9, xmm11
movaps xmm8, xmm11
mov rax, r13
nop word [rax + rax]
mov rsi, qword [r15 + rax*8 + 0x20]
test rsi, rsi
je 0x180018d06
mov rcx, rsi
test rax, rax
jne 0x180018cf2
call fcn.18001b270
mov rcx, rsi
movaps xmm6, xmm0
call fcn.18001b440
mov eax, 1
movaps xmm8, xmm0
cmp r12d, eax
jg 0x180018cc0
jmp 0x180018d06
call fcn.18001b270
mov rcx, rsi
movaps xmm7, xmm0
call fcn.18001b440
movaps xmm9, xmm0
comiss xmm13, xmm6
jb 0x180018d1b
ucomiss xmm7, dword [0x180095850]
jp 0x180018d1b
je 0x18001a05e
mov eax, dword [0x1800b1450]
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 0x180018e49
or eax, 1
movss dword [rsp + 0x20], xmm12
mov dword [0x1800b1450], eax
lea rdx, [rbp + 0xb0]
movabs rax, 0xc61413304e016755
lea rcx, [0x1800b1448]
mov qword [rbp + 0x418], rax
xor r9d, r9d
mov rax, qword [rbp + 0x418]
xor r8d, r8d
mov qword [rbp + 0xb0], rax
movabs rax, 0xf88126d6ed9f6363
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0xb8], rax
movabs rax, 0x8e347f5f3c750605
mov qword [rbp + 0x418], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x220], rax
movabs rax, 0xf88126d6edf60f06
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.180041790
mov r14, qword [rsp + 0x40]
movss xmm6, dword [rbp + 0x408]
movss xmm7, dword [rbp + 0x410]
movss xmm0, dword [0x1800b1448]
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 [0x1800b144c]
addss xmm10, xmm0
mulss xmm0, dword [0x1800957e4]
cmovbe rcx, rax
lea rax, [rbp - 0x70]
comiss xmm6, xmm13
addss xmm10, xmm0
movdqa xmm0, xmmword [0x1800958f0]
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.1800424d0
mov rcx, qword [0x1800b1010]
lea r8, [rbp - 0x60]
movaps xmm0, xmm9
mov dword [rsp + 0x28], 0
addss xmm0, dword [0x1800b1448]
movaps xmm1, xmm10
movss dword [rbp - 0x58], xmm9
subss xmm1, dword [0x180095834]
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 [0x180095834]
movss dword [rbp - 0x5c], xmm0
call fcn.180058e60
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 [0x180095814]
mulss xmm1, dword [0x180095814]
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm1
call fcn.1800424d0
mulss xmm6, dword [0x1800b1448]
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 [0x18009582c]
movss dword [rbp - 0x50], xmm0
movaps xmm0, xmm10
subss xmm0, dword [0x18009582c]
movss dword [rbp - 0x4c], xmm1
mov rcx, qword [0x1800b1010]
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.180058e60
movdqa xmm0, xmmword [0x1800958f0]
lea rcx, [rsp + 0x70]
movups xmmword [rsp + 0x70], xmm0
call fcn.1800424d0
mov rcx, qword [0x1800b1010]
lea r8, [rbp - 0x40]
movaps xmm0, xmm9
mov dword [rsp + 0x28], esi
addss xmm0, dword [0x1800b1448]
movaps xmm1, xmm10
movss dword [rbp - 0x38], xmm9
addss xmm1, dword [0x180095838]
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 [0x180095848]
movss dword [rbp - 0x3c], xmm0
call fcn.180058e60
movss xmm9, dword [0x180095814]
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.1800424d0
mulss xmm8, dword [0x1800b1448]
lea r8, [rbp - 0x30]
mov rcx, qword [0x1800b1010]
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 [0x180095844]
addss xmm10, dword [0x18009583c]
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
movss dword [rbp - 0x24], xmm10
call fcn.180058e60
movss xmm10, dword [0x1800957e4]
movabs r15, 0xf88126d6edf60f06
movss xmm7, dword [0x18009584c]
movabs r12, 0x8e347f5f3c750605
movabs r11, 0x8e5f1030521c6e46
movabs rdx, 0xe05d0d3e51177356
mov eax, dword [rsp + 0x48]
cmp eax, 0x84b70bde
ja 0x180019960
je 0x1800198b1
cmp eax, 0x1004b109
je 0x180019802
cmp eax, 0x35d805af
je 0x180019753
cmp eax, 0x4c7dddae
je 0x1800196a4
cmp eax, 0x56d5c50c
je 0x1800192b0
cmp eax, 0x5a43a965
jne 0x18001a011
movd xmm1, dword [0x18009389c]
lea r9, [0x180093994]
mov qword [rbp + 0x408], r11
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]
movss dword [rsp + 0x28], xmm12
movdqa xmmword [rbp + 0xe0], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.180013620
jmp 0x18001a011
mov rcx, r14
call fcn.18001a7d0
movaps xmm6, xmm0
mov rcx, r14
subss xmm6, xmm11
call fcn.18001aa50
subss xmm0, xmm11
divss xmm6, xmm0
comiss xmm6, xmm13
jbe 0x1800192dd
movaps xmm6, xmm11
jmp 0x1800192f3
comiss xmm11, xmm6
jbe 0x1800192e9
movaps xmm6, xmm11
jmp 0x1800192f3
mulss xmm6, xmm11
addss xmm6, xmm11
movd xmm1, dword [0x18009389c]
lea r9, [0x180093980]
movabs rax, 0xae4d1a3358147447
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, 0xf88126d6edb55f47
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.180013620
cmp byte [0x180093990], 0
je 0x18001a011
movss xmm0, dword [rsp + 0x58]
comiss xmm0, xmm0
ja 0x18001a011
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x60]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1e0]
mov rcx, qword [0x1800aef20]
movsd qword [rbp + 0x1e0], xmm0
mov qword [rsp + 0x60], 0
mov dword [rbp + 0x1e8], eax
call fcn.18000e0a0
test al, al
je 0x18001a011
movss xmm0, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x64], xmm0
call fcn.18001a7d0
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.18001aa50
mov eax, dword [0x1800b1450]
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 0x18001950e
or eax, 4
movss dword [rsp + 0x20], xmm12
mov dword [0x1800b1450], eax
lea rdx, [rbp + 0x100]
movabs rax, 0xae4d1a3358147447
lea rcx, [0x1800b1460]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x100], rax
movabs rax, 0xf88126d6edb55f47
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.180041790
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800b1460]
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 [0x1800b1464]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800958f0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.1800424d0
mov rcx, qword [0x1800b1010]
lea r8, [rbp - 0x20]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800b1460]
movaps xmm1, xmm8
movss dword [rbp - 0x18], xmm7
subss xmm1, dword [0x180095834]
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 [0x180095834]
movss dword [rbp - 0x1c], xmm0
call fcn.180058e60
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.1800424d0
mulss xmm6, dword [0x1800b1460]
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 [0x18009582c]
subss xmm8, dword [0x18009582c]
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
movss dword [rbp - 4], xmm8
jmp 0x180019ff6
movd xmm1, dword [0x180093898]
lea r9, [0x1800938e0]
movabs rax, 0x8e347f5f48146947
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.180013620
jmp 0x18001a011
movd xmm1, dword [0x180093898]
lea r9, [0x180093930]
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, 0xf88126b998b22f63
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.180013620
jmp 0x18001a011
movd xmm1, dword [0x180093898]
lea r9, [0x180093908]
movabs rax, 0x8e401e305e127351
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.180013620
jmp 0x18001a011
movd xmm1, dword [0x180093898]
lea r9, [0x1800938f4]
movabs rax, 0x8e347f5f7e3c4e57
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.180013620
jmp 0x18001a011
cmp eax, 0x87cf2604
je 0x180019c67
cmp eax, 0x90570c97
je 0x180019bb8
cmp eax, 0xb971b527
je 0x180019aff
cmp eax, 0xcfac1e35
je 0x180019a46
cmp eax, 0xd801b73c
jne 0x18001a011
movd xmm1, dword [0x180093898]
lea r9, [0x18009391c]
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, 0xf88149ba82a52f63
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.180013620
jmp 0x18001a011
movd xmm1, dword [0x180093894]
lea r9, [0x1800938cc]
movabs rax, 0xeb7c5f2f5d076556
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, 0xf88126d6edf6666a
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.180013620
jmp 0x18001a011
movd xmm1, dword [0x1800938a0]
lea r9, [0x180093958]
movabs rax, 0xe2581e1d1c076f44
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, 0xf88126d6ed986069
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.180013620
jmp 0x18001a011
movd xmm1, dword [0x1800938a0]
lea r9, [0x180093944]
movabs rax, 0x8e347f3a4f07694d
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.180013620
jmp 0x18001a011
movd xmm1, dword [0x180093894]
lea r9, [0x1800938a4]
movabs rax, 0xfa44103c551b6f48
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, 0xf88126d6edf67d63
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.180013620
cmp byte [0x1800938b4], 0
je 0x18001a011
movss xmm0, dword [rsp + 0x58]
comiss xmm0, xmm0
ja 0x18001a011
movsd xmm0, qword [rsp + 0x4c]
lea r8, [rsp + 0x68]
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0x1d0]
mov rcx, qword [0x1800aef20]
movsd qword [rbp + 0x1d0], xmm0
mov qword [rsp + 0x68], 0
mov dword [rbp + 0x1d8], eax
call fcn.18000e0a0
test al, al
je 0x18001a011
movss xmm0, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x40]
addss xmm0, xmm7
movss dword [rsp + 0x6c], xmm0
call fcn.18001a7d0
mov rcx, qword [rsp + 0x40]
movaps xmm6, xmm0
call fcn.18001aa50
mov eax, dword [0x1800b1450]
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 0x180019e74
or eax, 2
movss dword [rsp + 0x20], xmm12
mov dword [0x1800b1450], eax
lea rdx, [rbp + 0x30]
movabs rax, 0xe95a162f59106a56
lea rcx, [0x1800b1458]
mov qword [rbp + 0x410], rax
xor r9d, r9d
mov rax, qword [rbp + 0x410]
xor r8d, r8d
mov qword [rbp + 0x30], rax
movabs rax, 0xf88126d68a974d26
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.180041790
movss xmm6, dword [rbp + 0x408]
movss xmm0, dword [0x1800b1458]
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 [0x1800b145c]
addss xmm8, xmm0
mulss xmm0, xmm10
cmovbe rcx, rax
lea rax, [rbp + 0x418]
comiss xmm6, xmm13
addss xmm8, xmm0
movdqa xmm0, xmmword [0x1800958f0]
movups xmmword [rsp + 0x70], xmm0
cmovbe rax, rcx
lea rcx, [rsp + 0x70]
movss xmm6, dword [rax]
movss dword [rbp + 0x408], xmm6
call fcn.1800424d0
mov rcx, qword [0x1800b1010]
lea r8, [rbp]
movaps xmm0, xmm7
mov dword [rsp + 0x28], r13d
addss xmm0, dword [0x1800b1458]
movaps xmm1, xmm8
movss dword [rbp + 8], xmm7
subss xmm1, dword [0x180095834]
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 [0x180095834]
movss dword [rbp + 4], xmm0
call fcn.180058e60
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.1800424d0
mulss xmm6, dword [0x1800b1458]
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 [0x18009582c]
subss xmm8, dword [0x18009582c]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
movss dword [rbp + 0x1c], xmm8
mov rcx, qword [0x1800b1010]
mov r9d, eax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm11
call fcn.180058e60
movss xmm7, dword [0x18009584c]
movabs rsi, 0xc61413304e016755
movabs rdx, 0xe05d0d3e51177356
movabs r8, 0x7ffffffdfffe
movabs r9, 0xcbf29ce484222325
movabs r10, 0x100000001b3
movabs r11, 0x8e5f1030521c6e46
cmp rbx, rdi
jne 0x180018700
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