Function at 0x1400f29e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push r13
lea rbp, [rsp - 0x20]
sub rsp, 0x120
cmp dword [rdx + 0x70], 0
mov r13, rdx
mov rbx, rcx
jne 0x1400f2a0d
lea rcx, str.Adding_Steiner_points_to_enforce_quality._n
call fcn.1400771e0
mov dword [rbx + 0x170], 8
mov ecx, 0x17b0
mov dword [rbx + 0x174], 0x18
mov dword [rbx + 0x178], 0xfc
mov dword [rbx + 0x17c], 0xfc
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400f3f1c
mov qword [rsp + 0x110], rdi
xor edx, edx
mov qword [rbx + 0x140], rax
xor edi, edi
mov qword [rax], rdi
mov rax, qword [rbx + 0x140]
movsxd r8, dword [rbx + 0x170]
mov qword [rbx + 0x148], rax
movaps xmmword [rsp + 0xd0], xmm7
lea rcx, [rax + 8]
movaps xmmword [rsp + 0xc0], xmm8
mov rax, rcx
movaps xmmword [rsp + 0xb0], xmm9
div r8
mov eax, dword [rbx + 0x17c]
sub r8, rdx
mov qword [rbx + 0x180], rdi
add r8, rcx
mov dword [rbx + 0x188], eax
mov qword [rbx + 0x150], r8
mov qword [rbx + 0x158], rdi
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm11
cmp dword [r13 + 0x74], edi
je 0x1400f2ae3
lea rcx, str.__Looking_for_encroached_subsegments._n
call fcn.1400771e0
mov rax, qword [rbx + 0x50]
xor edx, edx
movsxd r8, dword [rbx + 0x80]
mov qword [rbx + 0x70], rax
mov dword [rbp - 0x78], edi
lea rcx, [rax + 8]
mov rax, rcx
div r8
mov eax, dword [rbx + 0x8c]
sub r8, rdx
mov dword [rbx + 0x9c], eax
add r8, rcx
mov rcx, rbx
mov qword [rbx + 0x78], r8
call fcn.140102e70
mov qword [rbp - 0x80], rax
test rax, rax
je 0x1400f2ba8
nop dword [rax]
lea r8, [rbp - 0x80]
mov rdx, r13
mov rcx, rbx
call fcn.1400f0510
mov r9, qword [rbx + 0x60]
mov r8, qword [rbx + 0x78]
cmp r8, r9
je 0x1400f2ba8
mov ecx, dword [rbx + 0x9c]
test ecx, ecx
jne 0x1400f2b80
mov rax, qword [rbx + 0x70]
xor edx, edx
movsxd r8, dword [rbx + 0x80]
mov rcx, qword [rax]
mov qword [rbx + 0x70], rcx
add rcx, 8
mov rax, rcx
div r8
sub r8, rdx
add r8, rcx
mov ecx, dword [rbx + 0x88]
movsxd rax, dword [rbx + 0x84]
add rax, r8
mov qword [rbx + 0x78], rax
lea eax, [rcx - 1]
mov dword [rbx + 0x9c], eax
test r8, r8
je 0x1400f2ba8
cmp qword [r8 + 8], rdi
je 0x1400f2b43
mov qword [rbp - 0x80], r8
jmp 0x1400f2b30
cmp dword [r13 + 0x74], edi
je 0x1400f2bc2
cmp dword [rbx + 0x180], edi
jle 0x1400f2bc2
lea rcx, str.__Splitting_encroached_subsegments._n
call fcn.1400771e0
lea r9, [0x140000000]
movsd xmm8, qword [0x1401111e8]
xorps xmm7, xmm7
movsd xmm11, qword [0x1401111f0]
movsd xmm9, qword [0x140111500]
movsd xmm10, qword [0x1401111f8]
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x100], r14
mov qword [rsp + 0xf8], r15
movaps xmmword [rsp + 0xe0], xmm6
cmp dword [rbx + 0x180], edi
jle 0x1400f33b8
nop dword [rax]
nop dword [rax + rax]
cmp dword [rbx + 0x142e4], 0
je 0x1400f33b6
mov rax, qword [rbx + 0x140]
xor edx, edx
movsxd rcx, dword [rbx + 0x170]
mov qword [rbx + 0x160], rax
lea r8, [rax + 8]
mov rax, r8
div rcx
mov eax, dword [rbx + 0x17c]
sub rcx, rdx
mov dword [rbx + 0x18c], eax
lea rdx, [rcx + r8]
mov qword [rbx + 0x168], rdx
mov r8, qword [rbx + 0x150]
nop
cmp rdx, r8
je 0x1400f33a9
mov ecx, dword [rbx + 0x18c]
mov rdi, rdx
mov qword [rbp + 0x58], rdx
test ecx, ecx
jne 0x1400f2cce
mov rax, qword [rbx + 0x160]
xor edx, edx
movsxd rdi, dword [rbx + 0x170]
mov rcx, qword [rax]
mov qword [rbx + 0x160], rcx
add rcx, 8
mov rax, rcx
div rdi
sub rdi, rdx
add rdi, rcx
mov ecx, dword [rbx + 0x178]
mov qword [rbp + 0x58], rdi
movsxd rdx, dword [rbx + 0x174]
lea eax, [rcx - 1]
add rdx, rdi
mov dword [rbx + 0x18c], eax
mov qword [rbx + 0x168], rdx
test rdi, rdi
je 0x1400f33a9
cmp qword [rdi + 8], 0
je 0x1400f2c80
nop dword [rax + rax]
cmp dword [rbx + 0x142e4], 0
je 0x1400f33a9
mov eax, dword [rdi]
mov rcx, qword [rdi]
and eax, 1
and rcx, 0xfffffffffffffffc
mov r12d, eax
mov dword [rsp + 0x78], r12d
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x70], rcx
mov r15, qword [rcx + rax*8 + 0x10]
mov eax, 3
sub rax, r12
cmp qword [rcx + 8], 0
mov rsi, qword [rcx + rax*8]
je 0x1400f32fc
cmp r15, qword [rdi + 8]
jne 0x1400f32fc
cmp rsi, qword [rdi + 0x10]
jne 0x1400f32fc
mov r14, qword [rcx + r12*8 + 0x30]
xor r8d, r8d
mov r11, qword [rbx + 0x14350]
mov eax, r14d
and eax, 3
mov qword [rsp + 0x48], r11
mov edx, eax
xor r14, rdx
mov dword [rbp - 0x78], edx
mov qword [rbp - 0x80], r14
movsxd rax, dword [r9 + rax*4 + 0x168f60]
mov qword [rsp + 0x60], r14
mov rcx, qword [r14 + rax*8 + 0x30]
movsxd rax, dword [r9 + rax*4 + 0x168f60]
and rcx, 0xfffffffffffffffc
cmp rcx, r11
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x58], rcx
setne r8b
mov rax, qword [r14 + rax*8 + 0x30]
and rax, 0xfffffffffffffffc
mov dword [rbp + 0x50], r8d
xor r8d, r8d
mov qword [rsp + 0x50], rax
cmp rax, r11
setne r8b
cmp dword [r13 + 0x58], 0
mov dword [rbp + 0x40], r8d
jne 0x1400f2ea7
cmp rcx, r11
jne 0x1400f2ea7
cmp rax, r11
jne 0x1400f2ea7
mov rcx, qword [r14 + rdx*8 + 0x18]
movsxd rax, dword [rbx + 0x142e8]
cmp dword [rcx + rax*4 + 4], 2
jne 0x1400f2ea7
mov rdi, qword [rsp + 0x40]
nop dword [rax + rax]
movsd xmm0, qword [r15 + 8]
subsd xmm0, qword [rcx + 8]
movsd xmm3, qword [rsi + 8]
subsd xmm3, qword [rcx + 8]
movsd xmm1, qword [r15]
subsd xmm1, qword [rcx]
mulsd xmm3, xmm0
movsd xmm0, qword [rsi]
subsd xmm0, qword [rcx]
mulsd xmm1, xmm0
addsd xmm3, xmm1
comisd xmm7, xmm3
jbe 0x1400f2e9e
lea r8, [rsp + 0x60]
mov rdx, r13
mov rcx, rbx
call fcn.1400f1ab0
mov r14, qword [rdi + r12*8 + 0x30]
lea r9, [0x140000000]
mov eax, r14d
and eax, 3
xor r14, rax
mov dword [rbp - 0x78], eax
mov edx, eax
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x60], r14
mov rcx, qword [r14 + rax*8 + 0x18]
mov eax, dword [r9 + rax*4 + 0x168f70]
mov dword [rsp + 0x68], eax
movsxd rax, dword [rbx + 0x142e8]
cmp dword [rcx + rax*4 + 4], 2
je 0x1400f2e10
mov rdi, qword [rbp + 0x58]
mov r11, qword [rsp + 0x48]
movsxd r12, edx
mov rcx, qword [r14 + r12*8]
mov eax, ecx
and eax, 3
mov edx, eax
xor rdx, rcx
mov r8d, eax
mov dword [rsp + 0x68], r8d
mov qword [rsp + 0x60], rdx
cmp rdx, qword [rbx + 0x14340]
je 0x1400f2ffe
movsxd r10, dword [r9 + rax*4 + 0x168f60]
mov r8, qword [rbx + 0x14350]
mov r9, qword [rdx + r10*8 + 0x30]
and r9, 0xfffffffffffffffc
cmp qword [rsp + 0x50], r11
jne 0x1400f2efd
mov dword [rbp + 0x40], 0
cmp r9, r8
je 0x1400f2f04
mov dword [rbp + 0x40], 1
lea rax, [0x140000000]
movsxd r10, dword [rax + r10*4 + 0x168f60]
mov dword [rsp + 0x68], r10d
mov rcx, qword [rdx + r10*8 + 0x30]
and rcx, 0xfffffffffffffffc
cmp qword [rsp + 0x58], r11
jne 0x1400f2f34
mov dword [rbp + 0x50], 0
cmp rcx, r8
je 0x1400f2f3b
mov dword [rbp + 0x50], 1
cmp dword [r13 + 0x58], 0
jne 0x1400f2ffe
cmp rcx, r8
jne 0x1400f2ffe
cmp r9, r8
jne 0x1400f2ffe
lea rcx, [0x140000000]
movsxd rax, dword [rcx + r10*4 + 0x168f60]
mov rcx, qword [rdx + rax*8 + 0x18]
movsxd rax, dword [rbx + 0x142e8]
cmp dword [rcx + rax*4 + 4], 2
jne 0x1400f2ffe
nop
movsd xmm0, qword [r15 + 8]
subsd xmm0, qword [rcx + 8]
movsd xmm3, qword [rsi + 8]
subsd xmm3, qword [rcx + 8]
movsd xmm1, qword [r15]
subsd xmm1, qword [rcx]
mulsd xmm3, xmm0
movsd xmm0, qword [rsi]
subsd xmm0, qword [rcx]
mulsd xmm1, xmm0
addsd xmm3, xmm1
comisd xmm7, xmm3
jbe 0x1400f2ffe
lea r8, [rsp + 0x60]
mov rdx, r13
mov rcx, rbx
call fcn.1400f1ab0
mov rcx, qword [r14 + r12*8]
lea rdx, [0x140000000]
mov eax, ecx
and eax, 3
xor rcx, rax
mov qword [rsp + 0x60], rcx
mov rcx, qword [rcx + rax*8 + 0x18]
mov eax, dword [rdx + rax*4 + 0x168f70]
mov dword [rsp + 0x68], eax
movsxd rax, dword [rbx + 0x142e8]
cmp dword [rcx + rax*4 + 4], 2
je 0x1400f2f80
cmp dword [rbp + 0x50], 0
mov r14d, dword [rbp + 0x40]
jne 0x1400f301e
test r14d, r14d
jne 0x1400f301e
movaps xmm6, xmm8
lea r12, [r15 + 8]
lea r13, [rsi + 8]
jmp 0x1400f30b7
movsd xmm0, qword [rsi + 8]
lea r13, [rsi + 8]
subsd xmm0, qword [r15 + 8]
movsd xmm1, qword [rsi]
lea r12, [r15 + 8]
subsd xmm1, qword [r15]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x1400f3055
sqrtpd xmm2, xmm1
jmp 0x1400f3060
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm2, xmm0
comisd xmm2, xmm9
movaps xmm6, xmm11
jbe 0x1400f3082
nop dword [rax + rax]
addsd xmm6, xmm6
movaps xmm1, xmm6
mulsd xmm1, xmm9
comisd xmm2, xmm1
ja 0x1400f3070
movaps xmm0, xmm6
mulsd xmm0, xmm10
comisd xmm0, xmm2
jbe 0x1400f30a3
mulsd xmm6, xmm8
movaps xmm0, xmm6
mulsd xmm0, xmm10
comisd xmm0, xmm2
ja 0x1400f3090
divsd xmm6, xmm2
test r14d, r14d
je 0x1400f30b7
movaps xmm0, xmm11
subsd xmm0, xmm6
movaps xmm6, xmm0
lea rcx, [rbx + 0xa0]
call fcn.1400ff470
mov ecx, dword [rbx + 0x142d8]
xor edx, edx
add ecx, 2
mov r14, rax
test ecx, ecx
jle 0x1400f3125
mov r8, r15
mov r9, rax
sub r8, rsi
mov rcx, rsi
sub r9, rsi
nop dword [rax]
nop dword [rax + rax]
movsd xmm1, qword [rcx]
inc edx
subsd xmm1, qword [r8 + rcx]
mulsd xmm1, xmm6
addsd xmm1, qword [r8 + rcx]
movsd qword [r9 + rcx], xmm1
add rcx, 8
mov eax, dword [rbx + 0x142d8]
add eax, 2
cmp edx, eax
jl 0x1400f30f0
lea r12, [r15 + 8]
lea r13, [rsi + 8]
mov rax, qword [rbp + 0x48]
cmp dword [rax + 0x54], 0
jne 0x1400f31b9
mov r9, rsi
mov qword [rsp + 0x20], r14
mov r8, r15
mov rdx, rax
mov rcx, rbx
call fcn.1400f0e20
movsd xmm3, qword [r13]
movaps xmm4, xmm0
ucomisd xmm4, xmm7
movsd xmm0, qword [r12]
movsd xmm2, qword [r15]
movaps xmm1, xmm0
subsd xmm2, qword [rsi]
subsd xmm1, xmm3
mulsd xmm2, xmm2
mulsd xmm1, xmm1
addsd xmm2, xmm1
jp 0x1400f317c
je 0x1400f31b9
ucomisd xmm2, xmm7
jp 0x1400f3184
je 0x1400f31b9
divsd xmm4, xmm2
ucomisd xmm4, xmm4
jp 0x1400f31b9
subsd xmm3, xmm0
mulsd xmm3, xmm4
addsd xmm3, qword [r14]
movsd qword [r14], xmm3
movsd xmm0, qword [r15]
subsd xmm0, qword [rsi]
mulsd xmm0, xmm4
addsd xmm0, qword [r14 + 8]
movsd qword [r14 + 8], xmm0
movsxd rcx, dword [rbx + 0x142e8]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x40]
mov dword [r14 + rcx*4], eax
movsxd rax, dword [rbx + 0x142e8]
mov rcx, qword [rbp + 0x48]
mov dword [r14 + rax*4 + 4], 1
cmp dword [rcx + 0x74], 1
jle 0x1400f3225
movups xmm0, xmmword [r14]
lea rcx, str.__Splitting_subsegment___.12g___.12g____.12g___.12g__at___.12g___.12g_._n
movsd xmm3, qword [rsi]
movsd xmm2, qword [r12]
movq r9, xmm3
movsd xmm1, qword [r15]
movq r8, xmm2
movups xmmword [rsp + 0x28], xmm0
movsd xmm0, qword [r13]
movq rdx, xmm1
movsd qword [rsp + 0x20], xmm0
call fcn.1400771e0
movsd xmm1, qword [r14]
ucomisd xmm1, qword [r15]
jp 0x1400f3247
jne 0x1400f3247
movsd xmm2, qword [r14 + 8]
ucomisd xmm2, qword [r15 + 8]
jp 0x1400f3247
je 0x1400f3f4a
ucomisd xmm1, qword [rsi]
jp 0x1400f3262
jne 0x1400f3262
movsd xmm2, qword [r14 + 8]
ucomisd xmm2, qword [rsi + 8]
jp 0x1400f3262
je 0x1400f3f4a
mov r13, qword [rbp + 0x48]
lea rax, [rsp + 0x70]
mov dword [rsp + 0x30], 0
lea r9, [rbp - 0x80]
mov rdx, r13
mov dword [rsp + 0x28], 1
mov r8, r14
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400f9120
cmp eax, 1
ja 0x1400f3f94
mov eax, dword [rbx + 0x142e4]
test eax, eax
jle 0x1400f32ad
dec eax
mov dword [rbx + 0x142e4], eax
lea r8, [rsp + 0x70]
mov rdx, r13
mov rcx, rbx
call fcn.1400f0510
movsxd rax, dword [rsp + 0x78]
lea r8, [rsp + 0x70]
mov ecx, 1
sub rcx, rax
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + rcx*8]
mov rcx, rbx
mov eax, edx
and rdx, 0xfffffffffffffffc
mov qword [rsp + 0x70], rdx
and eax, 1
mov rdx, r13
mov dword [rsp + 0x78], eax
call fcn.1400f0510
lea r9, [0x140000000]
mov qword [rdi + 8], 0
mov rax, qword [rbx + 0x158]
mov qword [rdi], rax
dec dword [rbx + 0x180]
mov qword [rbx + 0x158], rdi
mov r8, qword [rbx + 0x150]
nop dword [rax]
nop word [rax + rax]
mov rdi, qword [rbx + 0x168]
mov qword [rbp + 0x58], rdi
cmp rdi, r8
je 0x1400f33a9
mov ecx, dword [rbx + 0x18c]
test ecx, ecx
jne 0x1400f337e
mov rax, qword [rbx + 0x160]
xor edx, edx
movsxd rdi, dword [rbx + 0x170]
mov rcx, qword [rax]
mov qword [rbx + 0x160], rcx
add rcx, 8
mov rax, rcx
div rdi
sub rdi, rdx
add rdi, rcx
mov ecx, dword [rbx + 0x178]
mov qword [rbp + 0x58], rdi
movsxd rax, dword [rbx + 0x174]
add rax, rdi
mov qword [rbx + 0x168], rax
lea eax, [rcx - 1]
mov dword [rbx + 0x18c], eax
test rdi, rdi
je 0x1400f33a9
cmp qword [rdi + 8], 0
je 0x1400f3330
jmp 0x1400f2d00
cmp dword [rbx + 0x180], 0
jg 0x1400f2c30
xor edi, edi
movsd xmm0, qword [r13 + 0x88]
comisd xmm0, xmm7
ja 0x1400f33e0
cmp dword [r13 + 0xc], 0
jne 0x1400f33e0
cmp dword [r13 + 0x10], 0
jne 0x1400f33e0
cmp dword [r13 + 0x14], 0
je 0x1400f3e3f
mov dword [rbx + 0x1c0], 8
mov ecx, 0x2ff50
mov dword [rbx + 0x1c4], 0x30
mov dword [rbx + 0x1c8], 0xffc
mov dword [rbx + 0x1cc], 0xffc
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400f3f33
mov qword [rbx + 0x190], rax
xor edx, edx
mov qword [rax], rdi
mov rax, qword [rbx + 0x190]
movsxd r8, dword [rbx + 0x1c0]
mov qword [rbx + 0x198], rax
mov qword [rbx + 0x1d0], 0
lea rcx, [rax + 8]
mov qword [rbx + 0x1a8], rdi
mov rax, rcx
div r8
mov eax, dword [rbx + 0x1cc]
sub r8, rdx
mov dword [rbx + 0x1d8], eax
add r8, rcx
lea rax, [rbx + 0x280]
mov qword [rbx + 0x1a0], r8
mov ecx, 0x200
nop
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rdi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x10], rdi
mov qword [rax - 8], rdi
sub rcx, 1
jne 0x1400f3480
mov dword [rbx + 0x14280], 0xffffffff
cmp dword [r13 + 0x74], ecx
je 0x1400f34c5
lea rcx, str.__Making_a_list_of_bad_triangles._n
call fcn.1400771e0
mov rax, qword [rbx]
xor edx, edx
movsxd rcx, dword [rbx + 0x30]
mov qword [rbx + 0x20], rax
mov dword [rbp - 0x78], edi
lea r8, [rax + 8]
mov rax, r8
div rcx
mov eax, dword [rbx + 0x3c]
sub rcx, rdx
mov dword [rbx + 0x4c], eax
add rcx, r8
mov qword [rbx + 0x28], rcx
mov rcx, rbx
call fcn.140104eb0
mov qword [rbp - 0x80], rax
test rax, rax
je 0x1400f356a
lea r8, [rbp - 0x80]
mov rdx, r13
mov rcx, rbx
call fcn.140103f70
mov r9, qword [rbx + 0x10]
mov r8, qword [rbx + 0x28]
cmp r8, r9
je 0x1400f356a
mov ecx, dword [rbx + 0x4c]
test ecx, ecx
jne 0x1400f3547
mov rax, qword [rbx + 0x20]
xor edx, edx
movsxd r8, dword [rbx + 0x30]
mov rcx, qword [rax]
mov qword [rbx + 0x20], rcx
add rcx, 8
mov rax, rcx
div r8
sub r8, rdx
add r8, rcx
mov ecx, dword [rbx + 0x38]
movsxd rax, dword [rbx + 0x34]
add rax, r8
mov qword [rbx + 0x28], rax
lea eax, [rcx - 1]
mov dword [rbx + 0x4c], eax
test r8, r8
je 0x1400f356a
cmp qword [r8 + 8], 0
je 0x1400f3513
mov qword [rbp - 0x80], r8
jmp 0x1400f3500
mov dword [rbx + 0x210], 8
mov ecx, 0xfd0
mov dword [rbx + 0x214], 0x10
mov dword [rbx + 0x218], 0xfc
mov dword [rbx + 0x21c], 0xfc
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400f3fb2
mov qword [rbx + 0x1e0], rax
xor edx, edx
mov qword [rax], rdi
mov rax, qword [rbx + 0x1e0]
movsxd r8, dword [rbx + 0x210]
mov qword [rbx + 0x1e8], rax
mov qword [rbx + 0x220], 0
lea rcx, [rax + 8]
mov qword [rbx + 0x1f8], rdi
mov rax, rcx
div r8
mov eax, dword [rbx + 0x21c]
sub r8, rdx
mov dword [rbx + 0x228], eax
add r8, rcx
mov qword [rbx + 0x1f0], r8
mov dword [rbx + 0x14300], 1
cmp dword [r13 + 0x74], 0
je 0x1400f3619
lea rcx, str.__Splitting_bad_triangles._n
call fcn.1400771e0
cmp dword [rbx + 0x1d0], 0
jle 0x1400f3e3f
nop word [rax + rax]
cmp dword [rbx + 0x142e4], 0
je 0x1400f3e3f
movsxd rax, dword [rbx + 0x14280]
test eax, eax
js 0x1400f367d
mov rdi, qword [rbx + rax*8 + 0x280]
mov rcx, rax
mov rax, qword [rdi + 0x28]
mov qword [rbx + rcx*8 + 0x280], rax
movsxd rax, dword [rbx + 0x14280]
cmp rdi, qword [rbx + rax*8 + 0x8280]
jne 0x1400f367d
mov eax, dword [rbx + rax*4 + 0x10280]
mov dword [rbx + 0x14280], eax
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.140102790
cmp dword [rbx + 0x180], 0
jle 0x1400f3e18
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.1400f40c0
cmp dword [rbx + 0x180], 0
jle 0x1400f3e2f
cmp dword [rbx + 0x142e4], 0
je 0x1400f3e2f
mov rax, qword [rbx + 0x140]
xor edx, edx
movsxd rcx, dword [rbx + 0x170]
mov qword [rbx + 0x160], rax
lea r8, [rax + 8]
mov rax, r8
div rcx
mov eax, dword [rbx + 0x17c]
sub r8, rdx
mov dword [rbx + 0x18c], eax
add r8, rcx
mov qword [rbx + 0x168], r8
mov r8, qword [rbx + 0x150]
mov rdi, qword [rbx + 0x168]
mov qword [rbp + 0x58], rdi
cmp rdi, r8
je 0x1400f3e09
mov ecx, dword [rbx + 0x18c]
test ecx, ecx
jne 0x1400f3753
mov rax, qword [rbx + 0x160]
xor edx, edx
mov rcx, qword [rax]
mov qword [rbx + 0x160], rcx
lea rdi, [rcx + 8]
movsxd rcx, dword [rbx + 0x170]
mov rax, rdi
div rcx
sub rdi, rdx
add rdi, rcx
mov ecx, dword [rbx + 0x178]
mov qword [rbp + 0x58], rdi
movsxd rax, dword [rbx + 0x174]
add rax, rdi
mov qword [rbx + 0x168], rax
lea eax, [rcx - 1]
mov dword [rbx + 0x18c], eax
test rdi, rdi
je 0x1400f3e09
cmp qword [rdi + 8], 0
je 0x1400f3701
nop dword [rax]
cmp dword [rbx + 0x142e4], 0
je 0x1400f3e09
mov eax, dword [rdi]
mov rcx, qword [rdi]
and eax, 1
and rcx, 0xfffffffffffffffc
mov r12d, eax
mov dword [rsp + 0x78], r12d
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x70], rcx
mov r15, qword [rcx + rax*8 + 0x10]
mov eax, 3
sub rax, r12
cmp qword [rcx + 8], 0
mov r14, qword [rcx + rax*8]
je 0x1400f3d5e
cmp r15, qword [rdi + 8]
jne 0x1400f3d5e
cmp r14, qword [rdi + 0x10]
jne 0x1400f3d5e
mov rsi, qword [rcx + r12*8 + 0x30]
lea r10, [0x140000000]
mov r13, qword [rbx + 0x14350]
xor ecx, ecx
mov eax, esi
mov qword [rsp + 0x58], r13
and eax, 3
mov edx, eax
xor rsi, rdx
mov dword [rbp - 0x78], edx
mov qword [rbp - 0x80], rsi
movsxd rax, dword [r10 + rax*4 + 0x168f60]
mov qword [rsp + 0x60], rsi
mov r8, qword [rsi + rax*8 + 0x30]
movsxd rax, dword [r10 + rax*4 + 0x168f60]
and r8, 0xfffffffffffffffc
cmp r8, r13
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x48], r8
setne cl
mov rax, qword [rsi + rax*8 + 0x30]
mov dword [rbp + 0x50], ecx
and rax, 0xfffffffffffffffc
xor ecx, ecx
mov qword [rsp + 0x50], rax
cmp rax, r13
setne cl
mov dword [rbp + 0x40], ecx
mov rcx, qword [rbp + 0x48]
cmp dword [rcx + 0x58], 0
jne 0x1400f3928
cmp r8, r13
jne 0x1400f3928
cmp rax, r13
jne 0x1400f3928
mov rcx, qword [rsi + rdx*8 + 0x18]
movsxd rax, dword [rbx + 0x142e8]
cmp dword [rcx + rax*4 + 4], 2
jne 0x1400f3928
mov r13, qword [rsp + 0x40]
mov rdi, qword [rbp + 0x48]
nop
movsd xmm0, qword [r15]
subsd xmm0, qword [rcx]
movsd xmm3, qword [r14]
subsd xmm3, qword [rcx]
movsd xmm1, qword [r14 + 8]
subsd xmm1, qword [rcx + 8]
mulsd xmm3, xmm0
movsd xmm0, qword [r15 + 8]
subsd xmm0, qword [rcx + 8]
mulsd xmm1, xmm0
addsd xmm3, xmm1
comisd xmm7, xmm3
jbe 0x1400f391f
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, rbx
call fcn.1400f1ab0
mov rsi, qword [r13 + r12*8 + 0x30]
lea r10, [0x140000000]
mov eax, esi
and eax, 3
xor rsi, rax
mov dword [rbp - 0x78], eax
mov edx, eax
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x60], rsi
mov rcx, qword [rsi + rax*8 + 0x18]
mov eax, dword [r10 + rax*4 + 0x168f70]
mov dword [rsp + 0x68], eax
movsxd rax, dword [rbx + 0x142e8]
cmp dword [rcx + rax*4 + 4], 2
je 0x1400f3890
mov rdi, qword [rbp + 0x58]
mov r13, qword [rsp + 0x58]
movsxd rax, edx
mov rcx, qword [rsi + rax*8]
mov eax, ecx
and eax, 3
mov r8d, eax
xor r8, rcx
mov r9d, eax
mov dword [rsp + 0x68], r9d
mov qword [rsp + 0x60], r8
cmp r8, qword [rbx + 0x14340]
je 0x1400f3a82
movsxd r11, dword [r10 + rax*4 + 0x168f60]
mov rcx, qword [rbx + 0x14350]
mov r10, qword [r8 + r11*8 + 0x30]
and r10, 0xfffffffffffffffc
cmp qword [rsp + 0x50], r13
jne 0x1400f397f
mov dword [rbp + 0x40], 0
cmp r10, rcx
je 0x1400f3986
mov dword [rbp + 0x40], 1
lea r12, [0x140000000]
movsxd r11, dword [r12 + r11*4 + 0x168f60]
mov dword [rsp + 0x68], r11d
mov r9, qword [r8 + r11*8 + 0x30]
and r9, 0xfffffffffffffffc
cmp qword [rsp + 0x48], r13
jne 0x1400f39b6
mov dword [rbp + 0x50], 0
cmp r9, rcx
je 0x1400f39bd
mov dword [rbp + 0x50], 1
mov r13, qword [rbp + 0x48]
cmp dword [r13 + 0x58], 0
jne 0x1400f3a86
cmp r9, rcx
jne 0x1400f3a86
cmp r10, rcx
jne 0x1400f3a86
movsxd rax, dword [r12 + r11*4 + 0x168f60]
mov rcx, qword [r8 + rax*8 + 0x18]
movsxd rax, dword [rbx + 0x142e8]
cmp dword [rcx + rax*4 + 4], 2
jne 0x1400f3a86
movsxd r12, edx
movsd xmm0, qword [r15]
subsd xmm0, qword [rcx]
movsd xmm3, qword [r14]
subsd xmm3, qword [rcx]
movsd xmm1, qword [r14 + 8]
subsd xmm1, qword [rcx + 8]
mulsd xmm3, xmm0
movsd xmm0, qword [r15 + 8]
subsd xmm0, qword [rcx + 8]
mulsd xmm1, xmm0
addsd xmm3, xmm1
comisd xmm7, xmm3
jbe 0x1400f3a86
lea r8, [rsp + 0x60]
mov rdx, r13
mov rcx, rbx
call fcn.1400f1ab0
mov rcx, qword [rsi + r12*8]
lea rdx, [0x140000000]
mov eax, ecx
and eax, 3
xor rcx, rax
mov qword [rsp + 0x60], rcx
mov rcx, qword [rcx + rax*8 + 0x18]
mov eax, dword [rdx + rax*4 + 0x168f70]
mov dword [rsp + 0x68], eax
movsxd rax, dword [rbx + 0x142e8]
cmp dword [rcx + rax*4 + 4], 2
je 0x1400f3a00
jmp 0x1400f3a86
mov r13, qword [rbp + 0x48]
cmp dword [rbp + 0x50], 0
mov esi, dword [rbp + 0x40]
jne 0x1400f3a9c
test esi, esi
jne 0x1400f3a9c
movaps xmm6, xmm8
jmp 0x1400f3b36
movsd xmm0, qword [r14 + 8]
subsd xmm0, qword [r15 + 8]
movsd xmm1, qword [r14]
subsd xmm1, qword [r15]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x1400f3acd
sqrtpd xmm2, xmm1
jmp 0x1400f3ad8
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm2, xmm0
comisd xmm2, xmm9
movaps xmm6, xmm11
jbe 0x1400f3b02
nop dword [rax]
nop word [rax + rax]
addsd xmm6, xmm6
movaps xmm1, xmm6
mulsd xmm1, xmm9
comisd xmm2, xmm1
ja 0x1400f3af0
movaps xmm0, xmm6
mulsd xmm0, xmm10
comisd xmm0, xmm2
jbe 0x1400f3b23
mulsd xmm6, xmm8
movaps xmm0, xmm6
mulsd xmm0, xmm10
comisd xmm0, xmm2
ja 0x1400f3b10
divsd xmm6, xmm2
test esi, esi
je 0x1400f3b36
movaps xmm0, xmm11
subsd xmm0, xmm6
movaps xmm6, xmm0
lea rcx, [rbx + 0xa0]
call fcn.1400ff470
mov ecx, dword [rbx + 0x142d8]
xor edx, edx
add ecx, 2
mov rsi, rax
test ecx, ecx
jle 0x1400f3b9d
mov r8, r15
mov r9, rax
sub r8, r14
mov rcx, r14
sub r9, r14
nop dword [rax]
nop word [rax + rax]
movsd xmm1, qword [rcx]
inc edx
subsd xmm1, qword [r8 + rcx]
mulsd xmm1, xmm6
addsd xmm1, qword [r8 + rcx]
movsd qword [rcx + r9], xmm1
add rcx, 8
mov eax, dword [rbx + 0x142d8]
add eax, 2
cmp edx, eax
jl 0x1400f3b70
cmp dword [r13 + 0x54], 0
jne 0x1400f3c2c
mov r9, r14
mov qword [rsp + 0x20], rsi
mov r8, r15
mov rdx, r13
mov rcx, rbx
call fcn.1400f0e20
movsd xmm3, qword [r14 + 8]
movaps xmm4, xmm0
ucomisd xmm4, xmm7
movsd xmm0, qword [r15 + 8]
movsd xmm1, qword [r15]
movaps xmm2, xmm0
subsd xmm1, qword [r14]
subsd xmm2, xmm3
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm2, xmm1
jp 0x1400f3bf2
je 0x1400f3c2c
ucomisd xmm2, xmm7
jp 0x1400f3bfa
je 0x1400f3c2c
divsd xmm4, xmm2
ucomisd xmm4, xmm4
jp 0x1400f3c2c
subsd xmm3, xmm0
mulsd xmm3, xmm4
addsd xmm3, qword [rsi]
movsd qword [rsi], xmm3
movsd xmm0, qword [r15]
subsd xmm0, qword [r14]
mulsd xmm0, xmm4
addsd xmm0, qword [rsi + 8]
movsd qword [rsi + 8], xmm0
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rbx + 0x142e8]
mov eax, dword [rax + 0x40]
mov dword [rsi + rcx*4], eax
movsxd rax, dword [rbx + 0x142e8]
mov dword [rsi + rax*4 + 4], 1
cmp dword [r13 + 0x74], 1
jle 0x1400f3c93
movups xmm0, xmmword [rsi]
lea rcx, str.__Splitting_subsegment___.12g___.12g____.12g___.12g__at___.12g___.12g_._n
movsd xmm3, qword [r14]
movsd xmm2, qword [r15 + 8]
movq r9, xmm3
movsd xmm1, qword [r15]
movq r8, xmm2
movups xmmword [rsp + 0x28], xmm0
movsd xmm0, qword [r14 + 8]
movq rdx, xmm1
movsd qword [rsp + 0x20], xmm0
call fcn.1400771e0
movsd xmm1, qword [rsi]
ucomisd xmm1, qword [r15]
jp 0x1400f3cb3
jne 0x1400f3cb3
movsd xmm2, qword [rsi + 8]
ucomisd xmm2, qword [r15 + 8]
jp 0x1400f3cb3
je 0x1400f3fc9
ucomisd xmm1, qword [r14]
jp 0x1400f3ccf
jne 0x1400f3ccf
movsd xmm2, qword [rsi + 8]
ucomisd xmm2, qword [r14 + 8]
jp 0x1400f3ccf
je 0x1400f3fc9
mov dword [rsp + 0x30], 1
lea rax, [rsp + 0x70]
mov dword [rsp + 0x28], 1
lea r9, [rbp - 0x80]
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rdx, r13
mov rcx, rbx
call fcn.1400f9120
cmp eax, 1
ja 0x1400f4013
mov eax, dword [rbx + 0x142e4]
test eax, eax
jle 0x1400f3d16
dec eax
mov dword [rbx + 0x142e4], eax
lea r8, [rsp + 0x70]
mov rdx, r13
mov rcx, rbx
call fcn.1400f0510
movsxd rax, dword [rsp + 0x78]
lea r8, [rsp + 0x70]
mov ecx, 1
sub rcx, rax
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + rcx*8]
mov rcx, rbx
mov eax, edx
and rdx, 0xfffffffffffffffc
mov qword [rsp + 0x70], rdx
and eax, 1
mov rdx, r13
mov dword [rsp + 0x78], eax
call fcn.1400f0510
mov qword [rdi + 8], 0
mov rax, qword [rbx + 0x158]
mov qword [rdi], rax
dec dword [rbx + 0x180]
mov qword [rbx + 0x158], rdi
mov r8, qword [rbx + 0x150]
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [rbx + 0x168]
mov qword [rbp + 0x58], rdi
cmp rdi, r8
je 0x1400f3e09
mov ecx, dword [rbx + 0x18c]
test ecx, ecx
jne 0x1400f3dde
mov rax, qword [rbx + 0x160]
xor edx, edx
movsxd rdi, dword [rbx + 0x170]
mov rcx, qword [rax]
mov qword [rbx + 0x160], rcx
add rcx, 8
mov rax, rcx
div rdi
sub rdi, rdx
add rdi, rcx
mov ecx, dword [rbx + 0x178]
mov qword [rbp + 0x58], rdi
movsxd rax, dword [rbx + 0x174]
add rax, rdi
mov qword [rbx + 0x168], rax
lea eax, [rcx - 1]
mov dword [rbx + 0x18c], eax
test rdi, rdi
je 0x1400f3e09
cmp qword [rdi + 8], 0
je 0x1400f3d90
jmp 0x1400f3780
cmp dword [rbx + 0x180], 0
jg 0x1400f36b3
jmp 0x1400f3e2f
mov rax, qword [rbx + 0x1a8]
mov qword [rdi], rax
dec dword [rbx + 0x1d0]
mov qword [rbx + 0x1a8], rdi
cmp dword [rbx + 0x1d0], 0
jle 0x1400f3e3f
xor edi, edi
jmp 0x1400f3630
cmp dword [r13 + 0x70], 0
jne 0x1400f3eb4
cmp dword [r13 + 0x58], 0
je 0x1400f3eb4
cmp dword [rbx + 0x180], 0
jle 0x1400f3eb4
cmp dword [rbx + 0x142e4], 0
jne 0x1400f3eb4
lea rcx, str._nWarning:__I_ran_out_of_Steiner_points__but_the_mesh_has_n
call fcn.1400771e0
mov edx, dword [rbx + 0x180]
cmp edx, 1
jne 0x1400f3e84
lea rcx, str.__one_encroached_subsegment__and_therefore_might_not_be_truly_n
call fcn.1400771e0
jmp 0x1400f3e90
lea rcx, str.___ld_encroached_subsegments__and_therefore_might_not_be_truly_n
call fcn.1400771e0
lea rcx, str.__Delaunay.__If_the_Delaunay_property_is_important_to_you__n
call fcn.1400771e0
lea rcx, str.__try_increasing_the_number_of_Steiner_points__controlled_by_n
call fcn.1400771e0
lea rcx, str.__the__S_switch__slightly_and_try_again._n_n
call fcn.1400771e0
mov r12, qword [rsp + 0x108]
mov r14, qword [rsp + 0x100]
mov r15, qword [rsp + 0xf8]
movaps xmm6, xmmword [rsp + 0xe0]
mov rsi, qword [rsp + 0x118]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xb0]
mov rdi, qword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0x90]
add rsp, 0x120
pop r13
pop rbx
pop rbp
ret
lea rcx, str.Error:__Out_of_memory._n
call fcn.1400771e0
mov ecx, 1
call fcn.140105b30
int3
lea rcx, str.Error:__Out_of_memory._n
call fcn.1400771e0
mov ecx, 1
call fcn.140105b30
int3
movq r8, xmm2
lea rcx, str.Error:__Ran_out_of_precision_at___.12g___.12g_._n
movq rdx, xmm1
call fcn.1400771e0
lea rcx, str.I_attempted_to_split_a_segment_to_a_smaller_size_than_n
call fcn.1400771e0
lea rcx, str.__can_be_accommodated_by_the_finite_precision_of_n
call fcn.1400771e0
lea rcx, str.__floating_point_arithmetic._n
call fcn.1400771e0
call fcn.1400ff820
mov ecx, 1
call fcn.140105b30
int3
lea rcx, str.Internal_error_in_splitencsegs__:_n
call fcn.1400771e0
lea rcx, str.__Failure_to_split_a_segment._n
call fcn.1400771e0
call fcn.1400fa380
int3
lea rcx, str.Error:__Out_of_memory._n
call fcn.1400771e0
mov ecx, 1
call fcn.140105b30
int3
movq r8, xmm2
lea rcx, str.Error:__Ran_out_of_precision_at___.12g___.12g_._n
movq rdx, xmm1
call fcn.1400771e0
lea rcx, str.I_attempted_to_split_a_segment_to_a_smaller_size_than_n
call fcn.1400771e0
lea rcx, str.__can_be_accommodated_by_the_finite_precision_of_n
call fcn.1400771e0
lea rcx, str.__floating_point_arithmetic._n
call fcn.1400771e0
call fcn.1400ff820
mov ecx, 1
call fcn.140105b30
int3
lea rcx, str.Internal_error_in_splitencsegs__:_n
call fcn.1400771e0
lea rcx, str.__Failure_to_split_a_segment._n
call fcn.1400771e0
call fcn.1400fa380
int3