Function at 0x1400cc750
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x758
vmovaps xmmword [rsp + 0x740], xmm12
vmovaps xmmword [rsp + 0x730], xmm11
vmovaps xmmword [rsp + 0x720], xmm10
vmovaps xmmword [rsp + 0x710], xmm9
vmovaps xmmword [rsp + 0x700], xmm8
vmovaps xmmword [rsp + 0x6f0], xmm7
vmovaps xmmword [rsp + 0x6e0], xmm6
mov qword [rcx], rdx
mov qword [rsp + 0x28], rcx
lea rbx, [rcx + 0x18]
movzx eax, word [0x14012fb22]
lea rsi, [rax + rdx]
mov r8, qword [0x14012f520]
lea rbp, [rax + rdx + 8]
lea rax, [rsp + 0x3d8]
lea r14, [0x14012f448]
lea r15, [rsp + 0xd0]
mov qword [rsp + 0x38], r8
mov rdi, rax
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r8
mov r8, rsi
mov r9, r15
call fcn.14000c5d0
test al, al
je 0x1400ccd9c
mov r13, qword [rsp + 0x3d8]
cmp r13, rbp
mov r12, rbp
cmovb r12, r13
sub r12, rsi
mov rdx, qword [rsp + 0xd0]
mov rax, r12
add rax, rdx
jb 0x1400ccd9c
mov r8d, dword [0x14012f4e0]
test r8, r8
je 0x1400ccd9c
mov rcx, qword [0x14012f4d8]
shl r8, 3
lea r8, [r8 + r8*2]
xor r9d, r9d
jmp 0x1400cc85d
add r9, 0x18
cmp r8, r9
je 0x1400ccd9c
cmp qword [rcx + r9], rdx
ja 0x1400cc850
cmp rax, qword [rcx + r9 + 8]
ja 0x1400cc850
add rdx, qword [0x14012f4f0]
mov rcx, rbx
mov r8, r12
call fcn.1400224e0
cmp rbp, r13
jbe 0x1400cc894
add rbx, r12
mov rsi, r13
mov rax, rdi
mov r8, qword [rsp + 0x38]
jmp 0x1400cc7e1
mov rax, qword [rsp + 0x28]
lea r15, [rax + 8]
mov rax, qword [rax + 0x18]
movzx ecx, word [0x14012fb26]
lea r13, [rax + rcx]
lea rbp, [rax + rcx + 0xc]
lea rcx, [0x14012f448]
lea r9, [rsp + 0xd0]
mov qword [rsp + 0x30], r15
mov rax, rdi
mov qword [rsp + 0x20], rax
mov r14, rcx
mov rdx, qword [rsp + 0x38]
mov r8, r13
mov rbx, r9
call fcn.14000c5d0
test al, al
je 0x1400ccd9c
mov rsi, qword [rsp + 0x3d8]
cmp rsi, rbp
mov r12, rbp
cmovb r12, rsi
sub r12, r13
mov rdx, qword [rsp + 0xd0]
mov rax, r12
add rax, rdx
jb 0x1400ccd9c
mov r8d, dword [0x14012f4e0]
test r8, r8
je 0x1400ccd9c
mov rcx, qword [0x14012f4d8]
shl r8, 3
lea r8, [r8 + r8*2]
xor r9d, r9d
jmp 0x1400cc94d
add r9, 0x18
cmp r8, r9
je 0x1400ccd9c
cmp qword [rcx + r9], rdx
ja 0x1400cc940
cmp rax, qword [rcx + r9 + 8]
ja 0x1400cc940
add rdx, qword [0x14012f4f0]
mov rcx, r15
mov r8, r12
call fcn.1400224e0
cmp rbp, rsi
jbe 0x1400cc985
add r15, r12
mov r13, rsi
mov rax, rdi
mov rcx, r14
mov r9, rbx
jmp 0x1400cc8c8
mov rax, qword [rsp + 0x30]
vmovd xmm0, dword [rax]
vmovd eax, xmm0
and eax, 0x7fffffff
cmp eax, 0x7f7fffff
jg 0x1400ccd9c
mov rcx, qword [rsp + 0x28]
vmovd xmm1, dword [rcx + 0xc]
vmovd eax, xmm1
and eax, 0x7fffffff
cmp eax, 0x7f7fffff
jg 0x1400ccd9c
vmovd xmm2, dword [rcx + 0x10]
vmovd eax, xmm2
and eax, 0x7fffffff
cmp eax, 0x7f7fffff
jg 0x1400ccd9c
vmovss xmm3, dword [0x140131148]
vsubss xmm2, xmm3, xmm2
vmovsd xmm3, qword [0x140131140]
vinsertps xmm0, xmm0, xmm1, 0x10
vsubps xmm0, xmm3, xmm0
vmulps xmm0, xmm0, xmm0
vmulss xmm1, xmm2, xmm2
vmovshdup xmm2, xmm0
vaddss xmm1, xmm2, xmm1
vaddss xmm0, xmm0, xmm1
vsqrtss xmm0, xmm0, xmm0
vmovss dword [rcx + 0x14], xmm0
mov rcx, qword [rcx]
movzx eax, word [0x14012fb24]
lea r13, [rcx + rax]
mov qword [rsp + 0x78], rcx
lea rax, [rcx + rax + 4]
mov qword [rsp + 0x30], rax
mov r14, qword [0x14012f4d8]
mov ecx, dword [0x14012f4e0]
mov rax, qword [0x14012f4f0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x48], rcx
mov rax, rcx
shl rax, 3
lea rbx, [rax + rax*2]
lea rax, [rsp + 0x74]
mov qword [rsp + 0x40], rax
lea rcx, [0x14012f448]
lea r9, [rsp + 0xd0]
mov qword [rsp + 0x20], rdi
mov rbp, rcx
mov rdx, qword [rsp + 0x38]
mov r8, r13
mov r15, r9
call fcn.14000c5d0
test al, al
je 0x1400ccd9c
mov rsi, qword [rsp + 0x3d8]
mov r12, qword [rsp + 0x30]
cmp rsi, r12
cmovb r12, rsi
sub r12, r13
mov rdx, qword [rsp + 0xd0]
mov rax, r12
add rax, rdx
jb 0x1400ccd9c
cmp dword [rsp + 0x48], 0
je 0x1400ccd9c
xor ecx, ecx
jmp 0x1400ccadd
add rcx, 0x18
cmp rbx, rcx
je 0x1400ccd9c
cmp qword [r14 + rcx], rdx
ja 0x1400ccad0
cmp rax, qword [r14 + rcx + 8]
ja 0x1400ccad0
add rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x40]
mov r8, r12
call fcn.1400224e0
cmp qword [rsp + 0x30], rsi
jbe 0x1400ccb19
add qword [rsp + 0x40], r12
mov r13, rsi
mov rcx, rbp
mov r9, r15
jmp 0x1400cca76
mov eax, dword [rsp + 0x74]
mov ecx, eax
shr ecx, 0x10
mov edx, eax
shr edx, 0x18
movzx r8d, al
movabs r9, 0xcbf29ce484222325
xor r9, r8
movabs r8, 0x100000001b3
imul r9, r8
movzx esi, ah
xor rsi, r9
imul rsi, r8
movzx ecx, cl
xor rcx, rsi
imul rcx, r8
xor rcx, rdx
imul rcx, r8
and rcx, qword [0x140131228]
mov r9, qword [0x140131210]
mov rdx, rcx
shl rdx, 4
mov rdx, qword [r9 + rdx + 8]
mov r8, qword [0x140131200]
cmp rdx, r8
je 0x1400ccbdb
cmp dword [rdx + 0x10], eax
je 0x1400ccba3
add rcx, rcx
mov r9, qword [r9 + rcx*8]
xor ecx, ecx
cmp rdx, r9
je 0x1400ccbdd
mov rdx, qword [rdx + 8]
cmp dword [rdx + 0x10], eax
jne 0x1400ccb95
cmp rdx, r8
je 0x1400ccbdb
mov r8, qword [0x140131538]
test r8, r8
je 0x1400ccbdb
mov rax, qword [rdx + 0x18]
mov rcx, qword [0x140131530]
imul rdx, r8, 0x298
cmp qword [rcx], rax
je 0x1400ccbdd
add rcx, 0x298
add rdx, 0xfffffffffffffd68
jne 0x1400ccbc6
xor ecx, ecx
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x50], rcx
lea rbx, [rax + 0x58]
movzx eax, word [0x14012fb6a]
mov rcx, qword [rsp + 0x78]
lea r13, [rcx + rax]
lea rbp, [rcx + rax]
add rbp, 4
lea r14, [0x14012f448]
lea r15, [rsp + 0xd0]
mov qword [rsp + 0x20], rdi
mov rcx, r14
mov rdx, qword [rsp + 0x38]
mov r8, r13
mov r9, r15
call fcn.14000c5d0
test al, al
je 0x1400ccd9c
mov rsi, qword [rsp + 0x3d8]
cmp rsi, rbp
mov r12, rbp
cmovb r12, rsi
sub r12, r13
mov rdx, qword [rsp + 0xd0]
mov rax, r12
add rax, rdx
jb 0x1400ccd9c
mov r8d, dword [0x14012f4e0]
test r8, r8
je 0x1400ccd9c
mov rcx, qword [0x14012f4d8]
shl r8, 3
lea r8, [r8 + r8*2]
xor r9d, r9d
jmp 0x1400ccc8b
add r9, 0x18
cmp r8, r9
je 0x1400ccd9c
cmp qword [rcx + r9], rdx
ja 0x1400ccc7e
cmp rax, qword [rcx + r9 + 8]
ja 0x1400ccc7e
add rdx, qword [0x14012f4f0]
mov rcx, rbx
mov r8, r12
call fcn.1400224e0
cmp rbp, rsi
jbe 0x1400cccba
add rbx, r12
mov r13, rsi
jmp 0x1400ccc11
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
movzx eax, word [0x14012fb6c]
lea rbx, [rcx + rax]
mov qword [rsp + 0x40], rcx
lea r15, [rcx + rax + 4]
mov r14, qword [0x14012f4d8]
mov ebp, dword [0x14012f4e0]
mov rax, qword [0x14012f4f0]
mov qword [rsp + 0x48], rax
mov rax, rbp
shl rax, 3
lea r12, [rax + rax*2]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x20], rdi
lea rcx, [0x14012f448]
mov rdx, qword [rsp + 0x38]
mov r8, rbx
lea r9, [rsp + 0xd0]
call fcn.14000c5d0
test al, al
je 0x1400ccd9c
mov rsi, qword [rsp + 0x3d8]
cmp rsi, r15
mov r13, r15
cmovb r13, rsi
sub r13, rbx
mov rdx, qword [rsp + 0xd0]
mov rax, r13
add rax, rdx
jb 0x1400ccd9c
test ebp, ebp
je 0x1400ccd9c
xor ecx, ecx
jmp 0x1400ccd60
add rcx, 0x18
cmp r12, rcx
je 0x1400ccd9c
cmp qword [r14 + rcx], rdx
ja 0x1400ccd57
cmp rax, qword [r14 + rcx + 8]
ja 0x1400ccd57
add rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov r8, r13
call fcn.1400224e0
cmp r15, rsi
jbe 0x1400ccd91
add qword [rsp + 0x30], r13
mov rbx, rsi
jmp 0x1400ccd05
mov r14d, dword [rsp + 0x70]
cmp r14, 0x40
jbe 0x1400ccdf3
xor edi, edi
mov eax, edi
vmovaps xmm6, xmmword [rsp + 0x6e0]
vmovaps xmm7, xmmword [rsp + 0x6f0]
vmovaps xmm8, xmmword [rsp + 0x700]
vmovaps xmm9, xmmword [rsp + 0x710]
vmovaps xmm10, xmmword [rsp + 0x720]
vmovaps xmm11, xmmword [rsp + 0x730]
vmovaps xmm12, xmmword [rsp + 0x740]
add rsp, 0x758
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
test r14d, r14d
je 0x1400cceb4
movzx eax, word [0x14012fb6e]
mov r8, qword [rsp + 0x40]
add r8, rax
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x48], rcx
mov rdx, qword [rsp + 0x38]
call fcn.1400d2ee0
movzx ebx, byte [rsp + 0x3d0]
cmp bl, 2
je 0x1400cceb0
movzx r8d, word [0x14012fb70]
mov rax, qword [rsp + 0x28]
add r8, qword [rax]
mov rdx, qword [0x14012f520]
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x30], rcx
call fcn.1400d30f0
movzx esi, byte [rsp + 0xc8]
cmp sil, 2
je 0x1400cceb0
movzx r8d, word [0x14012fb72]
mov rax, qword [rsp + 0x28]
add r8, qword [rax]
mov rdx, qword [0x14012f520]
lea rcx, [rsp + 0x3d8]
mov qword [rsp + 0x38], rcx
call fcn.1400d2ee0
movzx edi, byte [rsp + 0x6d8]
cmp dil, 2
jne 0x1400ccee8
xor edi, edi
jmp 0x1400ccec9
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x28]
mov dil, 1
test rdx, rdx
jne 0x1400cd5ef
mov rbp, qword [rsp + 0x50]
test rbp, rbp
je 0x1400ccd9e
add rbp, 0xfffffffffffffff0
mov rcx, rbp
call fcn.140009440
jmp 0x1400ccd9e
lea rcx, [rsp + 0x50]
mov rdx, r14
call fcn.1400d3300
test sil, sil
jne 0x1400cd112
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x30], rax
test dil, dil
je 0x1400cd11b
test bl, bl
jne 0x1400ccf25
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x48], rax
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
xor ebx, ebx
vxorps xmm6, xmm6, xmm6
vmovss xmm7, dword [0x1400f9ecc]
vmovss xmm8, dword [0x1400f9ed0]
vbroadcastss xmm9, dword [0x1400f85b4]
jmp 0x1400ccf67
mov r12, rbp
mov rsi, rdi
inc rbx
cmp rbx, r14
je 0x1400cd135
mov rax, qword [rsp + 0x30]
cmp byte [rax + rbx], 0
je 0x1400ccf5b
lea r13, [rbx + rbx*2]
mov rax, qword [rsp + 0x38]
vmovss xmm10, dword [rax + r13*4 + 8]
vucomiss xmm10, xmm6
jne 0x1400ccf8a
jnp 0x1400ccf5b
mov rax, qword [rsp + 0x38]
vmovsd xmm11, qword [rax + r13*4]
vmulps xmm0, xmm11, xmm11
vmulss xmm1, xmm10, xmm10
vmovshdup xmm2, xmm0
vaddss xmm1, xmm2, xmm1
vaddss xmm0, xmm0, xmm1
vucomiss xmm0, xmm7
jb 0x1400ccf5b
vucomiss xmm8, xmm0
jb 0x1400ccf5b
vxorps xmm12, xmm10, xmm9
vucomiss xmm10, xmm12
seta al
mov dword [rsp + 0x40], eax
lea rdi, [rsi + 1]
cmp rdi, r15
jbe 0x1400ccffe
add r15, r15
cmp r15, rdi
cmovbe r15, rdi
lea rax, [r15*8]
lea rcx, [rax + rax*2]
call fcn.14000abb0
mov rbp, rax
test rsi, rsi
je 0x1400cd003
cmp rsi, 1
jne 0x1400cd00a
xor eax, eax
jmp 0x1400cd055
mov rbp, r12
jmp 0x1400cd07f
test r12, r12
jne 0x1400cd073
jmp 0x1400cd07f
mov rcx, rsi
and rcx, 0xfffffffffffffffe
xor edx, edx
xor eax, eax
mov r8, qword [r12 + rdx + 0x10]
mov qword [rbp + rdx + 0x10], r8
vmovups xmm0, xmmword [r12 + rdx]
vmovups xmmword [rbp + rdx], xmm0
vmovups xmm0, xmmword [r12 + rdx + 0x18]
vmovups xmmword [rbp + rdx + 0x18], xmm0
mov r8, qword [r12 + rdx + 0x28]
mov qword [rbp + rdx + 0x28], r8
add rax, 2
add rdx, 0x30
cmp rcx, rax
jne 0x1400cd015
test sil, 1
je 0x1400cd073
shl rax, 3
lea rax, [rax + rax*2]
mov rcx, qword [r12 + rax + 0x10]
mov qword [rbp + rax + 0x10], rcx
vmovups xmm0, xmmword [r12 + rax]
vmovups xmmword [rbp + rax], xmm0
add r12, 0xfffffffffffffff0
mov rcx, r12
call fcn.140009440
vxorps xmm0, xmm11, xmm9
vmovd xmm1, dword [rsp + 0x40]
vpbroadcastb xmm1, xmm1
vpslld xmm1, xmm1, 0x1f
vblendvps xmm0, xmm0, xmm11, xmm1
vmaxss xmm1, xmm10, xmm12
mov rax, qword [rsp + 0x48]
lea rcx, [rax + r13*4]
lea rax, [rsi + rsi*2]
mov edx, dword [rcx + 8]
mov dword [rbp + rax*8 + 8], edx
mov rcx, qword [rcx]
mov qword [rbp + rax*8], rcx
vmovlps qword [rbp + rax*8 + 0xc], xmm0
vmovss dword [rbp + rax*8 + 0x14], xmm1
lea rcx, [rdi + rdi*2]
mov ecx, dword [rbp + rcx*8 - 0x18]
mov edx, 0x7fffffff
and ecx, edx
cmp ecx, 0x7f7fffff
jg 0x1400cd106
mov ecx, dword [rbp + rax*8 + 4]
and ecx, edx
cmp ecx, 0x7f7fffff
jg 0x1400cd106
vmovd xmm0, dword [rbp + rax*8 + 8]
vmovd eax, xmm0
and eax, 0x7fffffff
cmp eax, 0x7f800000
jl 0x1400ccf55
mov qword [rsp + 0x50], rbp
xor edi, edi
jmp 0x1400cced7
test dil, dil
jne 0x1400ccf14
mov rax, qword [rsp + 0x3d8]
mov qword [rsp + 0x38], rax
test bl, bl
je 0x1400ccf18
jmp 0x1400ccf25
mov r8, rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x50], r12
mov rcx, qword [rsp + 0x28]
lea rax, [rcx + 0x20]
mov rdx, qword [rcx + 0x28]
cmp rdx, rsi
jne 0x1400cd5fd
mov dil, 1
test rsi, rsi
je 0x1400ccec9
mov rax, qword [rax]
mov ecx, 0x14
mov rdx, rsi
vmovss xmm0, dword [rax + rcx - 0x14]
vucomiss xmm0, dword [r12 + rcx - 0x14]
jne 0x1400cd1e6
jp 0x1400cd1e6
vmovss xmm0, dword [rax + rcx - 0x10]
vucomiss xmm0, dword [r12 + rcx - 0x10]
jne 0x1400cd1e6
jp 0x1400cd1e6
vmovss xmm0, dword [rax + rcx - 0xc]
vucomiss xmm0, dword [r12 + rcx - 0xc]
jne 0x1400cd1e6
jp 0x1400cd1e6
vmovss xmm0, dword [rax + rcx - 8]
vucomiss xmm0, dword [r12 + rcx - 8]
jne 0x1400cd1e6
jp 0x1400cd1e6
vmovss xmm0, dword [rax + rcx - 4]
vucomiss xmm0, dword [r12 + rcx - 4]
jne 0x1400cd1e6
jp 0x1400cd1e6
vmovss xmm0, dword [rax + rcx]
vucomiss xmm0, dword [r12 + rcx]
jne 0x1400cd1e6
jp 0x1400cd1e6
add rcx, 0x18
dec rdx
jne 0x1400cd174
jmp 0x1400ccec9
mov rcx, rsi
mov rdi, qword [rsp + 0x28]
mov qword [rdi + 0x20], r12
mov qword [rsp + 0x50], rax
mov qword [rdi + 0x28], rcx
mov qword [rsp + 0x58], rsi
mov rax, qword [rdi + 0x30]
mov rcx, qword [rsp + 0x60]
mov qword [rdi + 0x30], rcx
mov qword [rsp + 0x60], rax
lea r14, [rdi + 0x38]
mov rcx, r14
call fcn.1400d3350
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x1400cd2b4
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rcx + 0x20]
shl rax, 3
lea rbx, [rax + rax*2]
invalid
vxorps xmm6, xmm6, xmm6
lea rdi, [rsp + 0x3d8]
jmp 0x1400cd254
invalid
add rsi, 0x18
add rbx, 0xffffffffffffffe8
je 0x1400cd2b4
vmovaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0xe0], 0
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rbp + rcx*4 - 0x44], cl
lea edi, [rsp + 0xd0]
add byte [rcx + rcx*4 - 7], cl
mov ecx, edi
call fcn.1400d33b0
mov qword [rsp + 0x3d8], rsi
add byte [rcx + rcx*4 - 0x44], cl
and al, 0xe0
add eax, dword [rax]
add byte [rax - 0x77], cl
stc
call fcn.1400d3410
add byte [rcx + rcx*4 - 0xf], cl
mov rdx, r15
call fcn.1400d68c0
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x1400cd24a
add rcx, 0xfffffffffffffff0
call fcn.140009440
jmp 0x1400cd24a
mov dil, 1
cmp byte [0x14012fd91], 0
je 0x1400ccec9
mov rax, qword [rsp + 0x28]
mov r13, qword [rax + 0x40]
test r13, r13
je 0x1400ccec9
xor eax, eax
vxorps xmm6, xmm6, xmm6
lea rbx, [rsp + 0xd0]
vmovss xmm7, dword [0x1400f9ed4]
movabs r15, 0xaaaaaaaaaaaaaaab
jmp 0x1400cd304
mov rax, rbp
cmp rbp, r13
je 0x1400ccec9
lea rbp, [rax + 1]
cmp rbp, r13
je 0x1400cd2f8
lea r12, [rax + rax*2]
lea rsi, [r12*8 + 0x18]
mov r13, rbp
jmp 0x1400cd330
inc r13
add rsi, 0x18
mov rax, qword [rsp + 0x28]
cmp r13, qword [rax + 0x40]
je 0x1400cd2f8
mov rdx, qword [r14]
lea rcx, [rdx + r12*8]
add rdx, rsi
vmovaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0xe0], 0
mov r8, rbx
call fcn.1400d69a0
cmp al, 3
je 0x1400cd388
movzx eax, al
cmp eax, 2
je 0x1400cd3fa
cmp eax, 1
je 0x1400cd461
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x1400cd31e
add rcx, 0xfffffffffffffff0
call fcn.140009440
jmp 0x1400cd31e
mov rsi, qword [r14]
lea r12, [r13*2]
add r12, r13
mov rcx, qword [rsi + r12*8]
mov rdx, rsi
test rcx, rcx
je 0x1400cd3ae
add rcx, 0xfffffffffffffff0
call fcn.140009440
mov rdx, qword [r14]
lea rax, [rsi + r12*8]
mov r8, qword [rsp + 0x28]
mov rcx, qword [r8 + 0x40]
dec rcx
mov qword [r8 + 0x40], rcx
lea rcx, [rcx + rcx*2]
lea rcx, [rdx + rcx*8]
cmp rcx, rax
je 0x1400cd5bd
mov rdx, qword [rax + 0x18]
mov qword [rax], rdx
vmovups xmm0, xmmword [rax + 0x20]
vmovups xmmword [rax + 8], xmm0
vmovups xmmword [rax + 0x18], xmm6
lea rdx, [rax + 0x18]
mov rax, rdx
cmp rdx, rcx
jne 0x1400cd3d3
jmp 0x1400cd5bd
mov rsi, qword [r14]
mov rcx, qword [rsi + r12*8]
mov rdx, rsi
test rcx, rcx
je 0x1400cd415
add rcx, 0xfffffffffffffff0
call fcn.140009440
mov rdx, qword [r14]
lea rax, [rsi + r12*8]
mov r8, qword [rsp + 0x28]
mov rcx, qword [r8 + 0x40]
dec rcx
mov qword [r8 + 0x40], rcx
lea rcx, [rcx + rcx*2]
lea rcx, [rdx + rcx*8]
cmp rcx, rax
je 0x1400cd5bd
mov rdx, qword [rax + 0x18]
mov qword [rax], rdx
vmovups xmm0, xmmword [rax + 0x20]
vmovups xmmword [rax + 8], xmm0
vmovups xmmword [rax + 0x18], xmm6
lea rdx, [rax + 0x18]
mov rax, rdx
cmp rdx, rcx
jne 0x1400cd43a
jmp 0x1400cd5bd
mov rsi, qword [r14]
lea r13, [r13 + r13*2]
mov rcx, qword [rsi + r13*8]
mov rdx, rsi
test rcx, rcx
je 0x1400cd481
add rcx, 0xfffffffffffffff0
call fcn.140009440
mov rdx, qword [r14]
lea rax, [rsi + r13*8]
mov r8, qword [rsp + 0x28]
mov rcx, qword [r8 + 0x40]
dec rcx
mov qword [r8 + 0x40], rcx
lea rcx, [rcx + rcx*2]
lea rcx, [rdx + rcx*8]
cmp rcx, rax
je 0x1400cd4c4
mov rdx, qword [rax + 0x18]
mov qword [rax], rdx
vmovups xmm0, xmmword [rax + 0x20]
vmovups xmmword [rax + 8], xmm0
vmovups xmmword [rax + 0x18], xmm6
lea rdx, [rax + 0x18]
mov rax, rdx
cmp rdx, rcx
jne 0x1400cd4a2
mov r13, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
cmp rbp, 4
jb 0x1400cd588
mov rax, rbp
dec rbp
lea rcx, [rbp + rbp*2]
vmovsd xmm1, qword [r13 + rcx*4]
vmovss xmm0, dword [r13 + rcx*4 + 8]
mov rcx, r13
xor edx, edx
vmovaps xmm2, xmm1
vmovaps xmm1, xmm0
vmovss xmm0, dword [rcx + 8]
vsubss xmm3, xmm1, xmm0
vmovsd xmm1, qword [rcx]
vsubps xmm2, xmm2, xmm1
vmulps xmm2, xmm2, xmm2
vmulss xmm3, xmm3, xmm3
vmovshdup xmm4, xmm2
vaddss xmm3, xmm4, xmm3
vaddss xmm2, xmm2, xmm3
vucomiss xmm7, xmm2
jae 0x1400cd53d
inc rdx
add rcx, 0xc
cmp rax, rdx
jne 0x1400cd4fc
jmp 0x1400cd58b
cmp rbp, rdx
je 0x1400cd577
lea r9, [rcx + 0xc]
lea rax, [rax + rax*2]
lea rax, [rax*4]
add rax, r13
sub rax, rcx
add rax, 0xffffffffffffffe8
mul r15
shr rdx, 3
lea rax, [rdx + rdx*2]
lea r8, [rax*4 + 0xc]
mov rdx, r9
call fcn.1400225d0
mov eax, 3
cmp rbp, 3
ja 0x1400cd4de
jmp 0x1400cd58b
mov rax, rbp
mov rcx, qword [r14]
mov rdx, qword [rcx + r12*8]
mov qword [rcx + r12*8], r13
mov qword [rsp + 0xd0], rdx
mov rdx, qword [rcx + r12*8 + 8]
mov qword [rcx + r12*8 + 8], rax
mov qword [rsp + 0xd8], rdx
mov rax, qword [rsp + 0xe0]
mov qword [rcx + r12*8 + 0x10], rax
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x1400cd5d3
add rcx, 0xfffffffffffffff0
call fcn.140009440
mov rax, qword [rsp + 0x28]
mov r13, qword [rax + 0x40]
mov eax, 0
test r13, r13
jne 0x1400cd304
jmp 0x1400ccec9
mov rax, qword [rsp + 0x28]
add rax, 0x20
xor r12d, r12d
xor esi, esi
mov rcx, rsi
mov rax, qword [rax]
mov rsi, rdx
jmp 0x1400cd1e9