Function at 0x180037740
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x1800d8040]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov qword [rbp - 0x60], r9
mov qword [rbp - 0x78], r8
movsxd r14, edx
mov dword [rbp - 0x50], r14d
mov rbx, rcx
mov rsi, qword [rbp + 0x138]
mov qword [rbp - 0x70], rsi
mov r13, qword [0x18013a110]
mov rax, qword [r13 + 0x1c50]
mov byte [rax + 0x91], 1
mov rdi, qword [r13 + 0x1c50]
mov qword [rbp - 0x68], rdi
cmp byte [rdi + 0x94], 0
jne 0x180038d98
mov rdx, rcx
mov rcx, rdi
call fcn.180007390
mov r15d, eax
mov dword [rsp + 0x50], r15d
call fcn.1800120a0
movaps xmm14, xmm0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
xorps xmm10, xmm10
movss dword [rsp + 0x20], xmm10
movss xmm3, dword [0x1800c57a4]
mov rcx, qword [0x18013a0f0]
movss xmm2, dword [rcx + 0x14]
lea rdx, [rsp + 0x68]
call fcn.18002dd60
movss xmm2, dword [rsp + 0x6c]
mulss xmm2, dword [0x1800c5590]
movss xmm3, dword [r13 + 0x15b0]
movaps xmm13, xmm3
addss xmm13, xmm2
movss xmm1, dword [rdi + 0xdc]
addss xmm13, xmm1
movss xmm15, dword [rdi + 0xd8]
movss dword [rbp - 0x7c], xmm15
addss xmm14, xmm15
movaps xmm11, xmm2
addss xmm11, xmm1
movss dword [rsp + 0x58], xmm15
movss dword [rsp + 0x5c], xmm11
movss dword [rsp + 0x60], xmm14
movss dword [rsp + 0x64], xmm13
movaps xmm0, xmm3
addss xmm0, xmm3
addss xmm0, xmm2
addss xmm0, xmm1
movss dword [rbp - 0x48], xmm15
movss dword [rbp - 0x44], xmm1
movss dword [rbp - 0x40], xmm14
movss dword [rbp - 0x3c], xmm0
mulss xmm3, dword [0x1800c55c0]
movss xmm0, dword [r13 + 0x15ac]
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm3
movss xmm1, dword [0x1800c57d8]
lea rcx, [rsp + 0x78]
call fcn.180011b50
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
lea rcx, [rbp - 0x48]
call fcn.180011c90
test al, al
je 0x180038d98
test rsi, rsi
jne 0x18003793c
mov rax, r14
shl rax, 5
lea rsi, [0x1800b8370]
mov rsi, qword [rax + rsi]
mov qword [rbp - 0x70], rsi
mov r12, 0xffffffffffffffff
movss xmm0, dword [rsp + 0x68]
comiss xmm0, xmm10
jbe 0x180037a0c
mov r10, qword [rdi + 0x270]
mov rax, qword [0x18013a110]
movups xmm0, xmmword [rax + 0x1644]
movups xmmword [rbp - 0x38], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rbp - 0x2c], xmm0
lea rcx, [rbp - 0x38]
call fcn.180005420
mov r9d, eax
mov rcx, qword [0x18013a1b8]
movss xmm2, dword [rcx + 0x14]
test eax, 0xff000000
je 0x180037a0c
mov r8, r12
nop
inc r8
cmp byte [rbx + r8], 0
jne 0x1800379a0
add r8, rbx
cmp rbx, r8
je 0x180037a0c
test rcx, rcx
jne 0x1800379bf
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm10
jp 0x1800379d0
jne 0x1800379d0
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rbp - 0x38], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, qword [rbp - 0x48]
mov rdx, r10
call fcn.18002df80
movss xmm1, dword [r13 + 0x15b0]
movss xmm12, dword [0x1800c5488]
mulss xmm1, xmm12
movaps xmm2, xmm13
addss xmm2, xmm1
movaps xmm0, xmm11
subss xmm0, xmm1
movss dword [rbp - 0x38], xmm15
movss dword [rbp - 0x34], xmm0
movss dword [rbp - 0x30], xmm14
movss dword [rbp - 0x2c], xmm2
mov edx, r15d
lea rcx, [rbp - 0x38]
call fcn.180007810
mov byte [rbp - 0x80], al
test al, al
je 0x180037a66
cmp byte [r13 + 0x420], 0
jne 0x180037a6f
cmp dword [r13 + 0x1e60], r15d
jne 0x180037a7f
mov rdx, rdi
mov ecx, r15d
call fcn.1800076f0
call fcn.180013d40
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
movss xmm1, dword [r13 + 0x15b0]
mulss xmm1, xmm12
movaps xmm2, xmm13
addss xmm2, xmm1
movaps xmm0, xmm11
subss xmm0, xmm1
movss dword [rsp + 0x68], xmm15
movss dword [rsp + 0x6c], xmm0
movss dword [rsp + 0x70], xmm14
movss dword [rsp + 0x74], xmm2
lea rax, [rbp - 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rsi
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x78]
mov r8d, r14d
mov edx, r15d
lea rcx, [rsp + 0x68]
call fcn.1800373b0
mov byte [rbp - 0x7f], al
test al, al
je 0x180037b13
mov rcx, qword [0x18013a110]
mov word [rcx + 0x1cac], 0x101
or dword [rcx + 0x1d10], 4
mov edi, 4
mov ecx, dword [0x18013a0b4]
mov rax, qword gs:[0x58]
mov rbx, qword [rax + rcx*8]
mov esi, edi
mov eax, dword [rbx + rdi]
cmp dword [0x18013ac84], eax
jle 0x180037c09
lea rcx, [0x18013ac84]
call fcn.1800ad598
cmp dword [0x18013ac84], r12d
jne 0x180037c09
xorps xmm0, xmm0
movups xmmword [0x18013abb0], xmm0
movups xmmword [0x18013abc0], xmm0
movups xmmword [0x18013abd0], xmm0
movups xmmword [0x18013abe0], xmm0
mov dword [0x18013abb0], 0
xor r14d, r14d
mov qword [0x18013abb8], r14
mov qword [0x18013abc0], r14
mov ecx, 0x18
call fcn.1800ad758
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x18013abb8], rax
mov qword [0x18013abc8], r14
xorps xmm0, xmm0
movdqa xmmword [0x18013abd0], xmm0
mov qword [0x18013abe0], 7
mov qword [0x18013abe8], 8
mov dword [0x18013abb0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x18013abc8]
call fcn.18001c550
nop
lea rcx, [0x1800b26e0]
call fcn.1800adaec
nop
lea rcx, [0x18013ac84]
call fcn.1800ad52c
jmp 0x180037c0c
xor r14d, r14d
mov eax, 4
mov eax, dword [rbx + rax]
cmp dword [0x18013af90], eax
jle 0x180037cf4
lea rcx, [0x18013af90]
call fcn.1800ad598
mov rdi, rsi
cmp dword [0x18013af90], 0xffffffff
jne 0x180037cf4
xorps xmm0, xmm0
movups xmmword [0x18013ac00], xmm0
movups xmmword [0x18013ac10], xmm0
movups xmmword [0x18013ac20], xmm0
movups xmmword [0x18013ac30], xmm0
mov dword [0x18013ac00], 0
mov qword [0x18013ac08], r14
mov qword [0x18013ac10], r14
mov ecx, 0x18
call fcn.1800ad758
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x18013ac08], rax
mov qword [0x18013ac18], r14
xorps xmm0, xmm0
movdqa xmmword [0x18013ac20], xmm0
mov qword [0x18013ac30], 7
mov qword [0x18013ac38], 8
mov dword [0x18013ac00], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x18013ac18]
call fcn.18001c550
nop
lea rcx, [0x1800b26d0]
call fcn.1800adaec
nop
lea rcx, [0x18013af90]
call fcn.1800ad52c
mov eax, 4
mov edi, eax
jmp 0x180037cf9
mov eax, 4
mov eax, dword [rbx + rax]
cmp dword [0x18013b030], eax
jle 0x180037dd0
lea rcx, [0x18013b030]
call fcn.1800ad598
cmp dword [0x18013b030], 0xffffffff
jne 0x180037dd0
xorps xmm0, xmm0
movups xmmword [0x18013adb0], xmm0
movups xmmword [0x18013adc0], xmm0
movups xmmword [0x18013add0], xmm0
movups xmmword [0x18013ade0], xmm0
mov dword [0x18013adb0], 0
mov qword [0x18013adb8], r14
mov qword [0x18013adc0], r14
mov ecx, 0x18
call fcn.1800ad758
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x18013adb8], rax
mov qword [0x18013adc8], r14
xorps xmm0, xmm0
movdqa xmmword [0x18013add0], xmm0
mov qword [0x18013ade0], 7
mov qword [0x18013ade8], 8
mov dword [0x18013adb0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x18013adc8]
call fcn.18001c550
nop
lea rcx, [0x1800b26c0]
call fcn.1800adaec
nop
lea rcx, [0x18013b030]
call fcn.1800ad52c
mov eax, dword [rdi + rbx]
cmp dword [0x18013afe0], eax
jle 0x180037ea7
lea rcx, [0x18013afe0]
call fcn.1800ad598
cmp dword [0x18013afe0], 0xffffffff
jne 0x180037ea7
xorps xmm0, xmm0
movups xmmword [0x18013ad30], xmm0
movups xmmword [0x18013ad40], xmm0
movups xmmword [0x18013ad50], xmm0
movups xmmword [0x18013ad60], xmm0
mov dword [0x18013ad30], 0
mov qword [0x18013ad38], r14
mov qword [0x18013ad40], r14
mov ecx, 0x18
call fcn.1800ad758
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x18013ad38], rax
mov qword [0x18013ad48], r14
xorps xmm0, xmm0
movdqa xmmword [0x18013ad50], xmm0
mov qword [0x18013ad60], 7
mov qword [0x18013ad68], 8
mov dword [0x18013ad30], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x18013ad48]
call fcn.18001c550
nop
lea rcx, [0x1800b26b0]
call fcn.1800adaec
nop
lea rcx, [0x18013afe0]
call fcn.1800ad52c
movzx ecx, r15b
movabs rsi, 0xcbf29ce484222325
xor rcx, rsi
movabs r9, 0x100000001b3
imul rcx, r9
movzx r11d, byte [rsp + 0x51]
xor rcx, r11
imul rcx, r9
movzx ebx, byte [rsp + 0x52]
xor rcx, rbx
imul rcx, r9
movzx r8d, byte [rsp + 0x53]
xor rcx, r8
imul rcx, r9
and rcx, qword [0x18013abe0]
add rcx, rcx
mov rdx, qword [0x18013abc8]
mov rax, qword [rdx + rcx*8 + 8]
mov r10, qword [0x18013abb8]
cmp rax, r10
je 0x180037f29
mov rdx, qword [rdx + rcx*8]
cmp r15d, dword [rax + 0x10]
je 0x180037f2c
cmp rax, rdx
je 0x180037f29
mov rax, qword [rax + 8]
cmp r15d, dword [rax + 0x10]
jne 0x180037f18
jmp 0x180037f2c
mov rax, r14
mov rdi, r10
test rax, rax
cmovne rdi, rax
movzx ecx, r15b
xor rcx, rsi
imul rcx, r9
xor rcx, r11
imul rcx, r9
xor rcx, rbx
imul rcx, r9
xor rcx, r8
imul rcx, r9
and rcx, qword [0x18013ac30]
add rcx, rcx
mov rdx, qword [0x18013ac18]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [0x18013ac08]
cmp rax, r9
je 0x180037f93
mov rdx, qword [rdx + rcx*8]
cmp r15d, dword [rax + 0x10]
je 0x180037f96
cmp rax, rdx
je 0x180037f93
mov rax, qword [rax + 8]
cmp r15d, dword [rax + 0x10]
jne 0x180037f82
jmp 0x180037f96
mov rax, r14
mov rsi, r9
test rax, rax
cmovne rsi, rax
movzx ecx, r15b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, r11
imul rcx, rdx
xor rcx, rbx
imul rcx, rdx
xor rcx, r8
imul rcx, rdx
and rcx, qword [0x18013ade0]
add rcx, rcx
mov rdx, qword [0x18013adc8]
mov rax, qword [rdx + rcx*8 + 8]
mov r8, qword [0x18013adb8]
cmp rax, r8
je 0x180038011
mov rdx, qword [rdx + rcx*8]
cmp r15d, dword [rax + 0x10]
je 0x180038014
cmp rax, rdx
je 0x180038011
mov rax, qword [rax + 8]
cmp r15d, dword [rax + 0x10]
jne 0x180038000
jmp 0x180038014
mov rax, r14
mov r14, r8
test rax, rax
cmovne r14, rax
movzx ecx, r15b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
xor rcx, r11
imul rcx, rdx
xor rcx, rbx
imul rcx, rdx
movzx eax, byte [rsp + 0x53]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x18013ad60]
add rcx, rcx
mov rdx, qword [0x18013ad48]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [0x18013ad38]
je 0x180038091
mov rdx, qword [rdx + rcx*8]
cmp r15d, dword [rax + 0x10]
je 0x180038093
cmp rax, rdx
je 0x180038091
mov rax, qword [rax + 8]
cmp r15d, dword [rax + 0x10]
jne 0x180038080
jmp 0x180038093
xor eax, eax
mov rbx, qword [0x18013ad38]
test rax, rax
cmovne rbx, rax
movss xmm8, dword [rbp - 0x30]
movss xmm9, dword [rbp - 0x38]
cmp rdi, r10
jne 0x180038188
mov dword [rsp + 0x68], r15d
movaps xmm0, xmm9
addss xmm0, xmm8
mulss xmm0, xmm12
mov rax, qword [rbp - 0x68]
subss xmm0, dword [rax + 0xd8]
movss dword [rsp + 0x6c], xmm0
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x60]
lea rcx, [0x18013abb0]
call fcn.18001c710
movzx ecx, r15b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r11, 0x100000001b3
imul rcx, r11
movzx eax, byte [rsp + 0x51]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rsp + 0x52]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rsp + 0x53]
xor rcx, rax
imul rcx, r11
and rcx, qword [0x18013abe0]
add rcx, rcx
mov rdx, qword [0x18013abc8]
mov rax, qword [rdx + rcx*8 + 8]
mov rdi, qword [0x18013abb8]
cmp rax, rdi
je 0x180038171
mov rdx, qword [rdx + rcx*8]
cmp r15d, dword [rax + 0x10]
je 0x180038173
nop
cmp rax, rdx
je 0x180038171
mov rax, qword [rax + 8]
cmp r15d, dword [rax + 0x10]
jne 0x180038160
jmp 0x180038173
xor eax, eax
test rax, rax
cmovne rdi, rax
mov r9, qword [0x18013ac08]
mov r8, qword [0x18013adb8]
cmp rsi, r9
jne 0x180038261
mov dword [rsp + 0x68], r15d
movaps xmm0, xmm9
addss xmm0, xmm8
mulss xmm0, xmm12
mov rax, qword [rbp - 0x68]
subss xmm0, dword [rax + 0xd8]
movss dword [rsp + 0x6c], xmm0
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x60]
lea rcx, [0x18013ac00]
call fcn.18001c710
movzx ecx, r15b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r11, 0x100000001b3
imul rcx, r11
movzx eax, byte [rsp + 0x51]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rsp + 0x52]
xor rcx, rax
imul rcx, r11
movzx eax, byte [rsp + 0x53]
xor rcx, rax
imul rcx, r11
and rcx, qword [0x18013ac30]
add rcx, rcx
mov rdx, qword [0x18013ac18]
mov rax, qword [rdx + rcx*8 + 8]
mov rsi, qword [0x18013ac08]
cmp rax, rsi
je 0x180038251
mov rdx, qword [rdx + rcx*8]
cmp r15d, dword [rax + 0x10]
je 0x180038253
nop word [rax + rax]
cmp rax, rdx
je 0x180038251
mov rax, qword [rax + 8]
cmp r15d, dword [rax + 0x10]
jne 0x180038240
jmp 0x180038253
xor eax, eax
test rax, rax
cmovne rsi, rax
mov r8, qword [0x18013adb8]
cmp r14, r8
jne 0x18003831a
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x6c], 0
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x60]
lea rcx, [0x18013adb0]
call fcn.18001c710
movzx ecx, r15b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rsp + 0x51]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x52]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x53]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x18013ade0]
add rcx, rcx
mov rdx, qword [0x18013adc8]
mov rax, qword [rdx + rcx*8 + 8]
mov r14, qword [0x18013adb8]
cmp rax, r14
je 0x180038311
mov rdx, qword [rdx + rcx*8]
cmp r15d, dword [rax + 0x10]
je 0x180038313
nop dword [rax + rax]
cmp rax, rdx
je 0x180038311
mov rax, qword [rax + 8]
cmp r15d, dword [rax + 0x10]
jne 0x180038300
jmp 0x180038313
xor eax, eax
test rax, rax
cmovne r14, rax
cmp rbx, qword [0x18013ad38]
jne 0x1800383d2
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x6c], 0
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x60]
lea rcx, [0x18013ad30]
call fcn.18001c710
movzx ecx, r15b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rsp + 0x51]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x52]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x53]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x18013ad60]
add rcx, rcx
mov rdx, qword [0x18013ad48]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x18013ad38]
cmp rax, rbx
je 0x1800383c9
mov rdx, qword [rdx + rcx*8]
cmp r15d, dword [rax + 0x10]
je 0x1800383cb
cmp rax, rdx
je 0x1800383c9
mov rax, qword [rax + 8]
cmp r15d, dword [rax + 0x10]
jne 0x1800383b8
jmp 0x1800383cb
xor eax, eax
test rax, rax
cmovne rbx, rax
movaps xmm0, xmm9
addss xmm0, xmm8
mulss xmm0, xmm12
mov rax, qword [rbp - 0x68]
subss xmm0, dword [rax + 0xd8]
movss dword [rsi + 0x14], xmm0
movss xmm7, dword [rdi + 0x14]
ucomiss xmm7, xmm0
jp 0x1800383fd
je 0x18003844e
movaps xmm1, xmm7
movss xmm3, dword [0x1800c5638]
comiss xmm0, xmm7
jbe 0x180038427
movaps xmm1, xmm0
subss xmm1, xmm7
mulss xmm1, dword [r13 + 0x18]
mulss xmm1, xmm3
addss xmm1, xmm7
movss dword [rdi + 0x14], xmm1
movss xmm2, dword [rsi + 0x14]
movaps xmm7, xmm1
comiss xmm1, xmm2
jbe 0x18003844e
movaps xmm0, xmm1
subss xmm0, xmm2
mulss xmm0, dword [r13 + 0x18]
mulss xmm0, xmm3
subss xmm7, xmm0
movss dword [rdi + 0x14], xmm7
mov rdi, rax
addss xmm7, dword [rax + 0xd8]
movss xmm0, dword [r13 + 0x18]
movss xmm6, dword [0x1800c5db0]
cmp dword [r13 + 0x1c9c], r15d
je 0x180038473
xorps xmm0, xmm6
mulss xmm0, dword [0x1800c5610]
addss xmm0, dword [r14 + 0x14]
comiss xmm10, xmm0
jbe 0x18003848d
movaps xmm1, xmm10
jmp 0x180038499
movss xmm1, dword [0x1800c5518]
minss xmm1, xmm0
movss dword [r14 + 0x14], xmm1
movups xmm5, xmmword [r13 + 0x16b4]
movups xmm3, xmmword [r13 + 0x16c4]
movss xmm2, dword [rbx + 0x14]
movaps xmm4, xmm3
subss xmm4, xmm5
mulss xmm4, xmm2
addss xmm4, xmm5
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x55
movaps xmm0, xmm5
shufps xmm0, xmm5, 0x55
subss xmm1, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
shufps xmm3, xmm3, 0xaa
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xaa
subss xmm3, xmm0
mulss xmm3, xmm2
addss xmm3, xmm0
shufps xmm5, xmm5, 0xff
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm1
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm3
shufps xmm4, xmm4, 0x27
movss xmm4, xmm5
shufps xmm4, xmm4, 0x39
movups xmmword [rbp - 0x60], xmm4
movups xmmword [rbp - 0x60], xmm4
mov rax, qword [0x18013a110]
mulss xmm5, dword [rax + 0x1570]
movss dword [rbp - 0x54], xmm5
mov r8d, 1
mov edx, r15d
lea rcx, [rsp + 0x58]
call fcn.180006b30
addss xmm11, xmm13
mulss xmm11, xmm12
movss dword [rsp + 0x50], xmm11
movss dword [rsp + 0x68], xmm14
movss xmm2, dword [r13 + 0x15b0]
mulss xmm2, dword [0x1800c544c]
movaps xmm0, xmm2
addss xmm0, xmm11
movss dword [rsp + 0x6c], xmm0
movss dword [rsp + 0x78], xmm15
movaps xmm1, xmm11
subss xmm1, xmm2
movss dword [rsp + 0x7c], xmm1
lea rcx, [rbp - 0x60]
call fcn.180005420
mov r9d, eax
xor esi, esi
mov dword [rsp + 0x28], esi
movss xmm0, dword [r13 + 0x15b4]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x78]
mov rcx, qword [rdi + 0x270]
call fcn.180026bf0
comiss xmm8, xmm9
jbe 0x180038a68
movss xmm12, dword [0x1800d80b8]
mulss xmm12, dword [r14 + 0x14]
movss xmm0, dword [r13 + 0x18]
cmp byte [rbp - 0x80], sil
jne 0x1800385ee
xorps xmm0, xmm6
movss xmm8, dword [0x1800c5614]
mulss xmm0, xmm8
addss xmm0, dword [rbx + 0x14]
comiss xmm10, xmm0
jbe 0x18003860d
movaps xmm3, xmm10
jmp 0x180038619
movss xmm3, dword [0x1800c5518]
minss xmm3, xmm0
movss dword [rbx + 0x14], xmm3
movups xmm9, xmmword [r13 + 0x1794]
movups xmm6, xmmword [r13 + 0x17a4]
movaps xmm13, xmm9
shufps xmm13, xmm9, 0xff
movaps xmm14, xmm9
shufps xmm14, xmm9, 0xaa
movaps xmm15, xmm9
shufps xmm15, xmm9, 0x55
movaps xmm10, xmm6
shufps xmm10, xmm6, 0xaa
movaps xmm11, xmm6
shufps xmm11, xmm6, 0x55
mov rax, qword [0x18013a110]
lea rcx, [rsp + 0x58]
cmp dword [r13 + 0x1c9c], r15d
jne 0x180038690
movups xmm0, xmmword [rax + 0x17b4]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
jmp 0x1800386fe
movaps xmm2, xmm6
subss xmm2, xmm9
mulss xmm2, xmm3
addss xmm2, xmm9
movaps xmm1, xmm11
subss xmm1, xmm15
mulss xmm1, xmm3
addss xmm1, xmm15
movaps xmm0, xmm10
subss xmm0, xmm14
mulss xmm0, xmm3
addss xmm0, xmm14
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm1
shufps xmm2, xmm2, 0xc6
movss xmm2, xmm0
shufps xmm2, xmm2, 0x27
movss xmm2, xmm13
shufps xmm2, xmm2, 0x39
movups xmmword [rsp + 0x58], xmm2
movups xmmword [rsp + 0x58], xmm2
movaps xmm0, xmm13
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
call fcn.180005420
movss xmm2, dword [r13 + 0x15b0]
movaps xmm1, xmm2
mulss xmm1, dword [0x1800c5488]
movaps xmm0, xmm7
subss xmm0, xmm1
movss dword [rsp + 0x68], xmm0
mulss xmm2, dword [0x1800c544c]
movaps xmm0, xmm2
movss xmm1, dword [rsp + 0x50]
addss xmm0, xmm1
movss dword [rsp + 0x6c], xmm0
movss xmm3, dword [rbp - 0x7c]
movss dword [rsp + 0x78], xmm3
subss xmm1, xmm2
movss dword [rsp + 0x7c], xmm1
mov dword [rsp + 0x28], esi
movss xmm0, dword [r13 + 0x15b4]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x78]
mov rcx, qword [rdi + 0x270]
call fcn.180026bf0
movss xmm0, dword [r13 + 0x15b4]
divss xmm0, dword [0x1800c5544]
movss dword [rbp - 0x7c], xmm0
mov qword [rsp + 0x68], rsi
movss xmm3, dword [rbx + 0x14]
movss xmm0, dword [0x1800d80b8]
mulss xmm0, xmm8
mulss xmm0, xmm3
addss xmm0, dword [0x1800c5648]
movss dword [rsp + 0x50], xmm0
mov rax, qword [0x18013a110]
lea rcx, [rsp + 0x58]
cmp dword [r13 + 0x1c9c], r15d
jne 0x1800387f4
movups xmm0, xmmword [rax + 0x17b4]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
jmp 0x180038862
movaps xmm2, xmm6
subss xmm2, xmm9
mulss xmm2, xmm3
addss xmm2, xmm9
movaps xmm1, xmm11
subss xmm1, xmm15
mulss xmm1, xmm3
addss xmm1, xmm15
movaps xmm0, xmm10
subss xmm0, xmm14
mulss xmm0, xmm3
addss xmm0, xmm14
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm1
shufps xmm2, xmm2, 0xc6
movss xmm2, xmm0
shufps xmm2, xmm2, 0x27
movss xmm2, xmm13
shufps xmm2, xmm2, 0x39
movups xmmword [rsp + 0x58], xmm2
movups xmmword [rsp + 0x58], xmm2
movaps xmm0, xmm13
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
call fcn.180005420
movss xmm8, dword [rbp - 0x34]
addss xmm8, dword [rbp - 0x2c]
mulss xmm8, dword [0x1800c5488]
movss xmm3, dword [r13 + 0x15ac]
movaps xmm0, xmm7
addss xmm0, xmm3
addss xmm0, xmm12
movss dword [rsp + 0x78], xmm0
movss xmm2, dword [r13 + 0x15b0]
divss xmm2, dword [0x1800c5544]
movaps xmm0, xmm8
addss xmm0, xmm2
addss xmm0, xmm12
movss dword [rsp + 0x7c], xmm0
movaps xmm1, xmm7
subss xmm1, xmm3
subss xmm1, xmm12
movss dword [rbp - 0x68], xmm1
movaps xmm0, xmm8
subss xmm0, xmm2
subss xmm0, xmm12
movss dword [rbp - 0x64], xmm0
movss xmm1, dword [rbp - 0x7c]
movss dword [rsp + 0x38], xmm1
mov dword [rsp + 0x30], 0xf0
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
movss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x68]
mov rcx, qword [rdi + 0x270]
call fcn.180028130
movss xmm0, dword [r13 + 0x15b4]
divss xmm0, dword [0x1800c5544]
movss dword [rbp - 0x7c], xmm0
mov rax, qword [0x18013a110]
lea rcx, [rsp + 0x58]
cmp dword [r13 + 0x1c9c], r15d
jne 0x18003896a
movups xmm0, xmmword [rax + 0x17b4]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
jmp 0x1800389d4
movss xmm0, dword [rbx + 0x14]
subss xmm6, xmm9
mulss xmm6, xmm0
addss xmm6, xmm9
subss xmm11, xmm15
mulss xmm11, xmm0
addss xmm11, xmm15
subss xmm10, xmm14
mulss xmm10, xmm0
addss xmm10, xmm14
shufps xmm6, xmm6, 0xe1
movss xmm6, xmm11
shufps xmm6, xmm6, 0xc6
movss xmm6, xmm10
shufps xmm6, xmm6, 0x27
movss xmm6, xmm13
shufps xmm6, xmm6, 0x39
movups xmmword [rsp + 0x58], xmm6
movups xmmword [rsp + 0x58], xmm6
mulss xmm13, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm13
call fcn.180005420
movss xmm2, dword [r13 + 0x15ac]
movaps xmm0, xmm7
addss xmm0, xmm2
addss xmm0, xmm12
movss dword [rsp + 0x68], xmm0
movss xmm1, dword [r13 + 0x15b0]
divss xmm1, dword [0x1800c5544]
movaps xmm0, xmm8
addss xmm0, xmm1
addss xmm0, xmm12
movss dword [rsp + 0x6c], xmm0
subss xmm7, xmm2
subss xmm7, xmm12
movss dword [rsp + 0x78], xmm7
subss xmm8, xmm1
subss xmm8, xmm12
movss dword [rsp + 0x7c], xmm8
mov dword [rsp + 0x28], 0xf0
movss xmm0, dword [rbp - 0x7c]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x78]
mov rcx, qword [rdi + 0x270]
call fcn.180026bf0
xorps xmm10, xmm10
mov ecx, dword [rbp - 0x50]
lea eax, [rcx - 4]
cmp eax, 1
jbe 0x180038b14
lea eax, [rcx - 6]
cmp eax, 1
jbe 0x180038af9
cmp ecx, 8
jne 0x180038aab
mov rax, qword [rbp - 0x78]
movss xmm3, dword [rax]
cvtps2pd xmm3, xmm3
movq r9, xmm3
mov r8, qword [rbp - 0x70]
mov edx, 0x40
lea rcx, [rbp - 0x20]
call fcn.180004e10
jmp 0x180038b2d
cmp ecx, 9
jne 0x180038aba
mov rax, qword [rbp - 0x78]
movsd xmm3, qword [rax]
jmp 0x180038a8f
test ecx, ecx
jne 0x180038ac8
mov rax, qword [rbp - 0x78]
movsx r9d, byte [rax]
jmp 0x180038b1b
cmp ecx, 1
jne 0x180038ad7
mov rax, qword [rbp - 0x78]
movzx r9d, byte [rax]
jmp 0x180038b1b
cmp ecx, 2
jne 0x180038ae6
mov rax, qword [rbp - 0x78]
movsx r9d, word [rax]
jmp 0x180038b1b
cmp ecx, 3
jne 0x180038af5
mov rax, qword [rbp - 0x78]
movzx r9d, word [rax]
jmp 0x180038b1b
mov eax, esi
jmp 0x180038b2d
mov rax, qword [rbp - 0x78]
mov r9, qword [rax]
mov r8, qword [rbp - 0x70]
mov edx, 0x40
lea rcx, [rbp - 0x20]
call fcn.180004e10
jmp 0x180038b2d
mov rax, qword [rbp - 0x78]
mov r9d, dword [rax]
mov r8, qword [rbp - 0x70]
mov edx, 0x40
lea rcx, [rbp - 0x20]
call fcn.180004e10
cdqe
lea rbx, [rbp - 0x20]
add rbx, rax
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x20]
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm10
movss xmm3, dword [0x1800c57a4]
mov rcx, qword [0x18013a0f0]
movss xmm2, dword [rcx + 0x14]
lea rdx, [rsp + 0x68]
call fcn.18002dd60
movups xmm6, xmmword [r13 + 0x1694]
movups xmm7, xmmword [r13 + 0x1794]
mov rax, qword [0x18013a110]
movups xmm0, xmmword [rax + 0x16b4]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm0
movss xmm8, dword [rbp - 0x40]
movss dword [rsp + 0x78], xmm8
movss xmm1, dword [0x1800d80b8]
movaps xmm2, xmm1
mulss xmm2, dword [0x1800c5590]
movss xmm0, dword [rsp + 0x6c]
movss xmm9, dword [rbp - 0x44]
addss xmm0, xmm9
addss xmm0, xmm2
movss dword [rsp + 0x7c], xmm0
subss xmm8, dword [rsp + 0x68]
mulss xmm1, dword [0x1800c5628]
movaps xmm0, xmm8
subss xmm0, xmm1
movss dword [rsp + 0x68], xmm0
movaps xmm1, xmm9
subss xmm1, xmm2
movss dword [rsp + 0x6c], xmm1
lea rcx, [rsp + 0x58]
call fcn.180005420
mov r9d, eax
mov dword [rsp + 0x28], esi
movss xmm0, dword [r13 + 0x15b4]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x68]
mov rcx, qword [rdi + 0x270]
call fcn.180026bf0
mov r8, qword [rdi + 0x270]
movss xmm3, dword [r14 + 0x14]
movaps xmm4, xmm7
subss xmm4, xmm6
mulss xmm4, xmm3
addss xmm4, xmm6
movaps xmm2, xmm7
shufps xmm2, xmm7, 0x55
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
subss xmm2, xmm0
mulss xmm2, xmm3
addss xmm2, xmm0
movaps xmm1, xmm7
shufps xmm1, xmm7, 0xaa
shufps xmm6, xmm6, 0xaa
subss xmm1, xmm6
mulss xmm1, xmm3
addss xmm1, xmm6
shufps xmm7, xmm7, 0xff
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm2
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm1
shufps xmm4, xmm4, 0x27
movss xmm4, xmm7
shufps xmm4, xmm4, 0x39
movups xmmword [rsp + 0x58], xmm4
movups xmmword [rsp + 0x58], xmm4
mov rax, qword [0x18013a110]
mulss xmm7, dword [rax + 0x1570]
movss dword [rsp + 0x64], xmm7
lea rcx, [rsp + 0x58]
call fcn.180005420
mov r9d, eax
movss xmm0, dword [0x1800d80b8]
mulss xmm0, dword [0x1800c55f0]
subss xmm8, xmm0
mov rcx, qword [0x18013a0f0]
movss xmm2, dword [rcx + 0x14]
test eax, 0xff000000
je 0x180038d92
test rbx, rbx
jne 0x180038d20
lea rax, [rbp - 0x20]
nop dword [rax + rax]
inc r12
cmp byte [rax + r12], sil
jne 0x180038d10
lea rbx, [rbp - 0x20]
add rbx, r12
lea rax, [rbp - 0x20]
cmp rax, rbx
je 0x180038d92
test rcx, rcx
jne 0x180038d36
mov rax, qword [r8 + 0x38]
mov rcx, qword [rax + 8]
ucomiss xmm2, xmm10
jp 0x180038d47
jne 0x180038d47
mov rax, qword [r8 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r8 + 0x88]
movups xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], sil
movss dword [rsp + 0x40], xmm10
mov qword [rsp + 0x38], rbx
lea rax, [rbp - 0x20]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movaps xmm0, xmm8
unpcklps xmm0, xmm9
movq r9, xmm0
mov rdx, r8
call fcn.18002df80
movzx eax, byte [rbp - 0x7f]
jmp 0x180038d9a
xor al, al
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1800ad4d0
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret