Function at 0x140039460
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4e8]
sub rsp, 0x5c0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
mov rax, qword [0x140168fc0]
xor rax, rsp
mov qword [rbp + 0x428], rax
mov r13, rcx
xor r15d, r15d
test r8b, r8b
je 0x1400394ff
add rcx, 0x1b8
call fcn.14002eba0
mov dword [rsp + 0x28], r15d
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x30]
lea rcx, [r13 + 0x1b8]
call fcn.140021bd0
lea rbx, [r13 + 0x88]
mov rdx, qword [r13 + 0x50]
mov rcx, rbx
call fcn.14001ce60
lea rdi, [r13 + 0x98]
mov rdx, qword [r13 + 0x50]
mov rcx, rdi
call fcn.140011180
mov r11d, r15d
mov dword [rsp + 0x20], r15d
xorps xmm14, xmm14
cmp qword [r13 + 0x50], r11
jle 0x140039729
mov rsi, r15
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
mov r8, qword [r13 + 0x58]
mov rax, qword [r13 + 0x48]
lea r10, [rax + rcx*4]
mov r9, qword [r13 + 0x50]
mov edx, dword [r10]
mov dword [rsp + 0x40], edx
cmp r8, 1
jle 0x14003959a
lea r9, [r9*4]
lea rcx, [r10 + r9]
dec r8
nop dword [rax]
lea rax, [rsp + 0x40]
cmp dword [rcx], edx
cmovl rax, rcx
mov edx, dword [rax]
mov dword [rsp + 0x40], edx
add rcx, r9
sub r8, 1
jne 0x140039580
mov rax, qword [rbx]
test edx, edx
mov ecx, r15d
jns 0x1400395a9
mov ecx, 1
mov dword [rax + rsi*4], ecx
mov r8, qword [r13 + 0x48]
movsxd rax, dword [r8 + rsi*4]
mov r9, qword [r13 + 0x10]
mov rdx, qword [r13]
lea r12, [rdx + rax*8]
mov rcx, qword [r13 + 0x50]
add rcx, rsi
movsxd rax, dword [r8 + rcx*4]
lea rcx, [rdx + rax*8]
mov qword [rsp + 0x50], rcx
test r9, r9
jne 0x1400395e2
movaps xmm2, xmm14
jmp 0x1400396fe
mov r8, qword [r13 + 8]
movsd xmm2, qword [r12]
subsd xmm2, qword [rcx]
mulsd xmm2, xmm2
mov r14d, 1
cmp r9, r14
jle 0x1400396fe
cmp r9, 4
jle 0x1400396c6
mov rdi, r8
shl rdi, 5
lea rax, [r8 + r8*2]
shl rax, 3
add rcx, rax
lea rdx, [rax + r12]
mov r11, r8
neg r11
mov rbx, r8
neg rbx
add rbx, rbx
lea r10, [r9 - 5]
shr r10, 2
inc r10
lea r14, [r10*4 + 1]
nop word [rax + rax]
movsd xmm0, qword [rdx + rbx*8]
subsd xmm0, qword [rcx + rbx*8]
mulsd xmm0, xmm0
addsd xmm2, xmm0
movsd xmm1, qword [rdx + r11*8]
subsd xmm1, qword [rcx + r11*8]
mulsd xmm1, xmm1
addsd xmm2, xmm1
movsd xmm0, qword [rdx]
subsd xmm0, qword [rcx]
mulsd xmm0, xmm0
addsd xmm2, xmm0
lea rax, [r8*8]
movsd xmm0, qword [rdx + rax]
subsd xmm0, qword [rcx + rax]
mulsd xmm0, xmm0
addsd xmm2, xmm0
add rdx, rdi
add rcx, rdi
sub r10, 1
jne 0x140039650
mov rcx, qword [rsp + 0x50]
mov r11d, dword [rsp + 0x20]
lea rbx, [r13 + 0x88]
lea rdi, [r13 + 0x98]
jmp 0x1400396ce
lea rax, [r8*8]
cmp r14, r9
jge 0x1400396fe
imul r8, r14
lea rcx, [rcx + r8*8]
lea rdx, [r12 + r8*8]
sub r9, r14
movsd xmm0, qword [rdx]
subsd xmm0, qword [rcx]
mulsd xmm0, xmm0
addsd xmm2, xmm0
add rcx, rax
add rdx, rax
sub r9, 1
jne 0x1400396e2
xorps xmm1, xmm1
movsd xmm1, xmm2
sqrtpd xmm0, xmm1
mov rax, qword [rdi]
movsd qword [rax + rsi*8], xmm0
inc r11d
mov dword [rsp + 0x20], r11d
inc rsi
movsxd rcx, r11d
cmp rcx, qword [r13 + 0x50]
jl 0x140039550
lea rcx, [r13 + 0x100]
mov r8, qword [r13 + 0x38]
test r8, r8
je 0x14003974c
movabs rax, 0x2aaaaaaaaaaaaaaa
cmp r8, rax
jg 0x14003af30
lea rdx, [r8 + r8*2]
mov r9d, 3
call fcn.140011100
lea rcx, [r13 + 0xf0]
mov rdx, qword [r13 + 0x38]
call fcn.140011180
mov qword [r13 + 0x118], r15
lea rcx, [r13 + 0x120]
mov rdx, qword [r13 + 0x38]
call fcn.140011180
lea rcx, [r13 + 0x140]
mov rdx, qword [r13 + 0x38]
call fcn.140011180
lea rcx, [r13 + 0x150]
mov rdx, qword [r13 + 0x38]
call fcn.140011180
lea rcx, [r13 + 0x130]
mov rdx, qword [r13 + 0x38]
call fcn.140011180
lea rcx, [r13 + 0x160]
mov rdx, qword [r13 + 0x38]
call fcn.140011180
lea rcx, [r13 + 0x170]
mov rdx, qword [r13 + 0x38]
call fcn.140011180
lea rcx, [r13 + 0x180]
mov rdx, qword [r13 + 0x38]
call fcn.140011180
xorps xmm0, xmm0
movups xmmword [rbp + 0x380], xmm0
movsd qword [rbp + 0x390], xmm14
mov rbx, qword [r13 + 8]
movdqu xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
test rbx, rbx
je 0x140039845
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.1400379b0
mov rax, qword [rbp - 0x28]
nop word [rax + rax]
movups xmm0, xmmword [rbp + 0x380]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp + 0x390]
movsd qword [rax + 0x10], xmm1
add rax, 0x18
sub rbx, 1
jne 0x140039820
mov qword [rbp - 0x20], rax
xor r14b, r14b
mov esi, r15d
cmp qword [r13 + 0x38], rsi
jle 0x140039e8d
mov rdi, r15
mov rbx, r15
lea r12, [rbp + 0x350]
movsd xmm11, qword [0x1401111e8]
movsd xmm10, qword [0x140111500]
movsd xmm12, qword [0x140111200]
movsd xmm13, qword [0x1401114f8]
nop word [rax + rax]
mov rax, qword [r13 + 0x30]
lea rdx, [rax + rdi*4]
mov rax, qword [r13 + 0x38]
movsxd rcx, dword [rdx]
mov dword [rbp + 0x2f8], ecx
movsxd r8, dword [rdx + rax*4]
mov dword [rbp + 0x2fc], r8d
movsxd r10, dword [rdx + rax*8]
mov dword [rbp + 0x300], r10d
mov r9, qword [r13]
lea rcx, [r9 + rcx*8]
mov r11, qword [r13 + 8]
movsd xmm5, qword [rcx]
movsd qword [rbp + 0x3b0], xmm5
lea rdx, [r11*8]
movsd xmm4, qword [rdx + rcx]
movsd qword [rbp + 0x3b8], xmm4
add r11, r11
movsd xmm7, qword [rcx + r11*8]
movsd qword [rbp + 0x3c0], xmm7
lea rcx, [r9 + r8*8]
movsd xmm1, qword [rcx]
movsd qword [rbp + 0x398], xmm1
movsd xmm0, qword [rcx + rdx]
movsd qword [rbp + 0x3a0], xmm0
movsd xmm9, qword [rcx + r11*8]
movsd qword [rbp + 0x3a8], xmm9
lea rcx, [r9 + r10*8]
movsd xmm3, qword [rcx]
movsd qword [rbp + 0x3c8], xmm3
movsd xmm2, qword [rdx + rcx]
movsd qword [rbp + 0x3d0], xmm2
movsd xmm8, qword [rcx + r11*8]
movsd qword [rbp + 0x3d8], xmm8
movaps xmm6, xmm1
unpcklpd xmm6, xmm0
movups xmmword [rbp + 0x398], xmm6
movaps xmm0, xmm5
unpcklpd xmm0, xmm4
movups xmmword [rbp + 0x3b0], xmm0
subpd xmm6, xmm0
movups xmmword [rbp + 0x338], xmm6
subsd xmm9, xmm7
movsd qword [rbp + 0x348], xmm9
movaps xmm4, xmm3
unpcklpd xmm4, xmm2
movups xmmword [rbp + 0x3c8], xmm4
subpd xmm4, xmm0
movups xmmword [rbp + 0x320], xmm4
subsd xmm8, xmm7
movsd qword [rbp + 0x330], xmm8
movaps xmm2, xmm4
unpckhpd xmm2, xmm4
movaps xmm5, xmm2
mulsd xmm5, xmm6
movaps xmm0, xmm4
movaps xmm1, xmm6
unpckhpd xmm1, xmm6
mulsd xmm0, xmm1
subsd xmm5, xmm0
mulsd xmm4, xmm9
mulsd xmm6, xmm8
subsd xmm4, xmm6
mulsd xmm1, xmm8
mulsd xmm2, xmm9
subsd xmm1, xmm2
movsd qword [rbp + 0x420], xmm5
movaps xmm3, xmm1
unpcklpd xmm3, xmm4
movups xmmword [rbp + 0x410], xmm3
movups xmmword [rbp + 0x2e0], xmm3
movsd qword [rbp + 0x2f0], xmm5
movaps xmm1, xmm3
mulpd xmm1, xmm3
movaps xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm1, xmm0
movaps xmm0, xmm5
mulsd xmm0, xmm5
addsd xmm1, xmm0
comisd xmm1, xmm14
jbe 0x140039a66
movaps xmm0, xmm1
xorps xmm1, xmm1
movsd xmm1, xmm0
sqrtpd xmm2, xmm1
movaps xmm0, xmm2
unpcklpd xmm0, xmm0
movaps xmm1, xmm3
divpd xmm1, xmm0
movups xmmword [rbp + 0x350], xmm1
movaps xmm0, xmm5
divsd xmm0, xmm2
movsd qword [rbp + 0x360], xmm0
jmp 0x140039a7d
movups xmmword [rbp + 0x350], xmm3
movsd xmm0, qword [rbp + 0x2f0]
movsd qword [rbp + 0x360], xmm0
mov r11, qword [r13 + 0x110]
mov rax, qword [r13 + 0x100]
lea r8, [rax + rdi*8]
mov r9, qword [r13 + 0x108]
mov rdx, r15
cmp r11, 4
jl 0x140039b00
lea rdi, [r11 - 3]
mov r10d, 2
nop dword [rax]
mov rcx, r9
imul rcx, rdx
mov rax, qword [r12 + rdx*8]
mov qword [r8 + rcx*8], rax
lea rcx, [r10 - 1]
imul rcx, r9
mov rax, qword [r12 + rdx*8 + 8]
mov qword [r8 + rcx*8], rax
mov rcx, r10
imul rcx, r9
mov rax, qword [r12 + rdx*8 + 0x10]
mov qword [r8 + rcx*8], rax
lea rcx, [r10 + 1]
imul rcx, r9
mov rax, qword [r12 + rdx*8 + 0x18]
mov qword [r8 + rcx*8], rax
add rdx, 4
add r10, 4
cmp rdx, rdi
jl 0x140039ab0
jmp 0x140039b17
test r11, r11
jle 0x140039b2b
mov rcx, r9
imul rcx, rdx
mov rax, qword [r12 + rdx*8]
mov qword [r8 + rcx*8], rax
inc rdx
cmp rdx, r11
jl 0x140039b05
movups xmm3, xmmword [rbp + 0x2e0]
movsd xmm5, qword [rbp + 0x2f0]
mulpd xmm3, xmm3
movaps xmm0, xmm3
unpckhpd xmm0, xmm3
addsd xmm3, xmm0
mulsd xmm5, xmm5
addsd xmm5, xmm3
xorps xmm1, xmm1
movsd xmm1, xmm5
sqrtpd xmm0, xmm1
mulsd xmm0, xmm11
mov rax, qword [r13 + 0xf0]
movsd qword [rax + rbx], xmm0
mov rax, qword [r13 + 0xf0]
movsd xmm1, qword [rax + rbx]
ucomisd xmm1, xmm14
jp 0x140039b76
jne 0x140039b76
mov r14b, 1
movsd xmm0, qword [r13 + 0x80]
comisd xmm0, xmm1
jbe 0x140039c61
movsd qword [rax + rbx], xmm0
movsd xmm1, qword [r13 + 0x80]
movaps xmm0, xmm1
addsd xmm0, qword [r13 + 0x118]
movsd qword [r13 + 0x118], xmm0
mulsd xmm1, xmm1
mov rax, qword [r13 + 0x120]
movsd qword [rax + rbx], xmm1
xorps xmm0, xmm0
ucomisd xmm0, xmm10
ja 0x140039bd0
xorps xmm2, xmm2
sqrtsd xmm2, xmm10
jmp 0x140039bdc
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm2, xmm0
movaps xmm1, xmm12
divsd xmm1, xmm2
mulsd xmm1, qword [r13 + 0x80]
mov rax, qword [r13 + 0x150]
movsd qword [rax + rbx], xmm1
mov rax, qword [r13 + 0x140]
movsd qword [rax + rbx], xmm1
mov rax, qword [r13 + 0x140]
movsd xmm0, qword [rax + rbx]
mulsd xmm0, xmm11
mov rax, qword [r13 + 0x130]
movsd qword [rax + rbx], xmm0
movaps xmm1, xmm13
divsd xmm1, xmm2
divsd xmm1, qword [r13 + 0x80]
mov rax, qword [r13 + 0x170]
movsd qword [rax + rbx], xmm1
mov rax, qword [r13 + 0x160]
movsd qword [rax + rbx], xmm1
mov rax, qword [r13 + 0x160]
movsd xmm0, qword [rax + rbx]
mulsd xmm0, xmm11
jmp 0x140039d98
addsd xmm1, qword [r13 + 0x118]
movsd qword [r13 + 0x118], xmm1
movsd xmm0, qword [rax + rbx]
mulsd xmm0, xmm0
mov rax, qword [r13 + 0x120]
movsd qword [rax + rbx], xmm0
movups xmm2, xmmword [rbp + 0x338]
mulpd xmm2, xmm2
movaps xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm2, xmm0
movsd xmm1, qword [rbp + 0x348]
mulsd xmm1, xmm1
addsd xmm1, xmm2
mov rax, qword [r13 + 0x140]
movsd qword [rbx + rax], xmm1
movups xmm2, xmmword [rbp + 0x320]
mulpd xmm2, xmm2
movaps xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm2, xmm0
movsd xmm1, qword [rbp + 0x330]
mulsd xmm1, xmm1
addsd xmm2, xmm1
mov rax, qword [r13 + 0x150]
movsd qword [rax + rbx], xmm2
movups xmm2, xmmword [rbp + 0x320]
movups xmm0, xmmword [rbp + 0x338]
mulpd xmm2, xmm0
movaps xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm2, xmm0
movsd xmm1, qword [rbp + 0x330]
mulsd xmm1, qword [rbp + 0x348]
addsd xmm1, xmm2
mov rax, qword [r13 + 0x130]
movsd qword [rax + rbx], xmm1
mov rcx, qword [r13 + 0x120]
mov rax, qword [r13 + 0x140]
movsd xmm0, qword [rax + rbx]
mulsd xmm0, xmm11
divsd xmm0, qword [rcx + rbx]
mov rax, qword [r13 + 0x160]
movsd qword [rax + rbx], xmm0
mov rcx, qword [r13 + 0x120]
mov rax, qword [r13 + 0x150]
movsd xmm0, qword [rax + rbx]
mulsd xmm0, xmm11
divsd xmm0, qword [rcx + rbx]
mov rax, qword [r13 + 0x170]
movsd qword [rax + rbx], xmm0
mov rcx, qword [r13 + 0x120]
mov rax, qword [r13 + 0x130]
movsd xmm0, qword [rax + rbx]
mulsd xmm0, xmm11
divsd xmm0, qword [rcx + rbx]
mov rax, qword [r13 + 0x180]
movsd qword [rax + rbx], xmm0
movsxd rax, dword [rbp + 0x2f8]
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x28]
lea rax, [rax + rcx*8]
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rbp + 0x2e0]
addpd xmm1, xmm0
movups xmmword [rax], xmm1
movsd xmm0, qword [rbp + 0x2f0]
addsd xmm0, qword [rax + 0x10]
movsd qword [rax + 0x10], xmm0
movsxd rax, dword [rbp + 0x2fc]
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x28]
lea rax, [rax + rcx*8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rbp + 0x2e0]
addpd xmm1, xmm0
movups xmmword [rax], xmm1
movsd xmm0, qword [rbp + 0x2f0]
addsd xmm0, qword [rax + 0x10]
movsd qword [rax + 0x10], xmm0
movsxd rax, dword [rbp + 0x300]
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x28]
lea rax, [rax + rcx*8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rbp + 0x2e0]
addpd xmm1, xmm0
movups xmmword [rax], xmm1
movsd xmm0, qword [rbp + 0x2f0]
addsd xmm0, qword [rax + 0x10]
movsd qword [rax + 0x10], xmm0
inc esi
add rbx, 8
movsxd rdi, esi
cmp rdi, qword [r13 + 0x38]
jl 0x140039890
test r14b, r14b
je 0x140039e8d
lea rdx, str.please_clean_up_the_mesh_and_retry.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400312d0
lea rdx, [0x140033160]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0xffffffff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, [r13 + 0x30]
mov rcx, r13
call fcn.1400a08b0
movsd qword [r13 + 0x190], xmm0
movsd xmm1, qword [r13 + 0x118]
divsd xmm1, qword [0x140111708]
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x140039ec2
sqrtpd xmm0, xmm1
jmp 0x140039eca
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movsd qword [r13 + 0x198], xmm0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x28]
cmp rax, rcx
je 0x140039f30
movups xmm3, xmmword [rax]
movaps xmm1, xmm3
mulpd xmm1, xmm3
movaps xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm1, xmm0
movsd xmm4, qword [rax + 0x10]
movaps xmm0, xmm4
mulsd xmm0, xmm4
addsd xmm0, xmm1
comisd xmm0, xmm14
jbe 0x140039f27
sqrtpd xmm2, xmm0
movaps xmm0, xmm2
unpcklpd xmm0, xmm0
divpd xmm3, xmm0
movups xmmword [rax], xmm3
divsd xmm4, xmm2
movsd qword [rax + 0x10], xmm4
add rax, 0x18
cmp rax, rcx
jne 0x140039ee0
mov rcx, r13
call fcn.14003af40
lea rbx, [r13 + 0x1d0]
movdqa xmm0, xmmword [0x140111760]
movdqu xmmword [rbp + 0x198], xmm0
mov rsi, qword [r13]
mov r14, qword [r13 + 8]
mov r9, r15
mov r11, rbx
mov rdi, qword [rbp + 0x1a0]
mov r10, qword [rbp + 0x198]
nop dword [rax + rax]
mov rdx, r15
mov rcx, r11
lea r8, [r14 - 2]
imul r8, r9
shl r8, 3
sub r8, rbx
add r8, rsi
nop dword [rax + rax]
mov rax, qword [r8 + rcx]
mov qword [rcx], rax
inc rdx
lea rcx, [rcx + 8]
cmp rdx, r10
jl 0x140039f90
inc r9
add r11, 0x10
cmp r9, rdi
jl 0x140039f70
movdqa xmm0, xmmword [0x140111760]
movdqu xmmword [rbp + 0x1d0], xmm0
mov rsi, qword [r13]
mov r14, qword [r13 + 8]
lea rbx, [r13 + 0x1d8]
mov r9, r15
mov r11, rbx
mov rdi, qword [rbp + 0x1d8]
mov r10, qword [rbp + 0x1d0]
mov rdx, r15
mov rcx, r11
lea r8, [r14 - 2]
imul r8, r9
shl r8, 3
sub r8, rbx
add r8, rsi
nop word [rax + rax]
mov rax, qword [r8 + rcx]
mov qword [rcx], rax
inc rdx
lea rcx, [rcx + 8]
cmp rdx, r10
jl 0x14003a000
inc r9
add r11, 0x10
cmp r9, rdi
jl 0x140039fe2
mov r8d, 1
mov rdx, qword [r13 + 8]
cmp rdx, r8
jle 0x14003a133
mov ecx, r8d
nop word [rax + rax]
mov rax, qword [r13]
lea rcx, [rax + rcx*8]
movsd xmm4, qword [rcx]
movaps xmm2, xmm4
movsd qword [rbp + 0x308], xmm4
movsd xmm3, qword [rcx + rdx*8]
movsd qword [rbp + 0x310], xmm3
add rdx, rdx
movsd xmm0, qword [rcx + rdx*8]
movsd qword [rbp + 0x318], xmm0
movsd xmm1, qword [r13 + 0x1d0]
comisd xmm1, xmm4
jbe 0x14003a094
movsd qword [r13 + 0x1d0], xmm4
movsd xmm2, qword [rbp + 0x308]
comisd xmm4, xmmword [r13 + 0x1d8]
jbe 0x14003a0a8
movsd qword [r13 + 0x1d8], xmm2
movsd xmm0, qword [r13 + 0x1e0]
comisd xmm0, xmm3
jbe 0x14003a0c8
movsd xmm0, qword [rbp + 0x310]
movsd qword [r13 + 0x1e0], xmm0
comisd xmm3, xmmword [r13 + 0x1e8]
jbe 0x14003a0e4
movsd xmm0, qword [rbp + 0x310]
movsd qword [r13 + 0x1e8], xmm0
movsd xmm0, qword [r13 + 0x1f0]
movsd xmm1, qword [rbp + 0x318]
comisd xmm0, xmm1
jbe 0x14003a104
movsd qword [r13 + 0x1f0], xmm1
movsd xmm1, qword [rbp + 0x318]
comisd xmm1, xmmword [r13 + 0x1f8]
jbe 0x14003a120
movsd qword [r13 + 0x1f8], xmm1
inc r8d
mov rdx, qword [r13 + 8]
movsxd rcx, r8d
cmp rcx, rdx
jl 0x14003a040
lea r14, [r13 + 0x210]
mov rcx, r14
call fcn.14001caa0
xor edx, edx
lea rcx, [r13 + 0x220]
call fcn.140048620
mov rdx, qword [r13 + 8]
lea rcx, [r13 + 0x220]
call fcn.140048620
mov dword [rsp + 0x24], r15d
cmp qword [r13 + 0x38], 0
jle 0x14003a466
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r13 + 0x30]
lea rdx, [rax + rcx*4]
mov rcx, qword [r13 + 0x38]
mov eax, dword [rdx]
mov dword [rbp + 0x2c0], eax
mov eax, dword [rdx + rcx*4]
mov dword [rbp + 0x2c4], eax
mov eax, dword [rdx + rcx*8]
mov dword [rbp + 0x2c8], eax
mov qword [rsp + 0x50], r15
mov ecx, 1
mov dword [rsp + 0x20], ecx
lea rsi, [rbp + 0x2c0]
nop dword [rax + rax]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov r12d, ecx
sub r12d, eax
movsxd rax, r12d
mov ebx, dword [rsi]
mov dword [rbp - 0x10], ebx
mov edi, dword [rbp + rax*4 + 0x2c0]
mov dword [rbp - 0xc], edi
lea r8, [rbp - 0x10]
lea rdx, [rbp - 8]
mov rcx, r14
call fcn.1400324e0
mov rax, qword [rbp + 8]
cmp byte [rax + 0x19], 0
jne 0x14003a217
cmp ebx, dword [rax + 0x1c]
jl 0x14003a217
jg 0x14003a298
cmp edi, dword [rax + 0x20]
jge 0x14003a298
movabs rax, 0x666666666666666
cmp qword [r14 + 8], rax
je 0x14003af2a
mov rbx, qword [r14]
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r15
mov edx, 1
mov rcx, r14
call fcn.14001c4e0
mov qword [rbp - 0x70], rax
mov rcx, qword [rbp - 0x10]
mov qword [rax + 0x1c], rcx
mov dword [rax + 0x24], r15d
mov rax, qword [rbp - 0x70]
mov qword [rax], rbx
mov rax, qword [rbp - 0x70]
mov qword [rax + 8], rbx
mov rax, qword [rbp - 0x70]
mov qword [rax + 0x10], rbx
mov rax, qword [rbp - 0x70]
mov byte [rax + 0x18], 0
mov rax, qword [rbp - 0x70]
mov byte [rax + 0x19], 0
mov r8, qword [rbp - 0x70]
mov qword [rbp - 0x70], r15
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.14001c120
mov ecx, dword [rsp + 0x24]
mov dword [rax + 0x24], ecx
movsxd rdi, dword [rsi]
shl rdi, 4
add rdi, qword [r13 + 0x220]
movsxd rax, r12d
lea rbx, [rbp + 0x2c0]
lea rbx, [rbx + rax*4]
mov qword [rsp + 0x30], rbx
mov r8, rbx
lea rdx, [rbp + 0x200]
mov rcx, rdi
call fcn.140029850
movups xmm6, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x78], xmm0
mov rax, qword [rbp + 0x78]
cmp byte [rax + 0x19], 0
jne 0x14003a2f0
mov eax, dword [rax + 0x1c]
cmp dword [rbx], eax
jge 0x14003a36b
movabs rax, 0x7ffffffffffffff
cmp qword [rdi + 8], rax
je 0x14003af2a
mov rbx, qword [rdi]
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], r15
mov edx, 1
mov rcx, rdi
call fcn.14002d920
mov qword [rbp - 0x60], rax
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
mov dword [rax + 0x1c], ecx
mov rax, qword [rbp - 0x60]
mov qword [rax], rbx
mov rax, qword [rbp - 0x60]
mov qword [rax + 8], rbx
mov rax, qword [rbp - 0x60]
mov qword [rax + 0x10], rbx
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x18], 0
mov rax, qword [rbp - 0x60]
mov byte [rax + 0x19], 0
mov r8, qword [rbp - 0x60]
mov qword [rbp - 0x60], r15
movaps xmmword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.14001c120
movsxd rax, r12d
movsxd rdi, dword [rbp + rax*4 + 0x2c0]
shl rdi, 4
add rdi, qword [r13 + 0x220]
mov r8, rsi
lea rdx, [rbp + 0x150]
mov rcx, rdi
call fcn.140029850
movups xmm6, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp + 0x40], xmm0
mov rax, qword [rbp + 0x40]
cmp byte [rax + 0x19], 0
jne 0x14003a3b1
mov eax, dword [rax + 0x1c]
cmp dword [rsi], eax
jge 0x14003a427
movabs rax, 0x7ffffffffffffff
cmp qword [rdi + 8], rax
je 0x14003af2a
mov rbx, qword [rdi]
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], r15
mov edx, 1
mov rcx, rdi
call fcn.14002d920
mov qword [rbp - 0x50], rax
mov ecx, dword [rsi]
mov dword [rax + 0x1c], ecx
mov rax, qword [rbp - 0x50]
mov qword [rax], rbx
mov rax, qword [rbp - 0x50]
mov qword [rax + 8], rbx
mov rax, qword [rbp - 0x50]
mov qword [rax + 0x10], rbx
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x18], 0
mov rax, qword [rbp - 0x50]
mov byte [rax + 0x19], 0
mov r8, qword [rbp - 0x50]
mov qword [rbp - 0x50], r15
movaps xmmword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.14001c120
mov ecx, dword [rsp + 0x20]
inc ecx
mov dword [rsp + 0x20], ecx
mov rdi, qword [rsp + 0x50]
inc rdi
mov qword [rsp + 0x50], rdi
add rsi, 4
cmp rdi, 3
jl 0x14003a1c0
mov r8d, dword [rsp + 0x24]
inc r8d
mov dword [rsp + 0x24], r8d
movsxd rcx, r8d
cmp rcx, qword [r13 + 0x38]
jl 0x14003a180
lea rcx, [r13 + 0x238]
call fcn.14001caa0
mov ebx, r15d
cmp qword [r13 + 0x50], rbx
jle 0x14003a52c
mov rcx, r15
mov rax, qword [r13 + 0x48]
lea rdx, [rax + rcx*4]
mov rcx, qword [r13 + 0x50]
mov eax, dword [rdx]
mov dword [rbp + 0x2d0], eax
mov eax, dword [rdx + rcx*4]
mov dword [rbp + 0x2d4], eax
mov eax, dword [rdx + rcx*8]
mov dword [rbp + 0x2d8], eax
lea rax, [rcx + rcx*2]
mov eax, dword [rdx + rax*4]
mov dword [rbp + 0x2dc], eax
movdqa xmm0, xmmword [rbp + 0x2d0]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140033790
test eax, eax
js 0x14003a51d
mov eax, dword [rbp + 0x2d0]
mov dword [rbp + 0x10], eax
mov eax, dword [rbp + 0x2d4]
mov dword [rbp + 0x14], eax
lea rdx, [rbp + 0x10]
lea rcx, [r13 + 0x238]
call fcn.1400370f0
mov dword [rax], ebx
mov eax, dword [rbp + 0x2dc]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x2d8]
mov dword [rbp + 0x1c], eax
lea rdx, [rbp + 0x18]
lea rcx, [r13 + 0x238]
call fcn.1400370f0
mov ecx, ebx
not ecx
mov dword [rax], ecx
inc ebx
movsxd rcx, ebx
cmp rcx, qword [r13 + 0x50]
jl 0x14003a482
lea rsi, [r13 + 0x1a0]
mov rbx, qword [r13 + 8]
mov r9, qword [rsi + 8]
mov r8, qword [rsi]
mov rcx, r9
sub rcx, r8
sar rcx, 4
cmp rbx, rcx
jae 0x14003a568
shl rbx, 4
add rbx, r8
mov r8, rsi
mov rdx, r9
mov rcx, rbx
call fcn.140015ff0
mov qword [rsi + 8], rbx
jmp 0x14003a5a1
jbe 0x14003a5a1
mov rax, qword [rsi + 0x10]
sub rax, r8
sar rax, 4
cmp rbx, rax
jbe 0x14003a58c
lea r8, [rsp + 0x2c]
mov rdx, rbx
mov rcx, rsi
call fcn.140016110
jmp 0x14003a5a1
sub rbx, rcx
mov r8, rsi
mov rdx, rbx
mov rcx, r9
call fcn.140016330
mov qword [rsi + 8], rax
mov r12d, r15d
mov dword [rsp + 0x20], r15d
cmp qword [r13 + 8], r12
jle 0x14003ab56
mov rcx, r15
mov qword [rsp + 0x30], rcx
mov ebx, dword [rbp + 0x404]
mov edi, dword [rbp + 0x15c]
nop word [rax + rax]
mov r14, qword [rsi]
add r14, rcx
mov rsi, qword [r14]
mov r8, qword [rsi + 8]
mov rdx, r14
mov rcx, r14
call fcn.1400160b0
mov qword [rsi + 8], rsi
mov qword [rsi], rsi
mov qword [rsi + 0x10], rsi
mov qword [r14 + 8], r15
mov edx, r12d
mov rcx, r13
call fcn.140044070
test al, al
jne 0x14003ab2b
mov rax, qword [r13 + 0x220]
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx + rax]
mov r8, rdx
mov rdx, qword [rdx]
lea r9, [rsp + 0x2d]
lea rcx, [rsp + 0x60]
call fcn.1400311e0
nop
mov rsi, qword [rsp + 0x68]
mov r14, rsi
mov r11, qword [rsp + 0x60]
sub r14, r11
sar r14, 2
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r15
test r14, r14
je 0x14003a67b
mov rdx, r14
lea rcx, [rbp + 0x50]
call fcn.1400379b0
mov rcx, qword [rbp + 0x50]
lea rax, [r14 + r14*2]
lea rcx, [rcx + rax*8]
mov qword [rbp + 0x58], rcx
mov rsi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov r10d, r15d
mov rax, rsi
sub rax, r11
sar rax, 2
test rax, rax
je 0x14003a7de
movsxd rbx, r12d
lea r12, [rbx + rbx*2]
mov r9, r15
mov r14, r15
nop
movsxd rax, dword [r14 + r11]
mov rcx, qword [r13]
lea r8, [rcx + rax*8]
lea rdx, [rcx + rbx*8]
mov rax, qword [r13 + 8]
movsd xmm2, qword [r8]
subsd xmm2, qword [rdx]
movsd qword [rbp + 0x3e0], xmm2
movsd xmm0, qword [r8 + rax*8]
subsd xmm0, qword [rdx + rax*8]
movsd qword [rbp + 0x3e8], xmm0
add rax, rax
movsd xmm5, qword [r8 + rax*8]
subsd xmm5, qword [rdx + rax*8]
movsd qword [rbp + 0x3f0], xmm5
mov rax, qword [rbp - 0x28]
movups xmm3, xmmword [rax + r12*8]
movaps xmm1, xmm3
movaps xmm4, xmm2
unpcklpd xmm4, xmm0
movups xmmword [rbp + 0x3e0], xmm4
mulpd xmm1, xmm4
movaps xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm1, xmm0
movaps xmm2, xmm5
mulsd xmm2, qword [rax + r12*8 + 0x10]
addsd xmm2, xmm1
movaps xmm0, xmm2
unpcklpd xmm0, xmm0
mulpd xmm0, xmm3
subpd xmm4, xmm0
movups xmmword [rbp + 0x3f8], xmm4
mulsd xmm2, qword [rax + r12*8 + 0x10]
subsd xmm5, xmm2
movsd qword [rbp + 0x408], xmm5
movaps xmm1, xmm4
mulpd xmm1, xmm4
movaps xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm1, xmm0
movaps xmm2, xmm5
mulsd xmm2, xmm5
addsd xmm2, xmm1
comisd xmm2, xmm14
jbe 0x14003a788
movaps xmm0, xmm2
sqrtpd xmm2, xmm0
movaps xmm0, xmm2
unpcklpd xmm0, xmm0
divpd xmm4, xmm0
divsd xmm5, xmm2
movsd qword [rbp + 0x378], xmm5
movups xmmword [rbp + 0x368], xmm4
lea rcx, [r9 + r9*2]
mov rax, qword [rbp + 0x50]
movups xmmword [rax + rcx*8], xmm4
movsd xmm0, qword [rbp + 0x378]
movsd qword [rax + rcx*8 + 0x10], xmm0
inc r10d
add r14, 4
mov rsi, qword [rsp + 0x68]
mov rax, rsi
mov r11, qword [rsp + 0x60]
sub rax, r11
sar rax, 2
movsxd r9, r10d
cmp r9, rax
jb 0x14003a6a0
mov ebx, dword [rbp + 0x404]
mov ecx, r15d
mov dword [rsp + 0x24], ecx
mov rax, rsi
sub rax, r11
sar rax, 2
cmp rax, 1
jbe 0x14003aaee
mov edx, 1
mov dword [rsp + 0x28], edx
mov r8, r15
mov qword [rsp + 0x48], r15
nop word [rax + rax]
mov dword [rsp + 0x44], edx
mov rax, rsi
sub rax, r11
sar rax, 2
movsxd rdx, edx
cmp rdx, rax
jae 0x14003aabb
movsxd rax, ecx
lea r9, [rax + rax*2]
mov qword [rsp + 0x50], r9
lea r12, [r8 + 4]
nop word [rax + rax]
mov rcx, qword [rbp + 0x50]
lea rax, [rdx + rdx*2]
movups xmm1, xmmword [rcx + rax*8]
movups xmm0, xmmword [rcx + r9*8]
mulpd xmm1, xmm0
movaps xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [rcx + r9*8 + 0x10]
mulsd xmm0, qword [rcx + rax*8 + 0x10]
addsd xmm1, xmm0
comisd xmm14, xmm1
jb 0x14003aa93
mov r14, qword [rsp + 0x30]
add r14, qword [r13 + 0x1a0]
mov edx, dword [r8 + r11]
mov dword [rbp + 0x20], edx
mov r10d, dword [r12 + r11]
mov dword [rbp + 0x24], r10d
mov r8, qword [r14]
mov r9, qword [r8 + 8]
mov ecx, r15d
cmp byte [r9 + 0x19], r15b
jne 0x14003a8da
mov rax, r9
nop word [rax + rax]
mov r9, rax
cmp dword [rax + 0x1c], edx
jl 0x14003a8cd
jg 0x14003a8c0
cmp dword [rax + 0x20], r10d
jl 0x14003a8cd
mov ecx, 1
mov r8, rax
mov rax, qword [rax]
jmp 0x14003a8d4
mov ecx, r15d
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14003a8b0
mov qword [rbp + 0x68], r9
mov dword [rbp + 0x70], ecx
mov dword [rbp + 0x74], edi
cmp byte [r8 + 0x19], 0
jne 0x14003a901
cmp edx, dword [r8 + 0x1c]
jl 0x14003a901
jg 0x14003a983
cmp r10d, dword [r8 + 0x20]
jge 0x14003a983
movabs rax, 0x666666666666666
cmp qword [r14 + 8], rax
je 0x14003af36
mov rsi, qword [r14]
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x40], r15
mov ecx, 0x28
call fcn.140108140
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp + 0x20]
mov qword [rax + 0x1c], rcx
mov rax, qword [rbp - 0x40]
mov qword [rax], rsi
mov rax, qword [rbp - 0x40]
mov qword [rax + 8], rsi
mov rax, qword [rbp - 0x40]
mov qword [rax + 0x10], rsi
mov rax, qword [rbp - 0x40]
mov byte [rax + 0x18], 0
mov rax, qword [rbp - 0x40]
mov byte [rax + 0x19], 0
mov r8, qword [rbp - 0x40]
mov qword [rbp - 0x40], r15
movups xmm0, xmmword [rbp + 0x68]
movaps xmmword [rbp + 0x30], xmm0
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.14001c120
mov rsi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov r14, qword [rsp + 0x30]
add r14, qword [r13 + 0x1a0]
mov edx, dword [r12 + r11]
mov dword [rbp + 0x28], edx
mov r10, qword [rsp + 0x48]
mov r10d, dword [r10 + r11]
mov dword [rbp + 0x2c], r10d
mov r8, qword [r14]
mov r9, qword [r8 + 8]
mov ecx, r15d
cmp byte [r9 + 0x19], r15b
jne 0x14003a9e0
mov rax, r9
mov r9, rax
cmp dword [rax + 0x1c], edx
jl 0x14003a9d3
jg 0x14003a9c6
cmp dword [rax + 0x20], r10d
jl 0x14003a9d3
mov ecx, 1
mov r8, rax
mov rax, qword [rax]
jmp 0x14003a9da
mov ecx, r15d
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14003a9b6
mov qword [rbp - 8], r9
mov dword [rbp], ecx
mov dword [rbp + 4], ebx
cmp byte [r8 + 0x19], 0
jne 0x14003aa07
cmp edx, dword [r8 + 0x1c]
jl 0x14003aa07
jg 0x14003aa89
cmp r10d, dword [r8 + 0x20]
jge 0x14003aa89
movabs rax, 0x666666666666666
cmp qword [r14 + 8], rax
je 0x14003af36
mov rsi, qword [r14]
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r15
mov ecx, 0x28
call fcn.140108140
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp + 0x28]
mov qword [rax + 0x1c], rcx
mov rax, qword [rbp - 0x30]
mov qword [rax], rsi
mov rax, qword [rbp - 0x30]
mov qword [rax + 8], rsi
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x10], rsi
mov rax, qword [rbp - 0x30]
mov byte [rax + 0x18], 0
mov rax, qword [rbp - 0x30]
mov byte [rax + 0x19], 0
mov r8, qword [rbp - 0x30]
mov qword [rbp - 0x30], r15
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0x30], xmm0
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.14001c120
mov rsi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x44]
inc ecx
mov dword [rsp + 0x44], ecx
add r12, 4
mov rax, rsi
sub rax, r11
sar rax, 2
movsxd rdx, ecx
cmp rdx, rax
jb 0x14003a840
mov ecx, dword [rsp + 0x24]
inc ecx
mov dword [rsp + 0x24], ecx
mov edx, dword [rsp + 0x28]
inc edx
mov dword [rsp + 0x28], edx
add r8, 4
mov qword [rsp + 0x48], r8
mov rcx, rsi
sub rcx, r11
sar rcx, 2
movsxd rax, edx
cmp rax, rcx
mov ecx, dword [rsp + 0x24]
jb 0x14003a810
lea rcx, [rbp + 0x50]
call fcn.140038250
nop
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x14003ab26
mov r8, qword [rsp + 0x70]
sub r8, rdx
sar r8, 2
lea rcx, [rsp + 0x60]
call fcn.14002ec10
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov r12d, dword [rsp + 0x20]
inc r12d
mov dword [rsp + 0x20], r12d
mov rcx, qword [rsp + 0x30]
add rcx, 0x10
mov qword [rsp + 0x30], rcx
movsxd rax, r12d
cmp rax, qword [r13 + 8]
jge 0x14003ab56
lea rsi, [r13 + 0x1a0]
jmp 0x14003a5d0
lea r12, [r13 + 0x248]
mov rcx, r12
call fcn.14002eba0
mov edi, r15d
mov dword [rsp + 0x28], r15d
cmp qword [r13 + 0x50], rdi
jle 0x14003acb1
mov rsi, r15
mov ebx, dword [rbp + 0x15c]
mov r9, qword [r13 + 0x50]
mov r14, qword [r13 + 0x48]
lea rax, [rsi + r9*2]
mov r8d, dword [r14 + rsi*4]
cmp r8d, dword [r14 + rax*4]
jne 0x14003ac6c
mov r9, qword [r12]
mov r10, qword [r9 + 8]
mov edx, r15d
cmp byte [r10 + 0x19], r15b
jne 0x14003abd1
mov rax, r10
nop
mov r10, rax
cmp dword [rax + 0x1c], r8d
jge 0x14003abbf
mov rax, qword [rax + 0x10]
jmp 0x14003abc5
mov r9, rax
mov rax, qword [rax]
mov edx, r15d
setge dl
cmp byte [rax + 0x19], 0
je 0x14003abb0
mov qword [rbp - 8], r10
mov dword [rbp], edx
mov dword [rbp + 4], ebx
cmp byte [r9 + 0x19], 0
jne 0x14003abec
cmp r8d, dword [r9 + 0x1c]
jge 0x14003ac9b
movabs rax, 0x7ffffffffffffff
cmp qword [r12 + 8], rax
je 0x14003af2a
mov rdi, qword [r12]
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r15
mov ecx, 0x20
call fcn.140108140
mov qword [rbp - 0x80], rax
mov ecx, dword [r14 + rsi*4]
mov dword [rax + 0x1c], ecx
mov rax, qword [rbp - 0x80]
mov qword [rax], rdi
mov rax, qword [rbp - 0x80]
mov qword [rax + 8], rdi
mov rax, qword [rbp - 0x80]
mov qword [rax + 0x10], rdi
mov rax, qword [rbp - 0x80]
mov byte [rax + 0x18], 0
mov rax, qword [rbp - 0x80]
mov byte [rax + 0x19], 0
mov r8, qword [rbp - 0x80]
mov qword [rbp - 0x80], r15
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0x30], xmm0
lea rdx, [rbp + 0x30]
mov rcx, r12
call fcn.14001c120
mov edi, dword [rsp + 0x28]
jmp 0x14003ac9b
lea rdx, [rsi + r9]
lea rcx, [rsi + r9*2]
add rcx, r9
mov eax, dword [r14 + rcx*4]
cmp dword [r14 + rdx*4], eax
jne 0x14003ac9b
movsxd r8, edi
add r8, r9
shl r8, 2
add r8, r14
lea rdx, [rsp + 0x50]
mov rcx, r12
call fcn.140021bd0
inc edi
mov dword [rsp + 0x28], edi
inc rsi
movsxd rax, edi
cmp rax, qword [r13 + 0x50]
jl 0x14003ab80
cmp qword [r13 + 0x68], 0
jle 0x14003ae67
mov r14, r15
lea rsi, [r13 + 0x248]
mov r10, r15
nop dword [rax]
mov r9, qword [r13 + 0x68]
mov r8, qword [r13 + 0x60]
lea rax, [r14 + r9*2]
mov edx, dword [r8 + r14*4]
cmp edx, dword [r8 + rax*4]
jne 0x14003ae2c
mov rbx, qword [rsi]
mov rax, qword [rbx + 8]
mov rdi, rbx
cmp byte [rax + 0x19], 0
jne 0x14003ad25
nop word [rax + rax]
mov ecx, dword [rax + 0x1c]
cmp ecx, edx
jge 0x14003ad0d
mov rax, qword [rax + 0x10]
jmp 0x14003ad1f
cmp byte [rdi + 0x19], 0
je 0x14003ad19
cmp edx, ecx
cmovl rdi, rax
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14003ad00
cmp byte [rdi + 0x19], 0
je 0x14003ad34
mov rax, qword [rsi]
add rax, 8
jmp 0x14003ad37
mov rax, rdi
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x14003ad57
cmp edx, dword [rax + 0x1c]
jge 0x14003ad4d
mov rdi, rax
mov rax, qword [rax]
jmp 0x14003ad51
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14003ad40
mov rax, qword [rsi]
cmp rbx, qword [rax]
jne 0x14003ad72
cmp byte [rdi + 0x19], 0
je 0x14003ad72
mov rcx, rsi
call fcn.14002eba0
jmp 0x14003ae54
cmp rbx, rdi
je 0x14003ae54
nop dword [rax + rax]
mov rdx, rbx
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x14003add5
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x14003adaa
cmp rbx, qword [rax + 0x10]
jne 0x14003adaa
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14003ad97
mov rbx, rax
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14003ae0c
mov rax, rdx
nop word [rax + rax]
cmp rax, qword [rcx + 0x10]
jne 0x14003ae0c
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x14003adc0
jmp 0x14003ae0c
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x14003adf0
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x14003ade1
mov rax, qword [rdx + 0x10]
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x14003ae0c
nop dword [rax]
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x14003ae00
mov rcx, rsi
call fcn.14001bd70
mov edx, 0x20
mov rcx, rax
call fcn.14010810c
cmp rbx, rdi
jne 0x14003ad80
jmp 0x14003ae54
lea rdx, [r14 + r9]
lea rcx, [r14 + r9*2]
add rcx, r9
mov eax, dword [r8 + rcx*4]
cmp dword [r8 + rdx*4], eax
jne 0x14003ae54
lea rdx, [r9 + r10]
shl rdx, 2
add rdx, r8
mov rcx, rsi
call fcn.140042ef0
inc r15d
inc r14
movsxd r10, r15d
cmp r10, qword [r13 + 0x68]
jl 0x14003acd0
mov r8, qword [rbp - 0x28]
test r8, r8
je 0x14003aeca
mov rcx, qword [rbp - 0x18]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x14003aec2
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003aec2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.14010810c
mov rcx, qword [rbp + 0x428]
xor rcx, rsp
call fcn.140108410
lea r11, [rsp + 0x5c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001c440
nop
call fcn.140015820
nop
call fcn.14001c440
int3