Function at 0x140001000
Capabilities:
Write file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rdi
push rbp
sub rsp, 0x3c8
mov r13, rdx
mov esi, ecx
xor edx, edx
xor ecx, ecx
movaps xmmword [rsp + 0x330], xmm15
movaps xmmword [rsp + 0x340], xmm13
movaps xmmword [rsp + 0x320], xmm10
call fcn.14000d100
xor edi, edi
mov ecx, 0x16
lea rdx, [0x140006050]
xor ebp, ebp
mov qword [rsp + 0x358], rdi
mov qword [rsp + 0x360], rdi
mov qword [rsp + 0x368], rdi
mov qword [rsp + 0x370], rdi
mov qword [rsp + 0x378], rdi
mov qword [rsp + 0x380], rdi
mov qword [rsp + 0x388], rdi
mov qword [rsp + 0x390], rdi
mov qword [rsp + 0x398], rdi
mov qword [rsp + 0x3a0], rdi
mov qword [rsp + 0x3a8], rdi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov ecx, 8
lea rdx, [0x140006050]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov ecx, 4
lea rdx, [0x140006050]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov ecx, 0xb
lea rdx, [0x140006050]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov ecx, 0xf
lea rdx, [0x140006050]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov ecx, 2
lea rdx, [0x140006050]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
lea rcx, [0x140005f70]
call fcn.14000efc8
lea rcx, [0x14001a064]
mov dword [0x14001a064], 1
call sub.mg_tetra.dll_meshgems_tetra_init_num_threads
call sub.meshgems.dll_meshgems_context_new
mov r12, rax
test r12, r12
je 0x140004a0e
mov rcx, r12
mov edx, 2
add al, ch
out dx, al
fld dword [rax]
add byte [rcx + rcx*4 - 0x1f], cl
call sub.mg_tetra.dll_meshgems_tetra_session_new
mov qword [0x14001b948], rax
test rax, rax
je 0x1400049b8
mov rcx, rax
lea rdx, [0x140006200]
mov r8, qword [rax + 0x30]
call sub.mg_tetra.dll_meshgems_tetra_set_message_callback
add byte [rax - 0x77], cl
jrcxz 0x1400011bf
lea edx, [rsp + 0x378]
mov rdx, qword [0x14001b948]
lea r11, [rsp + 0x380]
mov rcx, r12
lea r14, [rsp + 0x388]
mov r8d, esi
mov r9, r13
mov r15, qword [rdx + 0x2a0]
mov qword [rbx + 0x20], r10
lea r10, [rsp + 0x390]
mov qword [rbx + 0x28], r11
mov qword [rbx + 0x30], r14
mov qword [rbx + 0x38], r10
lea r10, [rsp + 0x398]
mov qword [rbx + 0x40], r10
lea r10, [rsp + 0x354]
mov qword [rbx + 0x48], r10
lea r10, [rsp + 0x3b0]
mov qword [rbx + 0x50], r10
lea r10, [rsp + 0x3b4]
mov qword [rbx + 0x58], r10
lea r10, [rsp + 0x3b8]
mov qword [rbx + 0x60], r10
lea r10, [rsp + 0x3bc]
mov qword [rbx + 0x68], r10
lea r10, [rsp + 0x3c0]
mov qword [rbx + 0x70], r10
call fcn.140006460
cmp eax, 0xffffffff
je 0x140002b97
cmp eax, 0xfffffffb
je 0x140002b97
dec eax
cmp eax, 1
jbe 0x140002b97
mov ebx, dword [r15]
test ebx, ebx
jl 0x14000497b
cmp ebx, 1
jbe 0x14000126d
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_____READING_THE_DATA_n
call fcn.140004ac0
cmp qword [0x14001c740], 0
jne 0x140001284
mov dword [rsp + 0x350], 3
jmp 0x14000128f
mov dword [rsp + 0x350], 0
mov rbx, rsp
mov rcx, r12
mov rdx, qword [rsp + 0x380]
lea r8, [rsp + 0x350]
lea r9, [rsp + 0x360]
lea r14, [rsp + 0x370]
mov qword [rbx + 0x20], r14
call fcn.140005a70
test eax, eax
jne 0x140002b97
mov rcx, qword [rsp + 0x360]
lea rdx, [rsp + 0x308]
call sub.meshgems.dll_meshgems_mesh_get_quadrangle_count
cmp dword [rsp + 0x308], 0
je 0x14000197f
mov rcx, qword [rsp + 0x360]
lea rdx, [rsp + 0x30c]
call sub.meshgems.dll_meshgems_mesh_get_tetrahedron_count
cmp dword [rsp + 0x30c], 0
je 0x140001318
mov dword [rsp + 0x308], 0
jmp 0x14000197f
mov rsi, qword [rsp + 0x360]
mov rcx, rsi
lea rdx, [rsp + 0x2fc]
call sub.meshgems.dll_meshgems_mesh_get_triangle_count
mov rcx, rsi
lea rdx, [rsp + 0x300]
call sub.meshgems.dll_meshgems_mesh_get_quadrangle_count
mov r9d, dword [rsp + 0x300]
mov rcx, rsi
mov ebx, dword [rsp + 0x2fc]
lea edx, [rbx + r9*2]
call sub.meshgems.dll_meshgems_mesh_set_triangle_count
mov r13d, 1
mov ebx, r13d
cmp dword [rsp + 0x300], 0
jle 0x140001975
movaps xmmword [rsp + 0x200], xmm6
movaps xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm8
movaps xmmword [rsp + 0x1d0], xmm9
movaps xmmword [rsp + 0x1c0], xmm11
movaps xmmword [rsp + 0x1b0], xmm12
movaps xmmword [rsp + 0x1a0], xmm14
mov rcx, rsi
mov edx, ebx
lea r8, [rsp + 0x2a8]
call sub.meshgems.dll_meshgems_mesh_get_quadrangle_vertices
mov rcx, rsi
lea r8, [rsp + 0x230]
mov edx, dword [r8 + 0x78]
call sub.meshgems.dll_meshgems_mesh_get_vertex_coordinates
mov rcx, rsi
lea r8, [rsp + 0x250]
mov edx, dword [r8 + 0x5c]
call sub.meshgems.dll_meshgems_mesh_get_vertex_coordinates
mov rcx, rsi
lea r8, [rsp + 0x270]
mov edx, dword [r8 + 0x40]
call sub.meshgems.dll_meshgems_mesh_get_vertex_coordinates
mov rcx, rsi
lea r8, [rsp + 0x290]
mov edx, dword [r8 + 0x24]
call sub.meshgems.dll_meshgems_mesh_get_vertex_coordinates
movaps xmm6, xmmword [rsp + 0x270]
movaps xmm4, xmmword [rsp + 0x230]
movaps xmm1, xmm6
movaps xmm0, xmmword [rsp + 0x250]
subpd xmm1, xmm4
movaps xmmword [rsp + 0x80], xmm0
movaps xmm14, xmm1
subpd xmm0, xmm4
movsd xmm12, qword [rsp + 0x280]
movaps xmm8, xmm14
movsd xmm13, qword [rsp + 0x240]
movaps xmm15, xmm12
movsd xmm11, qword [rsp + 0x260]
subsd xmm15, xmm13
movsd qword [rsp + 0x210], xmm11
subsd xmm11, xmm13
movaps xmm7, xmm0
movsd qword [rsp + 0x220], xmm13
movaps xmm13, xmm1
unpckhpd xmm13, xmm1
unpckhpd xmm7, xmm0
movaps xmm10, xmm13
movaps xmm9, xmm7
movaps xmm2, xmm13
mulsd xmm10, xmm11
mulsd xmm9, xmm15
subsd xmm10, xmm9
movaps xmm9, xmm0
mulsd xmm9, xmm15
mulsd xmm8, xmm11
movsd qword [rsp + 0x218], xmm0
subsd xmm9, xmm8
movaps xmm8, xmm7
movaps xmm3, xmm9
mulsd xmm8, xmm14
mulsd xmm2, xmm0
subsd xmm8, xmm2
movaps xmm2, xmm10
movaps xmm5, xmm8
mulsd xmm2, xmm10
mulsd xmm3, xmm9
mulsd xmm5, xmm8
addsd xmm2, xmm3
pxor xmm3, xmm3
addsd xmm2, xmm5
sqrtsd xmm2, xmm2
comisd xmm2, xmm3
jbe 0x14000153f
movsd xmm3, qword [0x140010648]
divsd xmm3, xmm2
movaps xmm2, xmm10
movaps xmm5, xmm3
unpcklpd xmm2, xmm9
unpcklpd xmm5, xmm5
mulpd xmm2, xmm5
mulsd xmm8, xmm3
movaps xmm10, xmm2
unpckhpd xmm2, xmm2
movaps xmm9, xmm2
movaps xmm2, xmmword [rsp + 0x290]
subpd xmm2, xmm4
movsd xmm5, qword [rsp + 0x2a0]
movaps xmm4, xmm13
movaps xmmword [rsp + 0x90], xmm2
movaps xmm1, xmm2
unpckhpd xmm1, xmm2
subsd xmm5, qword [rsp + 0x220]
movaps xmm3, xmm1
mulsd xmm3, xmm15
mulsd xmm4, xmm5
subsd xmm3, xmm4
movaps xmm4, xmm14
mulsd xmm4, xmm5
mulsd xmm15, xmm2
movsd qword [rsp + 0x248], xmm1
subsd xmm4, xmm15
mulsd xmm13, xmm2
mulsd xmm14, xmm1
movaps xmm15, xmm3
subsd xmm13, xmm14
mulsd xmm15, xmm3
movaps xmm14, xmm4
movaps xmm1, xmm13
mulsd xmm14, xmm4
mulsd xmm1, xmm13
addsd xmm15, xmm14
movsd qword [rsp + 0x228], xmm2
addsd xmm15, xmm1
addps xmm15, xmm1
sqrtsd xmm15, xmm15
pxor xmm2, xmm2
movaps xmm1, xmmword [rsp + 0x290]
comisd xmm15, xmm2
movsd xmm2, qword [rsp + 0x2a0]
jbe 0x14000162f
movsd xmm14, qword [0x140010648]
divsd xmm14, xmm15
movaps xmm15, xmm3
movaps xmm3, xmm14
unpcklpd xmm15, xmm4
unpcklpd xmm3, xmm3
mulpd xmm15, xmm3
mulsd xmm13, xmm14
movaps xmm3, xmm15
unpckhpd xmm15, xmm15
movaps xmm4, xmm15
movsd qword [rsp + 0x268], xmm2
movaps xmm15, xmm5
movsd xmm2, qword [rsp + 0x248]
movaps xmm0, xmm2
mulsd xmm0, xmm11
mulsd xmm15, xmm7
subsd xmm0, xmm15
movsd xmm15, qword [rsp + 0x218]
movsd xmm14, qword [rsp + 0x228]
mulsd xmm5, xmm15
mulsd xmm11, xmm14
subsd xmm5, xmm11
mulsd xmm7, xmm14
mulsd xmm2, xmm15
movaps xmm15, xmm0
movaps xmm11, xmm5
subsd xmm7, xmm2
mulsd xmm15, xmm0
mulsd xmm11, xmm5
movaps xmm2, xmm7
mulsd xmm2, xmm7
addsd xmm15, xmm11
pxor xmm11, xmm11
addsd xmm15, xmm2
sqrtsd xmm15, xmm15
movsd xmm2, qword [rsp + 0x268]
comisd xmm15, xmm11
jbe 0x1400016fb
movsd xmm14, qword [0x140010648]
movaps xmm11, xmm0
divsd xmm14, xmm15
movaps xmm0, xmm14
unpcklpd xmm11, xmm5
unpcklpd xmm0, xmm0
mulpd xmm11, xmm0
mulsd xmm7, xmm14
movaps xmm0, xmm11
unpckhpd xmm11, xmm11
movaps xmm5, xmm11
movaps xmm11, xmmword [rsp + 0x80]
subpd xmm1, xmm11
subpd xmm6, xmm11
movsd xmm15, qword [rsp + 0x210]
movaps xmm14, xmm6
movsd qword [rsp + 0x288], xmm7
movaps xmm7, xmm1
subsd xmm2, xmm15
subsd xmm12, xmm15
unpckhpd xmm1, xmm1
movaps xmm11, xmm1
unpckhpd xmm6, xmm6
movaps xmm15, xmm6
mulsd xmm11, xmm12
mulsd xmm15, xmm2
subsd xmm11, xmm15
mulsd xmm2, xmm14
mulsd xmm12, xmm7
subsd xmm2, xmm12
mulsd xmm6, xmm7
mulsd xmm1, xmm14
movaps xmm14, xmm11
movaps xmm12, xmm2
pxor xmm7, xmm7
subsd xmm6, xmm1
mulsd xmm14, xmm11
mulsd xmm12, xmm2
movaps xmm1, xmm6
mulsd xmm1, xmm6
addsd xmm14, xmm12
addsd xmm14, xmm1
sqrtsd xmm14, xmm14
comisd xmm14, xmm7
movsd xmm7, qword [rsp + 0x288]
jbe 0x1400017de
movsd xmm1, qword [0x140010648]
movaps xmm12, xmm11
divsd xmm1, xmm14
movaps xmm11, xmm1
unpcklpd xmm12, xmm2
unpcklpd xmm11, xmm11
mulpd xmm12, xmm11
mulsd xmm6, xmm1
movaps xmm11, xmm12
unpckhpd xmm12, xmm12
movaps xmm2, xmm12
mulsd xmm10, xmm3
mulsd xmm9, xmm4
mov r10d, dword [rsp + 0x2a8]
addsd xmm10, xmm9
mulsd xmm8, xmm13
addsd xmm10, xmm8
mulsd xmm0, xmm11
mulsd xmm5, xmm2
addsd xmm0, xmm5
mulsd xmm7, xmm6
addsd xmm0, xmm7
comisd xmm10, xmm0
jb 0x14000185d
mov r11d, dword [rsp + 0x2b0]
mov r9d, dword [rsp + 0x2ac]
mov dword [rsp + 0x2c0], r11d
mov dword [rsp + 0x2c8], r11d
mov dword [rsp + 0x2b8], r10d
mov dword [rsp + 0x2bc], r9d
mov dword [rsp + 0x2c4], r10d
mov r11d, dword [rsp + 0x2b4]
jmp 0x14000189d
mov dword [rsp + 0x2b8], r10d
mov r9d, dword [rsp + 0x2ac]
mov r11d, dword [rsp + 0x2b4]
mov r10d, dword [rsp + 0x2b0]
mov dword [rsp + 0x2bc], r9d
mov dword [rsp + 0x2c0], r11d
mov dword [rsp + 0x2c4], r9d
mov dword [rsp + 0x2c8], r10d
mov rcx, rsi
mov edx, ebx
mov dword [rsp + 0x2cc], r11d
lea r8, [rsp + 0x304]
call sub.meshgems.dll_meshgems_mesh_get_quadrangle_tag
mov edx, r13d
mov rcx, rsi
add edx, dword [rsp + 0x2fc]
lea r8, [rsp + 0x2b8]
call sub.meshgems.dll_meshgems_mesh_set_triangle_vertices
mov edx, r13d
mov rcx, rsi
add edx, dword [rsp + 0x2fc]
lea r8, [rsp + 0x304]
call sub.meshgems.dll_meshgems_mesh_set_triangle_tag
mov r9d, dword [rsp + 0x2fc]
mov rcx, rsi
lea r8, [rsp + 0x2c4]
lea edx, [r13 + r9 + 1]
call sub.meshgems.dll_meshgems_mesh_set_triangle_vertices
mov r9d, dword [rsp + 0x2fc]
mov rcx, rsi
lea r8, [rsp + 0x304]
lea edx, [r13 + r9 + 1]
call sub.meshgems.dll_meshgems_mesh_set_triangle_tag
inc ebx
add r13d, 2
cmp ebx, dword [rsp + 0x300]
jle 0x1400013af
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x1e0]
movaps xmm9, xmmword [rsp + 0x1d0]
movaps xmm11, xmmword [rsp + 0x1c0]
movaps xmm12, xmmword [rsp + 0x1b0]
movaps xmm14, xmmword [rsp + 0x1a0]
mov rcx, rsi
xor edx, edx
call sub.meshgems.dll_meshgems_mesh_set_quadrangle_count
mov rcx, qword [rsp + 0x360]
lea rdx, [rsp + 0x310]
call sub.meshgems.dll_meshgems_mesh_get_vertex_count
mov rcx, qword [rsp + 0x360]
lea rdx, [rsp + 0x314]
call sub.meshgems.dll_meshgems_mesh_get_edge_count
mov rcx, qword [rsp + 0x360]
lea rdx, [rsp + 0x318]
call sub.meshgems.dll_meshgems_mesh_get_triangle_count
mov rcx, qword [rsp + 0x360]
lea rdx, [rsp + 0x30c]
call sub.meshgems.dll_meshgems_mesh_get_tetrahedron_count
cmp dword [rsp + 0x310], 0
jle 0x14000489d
cmp dword [rsp + 0x318], 0
jle 0x1400047bf
cmp qword [0x14001c740], 1
je 0x1400046d3
xor r13d, r13d
mov esi, 1
mov edx, esi
lea r8, [rsp + 0x31c]
mov rcx, qword [r8 + 0x44]
lea r9, [rsp + 0x2d4]
call sub.meshgems.dll_meshgems_mesh_get_triangle_extra_vertices
mov ebx, eax
test ebx, ebx
jne 0x140004a8f
cmp dword [rsp + 0x31c], 0x7d3
je 0x1400046c1
inc esi
cmp esi, dword [rsp + 0x318]
jle 0x140001a05
mov esi, dword [rsp + 0x310]
cmp dword [rsp + 0x30c], 0
jg 0x140002e1f
cmp qword [0x14001c750], 1
je 0x140003fd3
cmp qword [0x14001c748], 1
je 0x14000393b
mov rcx, qword [rsp + 0x360]
mov r9, qword [rsp + 0x370]
mov qword [rsp + 0x358], rcx
mov qword [rsp + 0x3a8], r9
cmp dword [r15], 1
jbe 0x140001cc9
test rcx, rcx
je 0x140002daf
lea rdx, [rsp + 0x314]
call sub.meshgems.dll_meshgems_mesh_get_edge_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x318]
call sub.meshgems.dll_meshgems_mesh_get_triangle_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x30c]
call sub.meshgems.dll_meshgems_mesh_get_tetrahedron_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x310]
call sub.meshgems.dll_meshgems_mesh_get_vertex_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x88]
call sub.meshgems.dll_meshgems_mesh_get_subdomain_count
mov r9, qword [0x14001b948]
cmp qword [r9 + 0x3b8], 0
jne 0x140001bc6
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movsxd rsi, esi
mov rcx, rax
lea rdx, str._____NUMBER_OF_GIVEN_VERTICES__t_t_t_lld_n
mov r8, rsi
call fcn.140004ac0
mov r13d, dword [rsp + 0x308]
test r13d, r13d
jne 0x140001b74
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____NUMBER_OF_GIVEN_TRIANGLES__t_t_t_lld_n
movsxd r8, dword [rsp + 0x318]
call fcn.140004ac0
jmp 0x140001c08
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add r13d, r13d
mov rcx, rax
mov r8d, dword [rsp + 0x318]
lea rdx, str._____NUMBER_OF_GIVEN_TRIANGLES__t_t_t_lld_n
sub r8d, r13d
movsxd r8, r8d
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movsxd r8, dword [rsp + 0x308]
mov rcx, rax
add r8, r8
lea rdx, str._____NUMBER_OF_GIVEN_TRIANGLES_FROM_QUAD__t_lld_n
call fcn.140004ac0
jmp 0x140001c08
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movsxd rsi, esi
mov rcx, rax
lea rdx, str._____NUMBER_OF_GIVEN_NODES__t_t_t_lld_n
mov r8, rsi
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____NUMBER_OF_GIVEN_P2_TRIANGLES__t_t_lld_n
movsxd r8, dword [rsp + 0x318]
call fcn.140004ac0
movsxd r13, dword [rsp + 0x314]
test r13, r13
jle 0x140001c32
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____NUMBER_OF_ADDITIONAL_PRESCRIBED_EDGES__t_lld_n
mov r8, r13
call fcn.140004ac0
movsxd r13, dword [rsp + 0x30c]
test r13, r13
jle 0x140001c5c
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____NUMBER_OF_TETRAHEDRA_t_t_t_lld_n
mov r8, r13
call fcn.140004ac0
mov r13d, dword [rsp + 0x88]
test r13d, r13d
jle 0x140001c93
cmp dword [rsp + 0x30c], 0
je 0x140001c93
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movsxd r13, r13d
mov rcx, rax
lea rdx, str._____NUMBER_OF_SUB_DOMAINS__t_t_t_lld_n
mov r8, r13
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____DATA_READING_COMPLETED_n
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov rcx, qword [rsp + 0x358]
test rcx, rcx
je 0x140002daf
mov rbx, qword [0x14001b948]
cmp dword [rbx + 0x290], 0
je 0x140001d04
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Mesh_creation_Ok__n
call fcn.140004ac0
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x30c]
call sub.meshgems.dll_meshgems_mesh_get_tetrahedron_count
cmp dword [rsp + 0x30c], 0
je 0x140001d42
mov rcx, qword [0x14001b948]
mov rbx, qword [rcx + 0x2a0]
cmp dword [rbx + 0x28], 1
je 0x140002ede
mov rdx, qword [rsp + 0x358]
call sub.mg_tetra.dll_meshgems_tetra_set_volume_mesh
jmp 0x140001d6b
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x318]
call sub.meshgems.dll_meshgems_mesh_get_triangle_count
mov rcx, qword [0x14001b948]
mov rdx, qword [rsp + 0x358]
call sub.mg_tetra.dll_meshgems_tetra_set_surface_mesh
test eax, eax
je 0x140001db7
cmp dword [rsp + 0x30c], 0
je 0x140001d98
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_set_volume_mesh__n
call fcn.140004ac0
jmp 0x140002b97
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_set_surface_mesh__n
call fcn.140004ac0
jmp 0x140002b97
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x310]
call sub.meshgems.dll_meshgems_mesh_get_vertex_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x314]
call sub.meshgems.dll_meshgems_mesh_get_edge_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x30c]
call sub.meshgems.dll_meshgems_mesh_get_tetrahedron_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x318]
call sub.meshgems.dll_meshgems_mesh_get_triangle_count
mov rbx, qword [0x14001b948]
cmp dword [rbx + 0x290], 0
je 0x140001e66
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r11, rsp
mov rcx, rax
mov ebx, dword [rsp + 0x314]
lea rdx, str._n_Read__d_vertices_n_______d_faces_n_______d_edges_n_______d_tetra_n
mov r10d, dword [rsp + 0x30c]
mov r8d, dword [rsp + 0x310]
mov r9d, dword [rsp + 0x318]
mov dword [r11 + 0x20], ebx
mov dword [r11 + 0x28], r10d
call fcn.140004ac0
mov rbx, qword [0x14001b948]
mov rbx, qword [rbx + 0x350]
test rbx, rbx
je 0x140001eb0
mov rdx, rbx
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x140001e9d
mov rax, rdx
add rdx, rcx
call fcn.14000d500
mov rdx, rbx
mov r8d, eax
mov rcx, qword [rsp + 0x358]
call sub.meshgems.dll_meshgems_mesh_set_signature
mov rdx, qword [rsp + 0x3a8]
test rdx, rdx
je 0x140001f22
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_sizemap
mov r13d, eax
mov rbx, qword [0x14001b948]
cmp dword [rbx + 0x290], 0
je 0x140001f03
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._s__d_sizemap_Ok_n
lea r8, str..._src_exe_mytet.c
mov r9d, 0x323
call fcn.140004ac0
test r13d, r13d
je 0x140001f22
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_set_volume_sizemap_n
call fcn.140004ac0
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
call fcn.140004ba0
movaps xmm15, xmm0
mov rbx, qword [0x14001b948]
cmp dword [rbx + 0x290], 0
je 0x140001ffe
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rbx, rax
call sub.mg_tetra.dll_meshgems_tetra_get_version_major
mov rcx, rbx
lea rdx, str.meshgems_tetra_get_version_major__d__n
mov r8d, eax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rbx, rax
call sub.mg_tetra.dll_meshgems_tetra_get_version_minor
mov rcx, rbx
lea rdx, str.meshgems_tetra_get_version_minor__d__n
mov r8d, eax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rbx, rax
call sub.mg_tetra.dll_meshgems_tetra_get_version_patch
mov rcx, rbx
lea rdx, str.meshgems_tetra_get_version_patch__d__n
mov r8d, eax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rbx, rax
call sub.mg_tetra.dll_meshgems_tetra_get_version_string
mov rcx, rbx
lea rdx, str.meshgems_tetra_get_version_string__s__n
mov r8, rax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rbx, rax
call sub.mg_tetra.dll_meshgems_tetra_get_version_ident_string
mov rcx, rbx
lea rdx, str.meshgems_tetra_get_version_ident_string__n_s__n
mov r8, rax
call fcn.140004ac0
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 1
call fcn.140004b30
lea rdx, str.qualfa
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
lea rdx, [0x140010fe0]
lea rcx, [rsp + 0xa0]
xor r8d, r8d
call fcn.140004b30
lea rdx, str.chrono_tetra
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
lea rdx, [0x140010fe0]
lea rcx, [rsp + 0xa0]
mov r8d, 1
call fcn.140004b30
lea rdx, str.chrono_tetra
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
cmp dword [rsp + 0x3b4], 0
jne 0x140003660
mov ebx, dword [rsp + 0x354]
test ebx, ebx
mov r13d, dword [r15 + 0x1c]
jne 0x1400020d4
cmp r13d, 0xffffffff
je 0x140002f05
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_mesh_boundary
mov ebx, eax
jmp 0x14000225f
cmp r13d, 0xffffffff
je 0x14000361c
cmp ebx, 1
jne 0x1400020ff
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_mesh_before_boundary_integrity
mov ebx, eax
cmp ebx, 0xffffffff
je 0x140002f3c
jmp 0x14000225f
cmp ebx, 2
jne 0x140002120
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_mesh_after_boundary_integrity
mov ebx, eax
cmp ebx, 0xffffffff
je 0x140002f5b
jmp 0x14000225f
movsd xmm2, qword [r15 + 0x88]
pxor xmm0, xmm0
ucomisd xmm2, xmm0
jp 0x140002139
je 0x1400035dc
cmp ebx, 6
je 0x140003536
mov rbx, qword [0x14001b948]
mov r9, qword [rbx + 0x2a0]
cmp dword [r9 + 0x18], 2
je 0x140003527
cmp dword [rsp + 0x3b8], 2
jne 0x14000217d
cmp dword [rsp + 0x30c], 0
jle 0x140002f7a
mov rcx, rbx
call sub.mg_tetra.dll_meshgems_tetra_optimise_volume_overconstrained
jmp 0x1400021a5
mov rcx, rbx
call sub.mg_tetra.dll_meshgems_tetra_compute_mesh
mov ebx, eax
cmp dword [rsp + 0x3b8], 0
je 0x1400021a7
test ebx, 0xfffffffe
jne 0x1400021a7
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_optimise_volume_overconstrained
mov ebx, eax
cmp dword [rsp + 0x3bc], 0
je 0x1400021c7
test ebx, 0xfffffffe
jne 0x1400021c7
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_optimise_volume_sliver
mov ebx, eax
mov r10, qword [0x14001b948]
cmp dword [r10 + 0x290], 0
je 0x14000225f
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._pointi__d_n
mov r8d, dword [rsp + 0x354]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._olevel__d__n
mov r8d, r13d
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._femcut__d__n
mov r8d, dword [rsp + 0x3b8]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._sliver__d__n
mov r8d, dword [rsp + 0x3bc]
call fcn.140004ac0
lea rdx, [0x140010fe0]
lea rcx, [rsp + 0xa0]
mov r8d, 2
call fcn.140004b30
lea rdx, str.chrono_tetra
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
cmp ebx, 0xffffe88f
je 0x140002b97
cmp ebx, 0xffffe890
je 0x140002b97
mov r10, qword [0x14001b948]
cmp dword [r10 + 0x290], 0
je 0x14000233a
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._s__d
lea r8, str..._src_exe_mytet.c
mov r9d, 0x49e
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r10, qword [0x14001b948]
mov rcx, rax
lea rdx, str._tms__iopt__ld_ret__ld__n
mov r9d, ebx
mov r8d, dword [r10 + 0x510]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r10, qword [0x14001b948]
mov rcx, rax
lea rdx, str._tms__meshp2__ld__n
mov r9d, ebx
mov r8d, dword [r10 + 0x3b8]
call fcn.140004ac0
test ebx, 0xfffffffe
jne 0x1400023a6
mov rcx, qword [0x14001b948]
cmp qword [rcx + 0x3b8], 0
je 0x1400023a6
call sub.mg_tetra.dll_meshgems_tetra_mesh_meshp2
mov ebx, eax
mov r10, qword [0x14001b948]
cmp dword [r10 + 0x290], 0
je 0x140002399
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r10, rsp
mov rcx, rax
lea rdx, str._s__d_ret__d
lea r8, str..._src_exe_mytet.c
mov r9d, 0x4a9
mov dword [r10 + 0x20], ebx
call fcn.140004ac0
test ebx, ebx
je 0x1400023a6
cmp ebx, 1
jne 0x140002b97
call fcn.140004ba0
movaps xmm10, xmm0
subsd xmm10, xmm15
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov rcx, qword [0x14001b948]
mov r10, qword [rcx + 0x2a0]
mov r11, qword [rcx + 0x510]
cmp dword [r10 + 0xb8], 0
je 0x1400023fa
test r11, r11
jne 0x1400024ea
mov ebx, 1
mov qword [rcx + 0x510], rbx
mov qword [rcx + 0x410], rbx
jmp 0x1400024ea
cmp r11, 1
je 0x1400024ea
test ebx, ebx
je 0x1400024ea
cmp ebx, 1
je 0x1400024ea
cmp ebx, 0xfffffffb
je 0x1400024b2
cmp ebx, 0xffffffff
je 0x140002ffc
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_______NO_SAVING_OPERATION_n
call fcn.140004ac0
mov rcx, qword [0x14001b948]
cmp dword [rcx + 0x290], 0
je 0x140002475
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Unable_to_generate_mesh___d___n
mov r8d, ebx
call fcn.140004ac0
mov rcx, qword [0x14001b948]
mov qword [rcx + 0x4c8], rdi
mov qword [rcx + 0x380], rdi
mov r8, qword [rsp + 0x388]
test r8, r8
jne 0x1400024a1
mov r8, qword [rsp + 0x378]
test r8, r8
je 0x140002b9e
lea rdx, str.output_tetra_files_close
call sub.mg_tetra.dll_meshgems_tetra_set_param
jmp 0x140002b97
cmp dword [rcx + 0x290], 0
je 0x1400024dc
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._probleme_memoire_n
call fcn.140004ac0
mov rcx, qword [0x14001b948]
cmp qword [rcx + 0x510], 0
je 0x140002b3d
mov qword [rsp + 0x3a0], 0
cmp qword [rcx + 0x510], 1
jne 0x14000252c
mov ebx, dword [rsp + 0x354]
dec ebx
cmp ebx, 1
ja 0x14000251d
lea rdx, [rsp + 0x3a0]
call sub.mg_tetra.dll_meshgems_tetra_get_mesh_with_outer_box
jmp 0x140002539
lea rdx, [rsp + 0x3a0]
call sub.mg_tetra.dll_meshgems_tetra_get_mesh_boite
jmp 0x140002539
lea rdx, [rsp + 0x3a0]
call sub.mg_tetra.dll_meshgems_tetra_get_mesh
test eax, eax
je 0x140002570
mov rcx, qword [0x14001b948]
cmp dword [rcx + 0x290], 0
je 0x140002b9e
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_get_resulting_mesh__n
call fcn.140004ac0
jmp 0x140002b97
mov rcx, qword [0x14001b948]
lea rdx, [rsp + 0x80]
call sub.mg_tetra.dll_meshgems_tetra_get_sizemap
test eax, eax
je 0x1400025bb
mov rcx, qword [0x14001b948]
cmp dword [rcx + 0x290], 0
je 0x140002b9e
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_get_resulting_mesh__n
call fcn.140004ac0
jmp 0x140002b97
mov rcx, qword [0x14001b948]
mov rbx, qword [rcx + 0x2a0]
cmp dword [rbx], 0
je 0x140002637
cmp qword [rcx + 0x510], 1
je 0x140002637
call sub.mg_tetra.dll_meshgems_tetra_compute_volcon
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_compute_outqua
mov rcx, qword [0x14001b948]
mov rbx, qword [rcx + 0x2a0]
cmp dword [rbx], 0xa
jle 0x140002611
cmp dword [rcx + 0x290], 0
je 0x140002611
call sub.mg_tetra.dll_meshgems_tetra_compute_outvol
mov rcx, qword [0x14001b948]
mov rbx, qword [rcx + 0x2a0]
cmp dword [rbx], 0xa
jle 0x140002637
cmp dword [rcx + 0x290], 0
je 0x140002637
call sub.mg_tetra.dll_meshgems_tetra_compute_hautel
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_compute_outdie
mov rcx, qword [rsp + 0x388]
test rcx, rcx
je 0x140003511
mov rax, qword [0x14001b948]
cmp qword [rax + 0x510], 1
je 0x140003406
call fcn.14000d530
mov rbp, rax
mov rdx, rbp
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x140002690
mov rax, rdx
add rdx, rcx
call fcn.14000d500
add rax, 0x64
mov edx, 1
mov rcx, rax
call sub.meshgems_stubs.dll_meshgems_calloc
mov rbx, rax
test rbx, rbx
je 0x1400033e7
mov rdx, rbx
mov rcx, rbp
test cl, 3
je 0x1400026cb
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x1400026d0
inc rdx
test cl, 3
jne 0x1400026b8
call fcn.14000d5b0
mov rcx, rbx
lea rdx, str..mesh
call fcn.14000cc90
test rax, rax
je 0x1400026e7
mov byte [rax], 0
mov r9, qword [0x14001b948]
cmp qword [r9 + 0x510], 1
je 0x1400033a1
cmp qword [0x14001c788], 1
je 0x14000338d
mov rax, rbx
lea rdx, str..sol
call fcn.14000d710
mov r9d, dword [r15]
cmp r9d, 1
jbe 0x14000273f
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_____WRITING_THE_OUTPUT_FILES_n
call fcn.140004ac0
mov r9d, dword [r15]
test r9d, r9d
je 0x140002792
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Writing_volume_mesh_in__s_n
mov r8, rbp
call fcn.140004ac0
mov r9, qword [0x14001b948]
cmp qword [r9 + 0x510], 1
je 0x14000278f
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Writing_volume_sizemap_in__s_n
mov r8, rbx
call fcn.140004ac0
mov r9d, dword [r15]
cmp r9d, 2
jbe 0x140002949
mov rcx, qword [rsp + 0x3a0]
lea rdx, [rsp + 0x310]
call sub.meshgems.dll_meshgems_mesh_get_vertex_count
mov rcx, qword [rsp + 0x3a0]
lea rdx, [rsp + 0x314]
call sub.meshgems.dll_meshgems_mesh_get_edge_count
mov rcx, qword [rsp + 0x3a0]
lea rdx, [rsp + 0x30c]
call sub.meshgems.dll_meshgems_mesh_get_tetrahedron_count
mov rcx, qword [rsp + 0x3a0]
lea rdx, [rsp + 0x88]
call sub.meshgems.dll_meshgems_mesh_get_subdomain_count
mov r9, qword [0x14001b948]
cmp qword [r9 + 0x3b8], 0
jne 0x140002893
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movsxd rsi, esi
mov rcx, rax
lea rdx, str._____NUMBER_OF_GIVEN_VERTICES________t_t_lld_n
mov r8, rsi
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movsxd r8, dword [rsp + 0x310]
mov rcx, rax
sub r8, rsi
lea rdx, str._____NUMBER_OF_CREATED_VERTICES__t_t_lld_n
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____TOTAL_NUMBER_OF_VERTICES_________t_t_lld_n
movsxd r8, dword [rsp + 0x310]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____NUMBER_OF_TETRAHEDRA__________t_t_lld_n
movsxd r8, dword [rsp + 0x30c]
call fcn.140004ac0
jmp 0x14000291c
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movsxd rsi, esi
mov rcx, rax
lea rdx, str._____NUMBER_OF_GIVEN_NODES________t_t_lld_n
mov r8, rsi
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movsxd r8, dword [rsp + 0x310]
mov rcx, rax
sub r8, rsi
lea rdx, str._____NUMBER_OF_CREATED_NODES____t_t_t_lld_n
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____TOTAL_NUMBER_OF_NODES________t_t_lld_n
movsxd r8, dword [rsp + 0x310]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____NUMBER_OF_P2_TETRAHEDRA____t_t_t_lld_n
movsxd r8, dword [rsp + 0x30c]
call fcn.140004ac0
movsxd rsi, dword [rsp + 0x88]
test rsi, rsi
jle 0x140002946
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____NUMBER_OF_SUB_DOMAINS_______t_t_lld_n
mov r8, rsi
call fcn.140004ac0
mov r9d, dword [r15]
cmp r9d, 1
jbe 0x14000297d
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____WRITING_COMPLETED_n
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov rdx, rbp
mov rcx, qword [rsp + 0x3a0]
call sub.meshgems.dll_meshgems_mesh_write_mesh
mov rsi, qword [0x14001b948]
cmp qword [rsi + 0x510], 1
je 0x140003253
mov rdx, rbx
mov rcx, qword [rsp + 0x80]
call sub.meshgems.dll_meshgems_sizemap_write_sol
test rbx, rbx
je 0x1400029bf
mov rcx, rbx
call sub.meshgems_stubs.dll_meshgems_free
call fcn.140004ba0
movaps xmm13, xmm0
subsd xmm13, xmm15
mov rcx, qword [0x14001b948]
cmp dword [rcx + 0x290], 0
je 0x140002a2a
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movaps xmm2, xmm13
mov rcx, rax
movq r8, xmm2
lea rdx, str._____Total_Elapsed_time__g_s_n
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movaps xmm2, xmm10
mov rcx, rax
movq r8, xmm2
lea rdx, str._____Meshing_Elapsed_time__g_s_n
call fcn.140004ac0
mov rcx, qword [0x14001b948]
cmp dword [rsp + 0x3b0], 0
je 0x140002add
mov ebx, dword [rcx + 0x4c8]
mov ecx, 1
mov dword [rsp + 0x30c], ebx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_____CPU_REQUIREMENTS_n
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movaps xmm2, xmm13
mov rcx, rax
movq r8, xmm2
lea rdx, str._n_____Total_Elapsed_time__g_SEC._n
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pxor xmm1, xmm1
mov rbx, rsp
cvtsi2sd xmm1, dword [rsp + 0x30c]
mulsd xmm1, qword [0x140010640]
mov rcx, rax
movaps xmm0, xmm1
lea rdx, str.________i_ELEMENTS___i___WITHIN_A_MN.__FOR__s_n
divsd xmm0, xmm13
cvttsd2si r8d, xmm0
divsd xmm1, xmm10
cvttsd2si r9d, xmm1
mov qword [rbx + 0x20], rbp
call fcn.140004ac0
mov rcx, qword [0x14001b948]
neg qword [rcx + 0x4c8]
lea rdx, str.output_tetra_files_close
mov r8, rbp
call sub.mg_tetra.dll_meshgems_tetra_set_param
mov esi, eax
test rbp, rbp
je 0x140002afe
mov rcx, rbp
call sub.meshgems_stubs.dll_meshgems_free
mov rbp, rdi
cmp dword [rsp + 0x3b0], 0
je 0x140002b24
mov rbx, qword [0x14001b948]
mov eax, dword [rbx + 0x4c8]
cdq
xor eax, edx
sub eax, edx
movsxd rax, eax
mov qword [rbx + 0x4c8], rax
cmp esi, 0xfffffffb
je 0x140003220
cmp dword [rsp + 0x3c0], 1
je 0x140003028
jmp 0x140002b97
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_______NO_SAVING_OPERATION_n
call fcn.140004ac0
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 1
mov qword [0x14001b940], 1
call fcn.140004b30
lea rdx, str.set_tetra_code_error
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
mov rcx, qword [0x14001b948]
mov rdx, qword [rsp + 0x3a0]
call sub.mg_tetra.dll_meshgems_tetra_regain_mesh
mov rbx, qword [0x14001b948]
test rbx, rbx
je 0x140002bfb
cmp dword [rbx + 0x290], 0
je 0x140002be8
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._delete_session__ld__n
mov r8d, dword [rbx + 0x4c8]
call fcn.140004ac0
mov rbx, qword [0x14001b948]
mov rcx, rbx
call sub.mg_tetra.dll_meshgems_tetra_session_delete
mov qword [0x14001b948], 0
mov rbx, qword [0x14001b950]
test rbx, rbx
je 0x140002c4b
cmp dword [rbx + 0x290], 0
je 0x140002c38
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._delete_session__ld__n
mov r8d, dword [rbx + 0x4c8]
call fcn.140004ac0
mov rbx, qword [0x14001b950]
mov rcx, rbx
call sub.mg_tetra.dll_meshgems_tetra_session_delete
mov qword [0x14001b950], 0
mov rbx, qword [0x14001b958]
test rbx, rbx
je 0x140002c9b
cmp dword [rbx + 0x290], 0
je 0x140002c88
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._delete_session__ld__n
mov r8d, dword [rbx + 0x4c8]
call fcn.140004ac0
mov rbx, qword [0x14001b958]
mov rcx, rbx
call sub.mg_tetra.dll_meshgems_tetra_session_delete
mov qword [0x14001b950], 0
mov rbx, qword [0x14001b960]
test rbx, rbx
je 0x140002ceb
cmp dword [rbx + 0x244], 0
je 0x140002cd8
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._delete_session_gam_ld__n
mov r8d, dword [rbx + 0x2a8]
call fcn.140004ac0
mov rbx, qword [0x14001b960]
mov rcx, rbx
call sub.mg_tetra.dll_meshgems_gamhic_session_delete
mov qword [0x14001b960], 0
mov rcx, qword [rsp + 0x358]
test rcx, rcx
je 0x140002cfd
call sub.meshgems.dll_meshgems_mesh_delete
mov rcx, qword [rsp + 0x3a0]
test rcx, rcx
je 0x140002d0f
call sub.meshgems.dll_meshgems_mesh_delete
mov rcx, r12
call sub.meshgems.dll_meshgems_context_delete
mov rcx, qword [rsp + 0x378]
test rcx, rcx
je 0x140002d29
call sub.meshgems_stubs.dll_meshgems_free
mov rcx, qword [rsp + 0x380]
test rcx, rcx
je 0x140002d3b
call sub.meshgems_stubs.dll_meshgems_free
mov rcx, qword [rsp + 0x388]
test rcx, rcx
je 0x140002d4d
call sub.meshgems_stubs.dll_meshgems_free
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x140002d5f
call sub.meshgems_stubs.dll_meshgems_free
mov rcx, qword [rsp + 0x390]
test rcx, rcx
je 0x140002d71
call sub.meshgems_stubs.dll_meshgems_free
test rbp, rbp
je 0x140002d7e
mov rcx, rbp
call sub.meshgems_stubs.dll_meshgems_free
movaps xmm10, xmmword [rsp + 0x320]
xor eax, eax
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp ebx, 0xfffffffb
je 0x140003892
mov rdx, qword [0x14001b948]
cmp ebx, 0xffffffff
je 0x14000385f
cmp dword [rdx + 0x290], 0
je 0x140002deb
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Mesh_creation_failed__n
call fcn.140004ac0
movaps xmm10, xmmword [rsp + 0x320]
mov eax, 0xffffffff
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movsxd rsi, esi
mov edx, 8
inc rsi
mov rcx, rsi
call sub.meshgems_stubs.dll_meshgems_calloc
test rax, rax
jne 0x140004372
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov ecx, 1
mov qword [0x14001b940], 0x3eb
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140010b08]
call fcn.140004ac0
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, dword [0x14001b940]
call fcn.140004b30
lea rdx, str.set_tetra_code_error
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
movaps xmm10, xmmword [rsp + 0x320]
mov eax, 0xfffffffb
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_n_____ERROR_:_Unable_to_create_proximity_on_a_volume_mesh:__s_n_n
mov r8, qword [rsp + 0x380]
call fcn.140004ac0
jmp 0x140002b97
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
xor r8d, r8d
call fcn.140004b30
lea rdx, str.optimisation_level
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
jmp 0x1400020c1
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_______NO_SAVING_OPERATION_n
call fcn.140004ac0
jmp 0x140002b57
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_______NO_SAVING_OPERATION_n
call fcn.140004ac0
jmp 0x140002b57
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rsi, rax
mov edx, 0x86
mov ecx, dword [rbx + 0x30]
call sub.mg_tetra.dll_meshgems_tetra_newcoderr_str
mov rcx, rsi
lea rdx, str._n__ERR__s:_NO_TETRAHEDRA._STOP_n
mov r8, rax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Number_of_tetrahedra___ld_n
mov r8d, dword [rsp + 0x30c]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 0x86
call fcn.140004b30
jmp 0x140002b7c
cmp dword [rcx + 0x290], 0
je 0x140002427
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._Erreur_1_n
call fcn.140004ac0
jmp 0x140002427
mov rdx, qword [rsp + 0x388]
test rdx, rdx
je 0x140003170
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x140003061
mov rax, rdx
add rdx, rcx
call fcn.14000d500
add rax, 0x14
mov edx, 1
mov rcx, rax
call sub.meshgems_stubs.dll_meshgems_calloc
mov rbp, rax
mov rdx, rbp
mov rcx, qword [rsp + 0x388]
test cl, 3
je 0x140003098
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x14000309d
inc rdx
test cl, 3
jne 0x140003085
call fcn.14000d5b0
mov rcx, rbp
lea rdx, str..mesh
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x1400030b5
mov byte [rax], 0
mov rax, rbp
lea rdx, str._inria.mesh
call fcn.14000d710
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._Writing_Inria_volume__mesh_in__s_n
mov r8, rbp
call fcn.140004ac0
mov rdx, rbp
mov rcx, qword [rsp + 0x3a0]
call sub.meshgems.dll_meshgems_mesh_write_mesh
mov rbx, rsp
mov rdx, rbp
mov r8d, 1
mov r9d, 0xb
mov rcx, qword [rsp + 0x3a0]
mov dword [rbx + 0x20], 6
call sub.meshgems.dll_meshgems_mesh_write_mesh_extended
mov rcx, rbp
lea rdx, str..mesh
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x14000312f
mov byte [rax], 0
mov rax, rbp
lea rdx, str..sol
call fcn.14000d710
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._Writing_Inria_volume_size_map__in__s_n
mov r8, rbp
call fcn.140004ac0
mov rdx, rbp
mov rcx, qword [rsp + 0x80]
call sub.meshgems.dll_meshgems_sizemap_write_sol
jmp 0x140002b97
mov rdx, qword [rsp + 0x380]
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1400031a0
mov rax, rdx
add rdx, rcx
call fcn.14000d500
add rax, 0x14
mov edx, 1
mov rcx, rax
call sub.meshgems_stubs.dll_meshgems_calloc
mov rbp, rax
mov rdx, rbp
mov rcx, qword [rsp + 0x380]
test cl, 3
je 0x1400031d7
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x1400031dc
inc rdx
test cl, 3
jne 0x1400031c4
call fcn.14000d5b0
mov rcx, rbp
lea rdx, str..mesh
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x1400031f4
mov byte [rax], 0
mov rcx, rbp
lea rdx, [0x1400114f0]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x14000320c
mov byte [rax], 0
mov rax, rbp
lea rdx, str.Vol_inria.mesh
call fcn.14000d710
jmp 0x1400030c4
mov rbx, qword [0x14001b948]
cmp dword [rbx + 0x290], 0
je 0x140002b2d
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._probleme_memoire_n
call fcn.140004ac0
jmp 0x140002b2d
mov rcx, rbx
lea rdx, [0x1400108e8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov r13, rax
test r13, r13
je 0x1400029b2
mov edx, 8
lea rcx, [rsi + 0x478]
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov edx, 8
lea rcx, [rsi + 0x488]
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov edx, 8
lea rcx, [rsi + 0x498]
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov edx, 8
lea r14, [rsi + 0x448]
mov rcx, r14
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, r14
mov edx, 8
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov edx, 8
lea rcx, [rsi + 0x450]
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov edx, 8
lea rcx, [rsi + 0x458]
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov edx, 8
lea rcx, [rsi + 0x460]
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov edx, 8
lea rcx, [rsi + 0x468]
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add rsi, 0x470
mov edx, 8
mov rcx, rsi
mov r8d, 1
mov r9, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x1400029b2
mov rax, rbx
lea rdx, str..solb
call fcn.14000d710
jmp 0x140002719
mov rax, rbx
lea rdx, str..map
call fcn.14000d710
mov r9, qword [0x14001b948]
cmp dword [r9 + 0x290], 0
je 0x140002719
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Writing_volume_map_in__s_n
mov r8, rbx
call fcn.140004ac0
jmp 0x140002719
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Error_:_unable_to_allocate_sol_file_n
call fcn.140004ac0
jmp 0x1400026ad
mov rdx, qword [rsp + 0x380]
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x140003436
mov rax, rdx
add rdx, rcx
call fcn.14000d500
add rax, 0x64
mov edx, 1
mov rcx, rax
call sub.meshgems_stubs.dll_meshgems_calloc
mov rbp, rax
test rbp, rbp
je 0x1400034f2
mov rdx, rbp
mov rcx, qword [rsp + 0x380]
test cl, 3
je 0x140003476
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x14000347b
inc rdx
test cl, 3
jne 0x140003463
call fcn.14000d5b0
mov rcx, rbp
lea rdx, str..mesh
call fcn.14000cc90
test rax, rax
je 0x140003492
mov byte [rax], 0
cmp qword [0x14001c788], 0
jne 0x1400034ad
mov rax, rbp
lea rdx, str..boite.mesh
call fcn.14000d710
jmp 0x1400034bc
mov rax, rbp
lea rdx, str..boite.meshb
call fcn.14000d710
mov rbx, qword [0x14001b948]
cmp dword [rbx + 0x290], 0
je 0x140002665
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._volume_mesh__in__s_n
mov r8, rbp
call fcn.140004ac0
jmp 0x140002665
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Error_:_unable_to_allocate_boite_file_n
call fcn.140004ac0
jmp 0x140003453
mov rcx, qword [rsp + 0x378]
test rcx, rcx
jne 0x14000265d
jmp 0x140002b97
mov rcx, rbx
call sub.mg_tetra.dll_meshgems_tetra_mesh_boundary_recovery
mov ebx, eax
jmp 0x14000225f
cmp dword [rsp + 0x30c], 0
jle 0x140003553
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_optimise_volume_regular
mov ebx, eax
jmp 0x14000225f
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rsi, rax
mov rbx, qword [0x14001b948]
mov edx, 0x86
mov ecx, dword [rbx + 0x30]
call sub.mg_tetra.dll_meshgems_tetra_newcoderr_str
mov rcx, rsi
lea rdx, str._n__ERR__s:_NO_TETRAHEDRA._STOP_n
mov r8, rax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Number_of_tetrahedra___ld_n
mov r8d, dword [rsp + 0x30c]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 0x86
call fcn.140004b30
jmp 0x140002b7c
movq r8, xmm2
lea rcx, [rsp + 0xa0]
lea rdx, [0x140011090]
call fcn.140004b30
lea rdx, str.QualTarget
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
mov ebx, dword [rsp + 0x354]
jmp 0x140002139
mov r13d, 3
lea rcx, [rsp + 0xa0]
lea rdx, [0x14001097c]
mov r8d, r13d
call fcn.140004b30
lea rdx, str.optimisation_level
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
mov ebx, dword [rsp + 0x354]
jmp 0x1400020de
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_default_actions
mov ebx, dword [rsp + 0x354]
test ebx, ebx
jne 0x14000369c
lea rdx, str.volume_vertices_inserted
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_unset_actions
cmp dword [r15 + 0x1c], 0xffffffff
je 0x140003815
mov ebx, dword [rsp + 0x354]
cmp ebx, 2
je 0x1400037f6
mov ebx, dword [r15 + 0x1c]
lea rcx, [rsp + 0xa0]
lea rdx, [0x14001097c]
mov r8d, ebx
call fcn.140004b30
lea rdx, str.optimisation_level
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
cmp ebx, 0xffffffff
je 0x1400037bc
test ebx, ebx
jne 0x1400036fb
lea rdx, str.volume_optimised
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_unset_actions
cmp dword [rsp + 0x354], 6
je 0x140003798
mov ebx, dword [rsp + 0x3b8]
cmp ebx, 1
jne 0x14000372a
lea rdx, str.volume_overconstrained
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_actions
jmp 0x140003768
cmp ebx, 2
jne 0x140003768
lea rdx, str.volume_overconstrained
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_actions
lea rdx, str.volume_vertices_inserted
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_unset_actions
lea rdx, str.volume_optimised
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_unset_actions
cmp dword [rsp + 0x3bc], 0
je 0x140003785
lea rdx, str.volume_del_topo_slivers
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_actions
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_mesh_boundary_recovery
mov ebx, eax
jmp 0x14000225f
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_reset_actions
lea rdx, str.volume_optimised
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_actions
jmp 0x140003709
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 3
call fcn.140004b30
lea rdx, str.optimisation_level
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
jmp 0x1400036fb
mov rcx, qword [0x14001b948]
mov rbx, qword [rcx + 0x298]
call sub.mg_tetra.dll_meshgems_tetra_reset_actions
mov dword [rbx + 4], 0xffffffff
jmp 0x140003785
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
xor r8d, r8d
call fcn.140004b30
lea rdx, str.optimisation_level
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
lea rdx, str.volume_optimised
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_unset_actions
jmp 0x140003695
cmp dword [rdx + 0x290], 0
je 0x140002dc8
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._Erreur_de_donnees_n
call fcn.140004ac0
mov rdx, qword [0x14001b948]
jmp 0x140002dc8
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov ecx, 1
mov qword [0x14001b940], 0x3eb
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140010b08]
call fcn.140004ac0
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, dword [0x14001b940]
call fcn.140004b30
lea rdx, str.set_tetra_code_error
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
mov rdx, qword [0x14001b948]
cmp dword [rdx + 0x290], 0
je 0x140002dc8
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._probleme_memoire_n
call fcn.140004ac0
mov rdx, qword [0x14001b948]
jmp 0x140002dc8
mov r11, rsp
lea rbx, [rsp + 0x3a8]
mov rcx, r12
lea r8, [rsp + 0x350]
mov rdx, qword [rbx - 0x28]
lea r9, [rsp + 0x360]
mov dword [rbx - 0x58], 2
mov qword [r11 + 0x20], r14
lea r14, [rsp + 0x358]
mov qword [r11 + 0x28], r14
mov qword [r11 + 0x30], rbx
mov r10, qword [0x14001b948]
add r10, 0x448
mov qword [r11 + 0x38], r10
call fcn.140004be0
mov ebx, eax
mov r9, qword [0x14001b948]
mov qword [r9 + 0x510], 1
mov qword [r9 + 0x378], 8
mov r9, qword [r9 + 0x350]
test r9, r9
je 0x140003a62
mov rdx, r9
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1400039e9
mov rax, rdx
add rdx, rcx
call fcn.14000d500
mov rdx, r9
mov r8d, eax
mov rcx, qword [rsp + 0x360]
call sub.meshgems.dll_meshgems_mesh_set_signature
mov rcx, qword [0x14001b948]
mov rdx, qword [rsp + 0x360]
call sub.mg_tetra.dll_meshgems_tetra_set_surface_mesh
mov rbx, qword [0x14001b948]
lea rcx, [rsp + 0xa0]
lea rdx, [0x140010ad8]
mov r8, qword [rbx + 0x350]
call fcn.140004b30
lea rdx, str.valid_kskin_boite
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
mov ebx, eax
mov r9, qword [0x14001b948]
test ebx, ebx
mov qword [r9 + 8], 0
je 0x140003a6f
mov rcx, qword [rsp + 0x358]
jmp 0x140001a97
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x310]
call sub.meshgems.dll_meshgems_mesh_get_vertex_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x314]
call sub.meshgems.dll_meshgems_mesh_get_edge_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x318]
call sub.meshgems.dll_meshgems_mesh_get_triangle_count
mov rcx, qword [rsp + 0x358]
lea rdx, [rsp + 0x30c]
call sub.meshgems.dll_meshgems_mesh_get_tetrahedron_count
mov r9d, dword [rsp + 0x314]
mov r14d, r9d
mov r8d, dword [rsp + 0x30c]
mov edx, r8d
shr r14d, 8
mov r11d, r8d
mov eax, dword [rsp + 0x310]
add r14d, eax
mov ecx, dword [rsp + 0x318]
mov r13d, ecx
shr edx, 0x10
shr r13d, 8
add r14d, edx
mov edx, eax
add r13d, r9d
mov r10, qword [0x14001b948]
shr edx, 0x10
shr r11d, 8
add r13d, edx
mov edx, r9d
add r11d, ecx
mov rdi, qword [r10 + 0x350]
mov r10d, eax
shr edx, 0x10
shr r10d, 8
add r11d, edx
mov edx, ecx
add r10d, r8d
shr edx, 0x10
add r10d, edx
shr ecx, 0x18
add r11d, ecx
shr r8d, 0x18
add r10d, r8d
shr r9d, 0x18
add r13d, r9d
shr eax, 0x18
movzx ecx, byte [0x14001a068]
add r14d, eax
movzx r9d, byte [0x14001a069]
xor ecx, r14d
movzx eax, byte [0x14001a06a]
xor r9d, r13d
xor eax, r11d
movzx r8d, byte [0x14001a06b]
mov dword [rsp + 0x90], eax
xor r8d, r10d
mov byte [rsp + 0x82], al
movzx eax, byte [0x14001a06c]
movzx edx, byte [0x14001a06d]
mov dword [rsp + 0x88], r8d
mov byte [rsp + 0x83], r8b
movzx r8d, byte [0x14001a06e]
xor r13d, edx
xor r11d, r8d
lea rdx, str.b9476b85b1e6a3a25540bf50a608ef695db7914cdaa6011bd9969ac5560f3f3057aab5089157abe59870b15f58ef9483b2
mov r8, rdi
sub r8, rdx
sub rdx, rdi
xor r14d, eax
movzx eax, byte [0x14001a06f]
xor r10d, eax
xor eax, eax
cmp r8, 0x62
mov r8d, 1
cmovg eax, r8d
cmp rdx, 0x62
mov qword [rsp + 0x98], rdi
mov edx, 0
mov edi, r8d
cmovg edx, edi
xor edi, edi
mov byte [rsp + 0x80], cl
or eax, edx
mov byte [rsp + 0x81], r9b
mov byte [rsp + 0x84], r14b
mov byte [rsp + 0x85], r13b
mov byte [rsp + 0x86], r11b
mov byte [rsp + 0x87], r10b
je 0x140003f5f
mov r10, qword [rsp + 0x98]
movzx r9d, word [0x14001a060]
mov word [r10 + 0x60], r9w
mov r9d, 0x60
lea r10, [0x140000000]
lea r13, [0x140000000]
mov r11, qword [r10 + r9 + 0x19ff8]
mov r10, qword [rsp + 0x98]
mov qword [r10 + r9 - 8], r11
mov r11, r13
mov r14, qword [r13 + r9 + 0x19ff0]
mov qword [r10 + r9 - 0x10], r14
mov r11, qword [r11 + r9 + 0x19fe8]
mov qword [r10 + r9 - 0x18], r11
mov r11, r13
mov r11, qword [r11 + r9 + 0x19fe0]
mov qword [r10 + r9 - 0x20], r11
sub r9, 0x20
jne 0x140003c4f
movzx r10d, byte [rsp + 0x82]
movzx r11d, byte [rsp + 0x83]
mov dword [rsp + 0x90], r10d
mov dword [rsp + 0x88], r11d
movzx ecx, byte [rsp + 0x80]
movzx r9d, byte [rsp + 0x81]
movzx r14d, byte [rsp + 0x84]
movzx r13d, byte [rsp + 0x85]
movzx r11d, byte [rsp + 0x86]
movzx r10d, byte [rsp + 0x87]
cmp qword [rsp + 0x98], 0xffffffffffffff9e
je 0x140003d44
lea r8, [0x140000000]
movzx edx, cl
mov ecx, edx
and edx, 0xf
shr ecx, 4
mov r8b, byte [r8 + rcx + 0x10600]
mov ecx, edx
lea rdx, [0x140000000]
mov rax, qword [rsp + 0x98]
mov byte [rax + 0x62], r8b
mov dl, byte [rdx + rcx + 0x10600]
mov byte [rax + 0x63], dl
mov byte [rax + 0x64], 0
cmp qword [rsp + 0x98], 0xffffffffffffff9c
je 0x140003d8b
lea rcx, [0x140000000]
movzx r9d, r9b
mov edx, r9d
and r9d, 0xf
shr edx, 4
mov r8b, byte [rcx + rdx + 0x10600]
mov rdx, rcx
mov rax, qword [rsp + 0x98]
mov byte [rax + 0x64], r8b
mov r9b, byte [rdx + r9 + 0x10600]
mov byte [rax + 0x65], r9b
mov byte [rax + 0x66], 0
cmp qword [rsp + 0x98], 0xffffffffffffff9a
je 0x140003dd7
lea rdx, [0x140000000]
movzx eax, byte [rsp + 0x90]
mov r9d, eax
shr r9d, 4
mov r8, rdx
and eax, 0xf
mov cl, byte [rdx + r9 + 0x10600]
mov r9, qword [rsp + 0x98]
mov byte [r9 + 0x66], cl
mov dl, byte [r8 + rax + 0x10600]
mov byte [r9 + 0x67], dl
mov byte [r9 + 0x68], 0
cmp qword [rsp + 0x98], 0xffffffffffffff98
je 0x140003e23
lea rdx, [0x140000000]
movzx eax, byte [rsp + 0x88]
mov r9d, eax
shr r9d, 4
mov r8, rdx
and eax, 0xf
mov cl, byte [rdx + r9 + 0x10600]
mov r9, qword [rsp + 0x98]
mov byte [r9 + 0x68], cl
mov dl, byte [r8 + rax + 0x10600]
mov byte [r9 + 0x69], dl
mov byte [r9 + 0x6a], 0
cmp qword [rsp + 0x98], 0xffffffffffffff96
je 0x140003e6b
lea rax, [0x140000000]
movzx r14d, r14b
mov r9d, r14d
and r14d, 0xf
mov rdx, qword [rsp + 0x98]
shr r9d, 4
mov r9b, byte [rax + r9 + 0x10600]
mov byte [rdx + 0x6a], r9b
mov r9, rax
mov r9b, byte [r9 + r14 + 0x10600]
mov byte [rdx + 0x6b], r9b
mov byte [rdx + 0x6c], 0
cmp qword [rsp + 0x98], 0xffffffffffffff94
je 0x140003eb8
lea r14, [0x140000000]
movzx r13d, r13b
mov r9d, r13d
and r13d, 0xf
shr r9d, 4
mov r9b, byte [r14 + r9 + 0x10600]
mov r14, qword [rsp + 0x98]
mov byte [r14 + 0x6c], r9b
lea r9, [0x140000000]
mov r9b, byte [r9 + r13 + 0x10600]
mov byte [r14 + 0x6d], r9b
mov byte [r14 + 0x6e], 0
cmp qword [rsp + 0x98], 0xffffffffffffff92
je 0x140003f01
lea r13, [0x140000000]
movzx r11d, r11b
mov r9d, r11d
and r11d, 0xf
shr r9d, 4
mov r14b, byte [r13 + r9 + 0x10600]
mov r9, qword [rsp + 0x98]
mov byte [r9 + 0x6e], r14b
mov r14, r13
mov r11b, byte [r14 + r11 + 0x10600]
mov byte [r9 + 0x6f], r11b
mov byte [r9 + 0x70], 0
cmp qword [rsp + 0x98], 0xffffffffffffff90
je 0x140003f45
lea r11, [0x140000000]
movzx r10d, r10b
mov r14, r11
mov r9d, r10d
and r10d, 0xf
shr r9d, 4
mov r13b, byte [r11 + r9 + 0x10600]
mov r9, qword [rsp + 0x98]
mov byte [r9 + 0x70], r13b
mov r10b, byte [r14 + r10 + 0x10600]
mov byte [r9 + 0x71], r10b
mov r9, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x358]
mov byte [r9 + 0x72], 0
jmp 0x140001a97
mov r8, qword [rsp + 0x98]
movdqa xmm0, xmmword [str.b9476b85b1e6a3a25540bf50a608ef695db7914cdaa6011bd9969ac5560f3f3057aab5089157abe59870b15f58ef9483b2]
movdqu xmmword [r8], xmm0
movdqa xmm1, xmmword [0x14001a010]
movdqu xmmword [r8 + 0x10], xmm1
movdqa xmm2, xmmword [0x14001a020]
movdqu xmmword [r8 + 0x20], xmm2
movdqa xmm3, xmmword [0x14001a030]
movdqu xmmword [r8 + 0x30], xmm3
movdqa xmm4, xmmword [0x14001a040]
movdqu xmmword [r8 + 0x40], xmm4
movdqa xmm5, xmmword [0x14001a050]
movdqu xmmword [r8 + 0x50], xmm5
mov al, byte [0x14001a060]
mov byte [r8 + 0x60], al
mov dl, byte [0x14001a061]
mov byte [r8 + 0x61], dl
jmp 0x140003cfc
mov rbx, qword [0x14001b948]
cmp dword [rbx + 0x290], 0
je 0x140003ffd
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._Reading_the_required_vertices_n
call fcn.140004ac0
mov r10, rsp
mov rcx, r12
mov rdx, qword [0x14001c7f8]
lea r8, [rsp + 0x350]
mov dword [r8], 1
lea r9, [rsp + 0x368]
lea rbx, [rsp + 0x228]
mov qword [r10 + 0x20], rbx
call fcn.140005a70
test eax, eax
je 0x14000405c
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._n_n_____ERROR_:_Unable_to_add_required_vertices_from__s_n_n
mov r8, qword [0x14001c7f8]
call fcn.140004ac0
jmp 0x140002b97
mov r13, qword [rsp + 0x360]
mov rcx, r13
mov rbx, qword [rsp + 0x368]
lea rdx, [rsp + 0x26c]
call sub.meshgems.dll_meshgems_mesh_get_vertex_count
mov rcx, rbx
lea rdx, [rsp + 0x288]
call sub.meshgems.dll_meshgems_mesh_get_vertex_count
mov edx, dword [rsp + 0x26c]
mov rcx, r13
add edx, dword [rsp + 0x288]
call sub.meshgems.dll_meshgems_mesh_set_vertex_count
mov r9d, dword [rsp + 0x288]
mov edx, 1
test r9d, r9d
jle 0x140004161
mov edi, edx
mov rcx, rbx
mov edx, edi
lea r8, [rsp + 0x210]
call sub.meshgems.dll_meshgems_mesh_get_vertex_coordinates
test eax, eax
je 0x1400040ea
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_get_second_vertices_n
call fcn.140004ac0
mov edx, edi
mov rcx, r13
add edx, dword [rsp + 0x26c]
lea r8, [rsp + 0x210]
call sub.meshgems.dll_meshgems_mesh_set_vertex_coordinates
mov rcx, rbx
mov edx, edi
lea r8, [rsp + 0x2d0]
call sub.meshgems.dll_meshgems_mesh_get_vertex_tag
test eax, eax
je 0x140004133
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_get_resulting_vertex_tag_n
call fcn.140004ac0
mov edx, edi
mov rcx, r13
add edx, dword [rsp + 0x26c]
lea r8, [rsp + 0x2d0]
call sub.meshgems.dll_meshgems_mesh_set_vertex_tag
inc edi
mov r9d, dword [rsp + 0x288]
cmp edi, r9d
jle 0x1400040ba
xor edi, edi
movsxd r9, r9d
mov edx, 8
movsxd rcx, dword [rsp + 0x26c]
add rcx, r9
mov rbx, qword [rsp + 0x228]
call sub.meshgems_stubs.dll_meshgems_calloc
mov r10d, dword [rsp + 0x26c]
mov edx, 1
mov dword [rsp + 0x268], 0
test r10d, r10d
jle 0x1400041fe
mov qword [rsp + 0x80], r12
mov rdi, rax
mov r12, rbx
mov ebx, edx
mov rcx, r13
mov edx, ebx
lea r8, [rsp + 0x28c]
call sub.meshgems.dll_meshgems_mesh_get_vertex_required_property
test eax, eax
jne 0x1400041d5
cmp dword [rsp + 0x28c], 0
je 0x1400041d5
inc dword [rsp + 0x268]
inc ebx
mov r10d, dword [rsp + 0x26c]
cmp ebx, r10d
jle 0x1400041ae
mov rax, rdi
mov rbx, r12
mov r12, qword [rsp + 0x80]
xor edi, edi
cmp dword [rsp + 0x268], 0
jne 0x140004254
mov dword [rsp + 0x28c], 0
mov edx, 1
test r10d, r10d
jle 0x140004254
mov qword [rsp + 0x80], r12
mov rdi, rax
mov r12, rbx
mov ebx, edx
mov rcx, r13
mov edx, ebx
lea r8, [rsp + 0x28c]
call sub.meshgems.dll_meshgems_mesh_set_vertex_required_property
inc ebx
mov r10d, dword [rsp + 0x26c]
cmp ebx, r10d
jle 0x140004223
mov rax, rdi
mov rbx, r12
mov r12, qword [rsp + 0x80]
xor edi, edi
mov qword [rsp + 0x248], 0
mov r11d, 1
test r10d, r10d
jle 0x140004288
mov r10, qword [rsp + 0x248]
mov qword [rax + r11*8 - 8], r10
inc r11
movsxd r10, dword [rsp + 0x26c]
cmp r11, r10
jle 0x14000426b
mov dword [rsp + 0x268], 1
mov ecx, 1
mov edx, 8
cmp dword [rsp + 0x288], 0
jle 0x140004334
mov qword [rsp + 0x80], r12
mov r12, rbx
mov rbx, rax
mov rdi, rbp
mov rbp, rdx
mov r14, r13
mov r13d, ecx
mov rcx, r12
mov edx, r13d
lea r8, [rsp + 0x248]
call sub.meshgems.dll_meshgems_sizemap_iso_mesh_vertex_get_size
movsxd r9, dword [rsp + 0x26c]
mov edx, r13d
mov r10, qword [rsp + 0x248]
mov rcx, r14
lea r8, [rsp + 0x268]
lea r11, [rbx + r9*8]
mov qword [r11 + rbp - 8], r10
add edx, dword [r8 + 4]
call sub.meshgems.dll_meshgems_mesh_set_vertex_required_property
inc r13d
add rbp, 8
cmp r13d, dword [rsp + 0x288]
jle 0x1400042c5
mov r12, qword [rsp + 0x80]
mov rax, rbx
mov rbp, rdi
mov r13, r14
xor edi, edi
lea r14, [rsp + 0x370]
mov rcx, r13
mov edx, 4
lea r8, [0x1400061f0]
mov r9, rax
call sub.meshgems.dll_meshgems_sizemap_new
mov rcx, qword [rsp + 0x368]
lea rdx, [rsp + 0x310]
mov qword [rdx + 0x60], rax
xor ebx, ebx
call sub.meshgems.dll_meshgems_mesh_get_vertex_count
add esi, dword [rsp + 0x310]
jmp 0x140001a69
mov r9d, dword [rsp + 0x318]
xor esi, esi
inc esi
test r9d, r9d
jle 0x1400043e0
mov rbx, rax
mov edx, esi
lea r8, [rsp + 0x2d4]
mov rcx, qword [r8 + 0x8c]
call sub.meshgems.dll_meshgems_mesh_get_triangle_vertices
test eax, eax
jne 0x140004a5c
movsxd rcx, dword [rsp + 0x2d4]
inc dword [rbx + rcx*4]
lea rcx, [rsp + 0x2d8]
movsxd r8, dword [rcx]
inc dword [rbx + r8*4]
movsxd rcx, dword [rcx + 4]
test rcx, rcx
je 0x1400043ca
inc dword [rbx + rcx*4]
inc esi
mov r9d, dword [rsp + 0x318]
cmp esi, r9d
jle 0x140004386
mov edx, eax
mov rax, rbx
mov ebx, edx
cmp qword [0x14001c740], 0
jne 0x140004438
xor esi, esi
inc esi
test r9d, r9d
jle 0x140004438
mov rbx, rax
mov edx, esi
lea r8, [rsp + 0x31c]
mov rcx, qword [r8 + 0x44]
lea r9, [r8 - 0x48]
call sub.meshgems.dll_meshgems_mesh_get_triangle_extra_vertices
test eax, eax
jne 0x140004a5c
cmp dword [rsp + 0x31c], 0x7d3
je 0x14000468c
inc esi
cmp esi, dword [rsp + 0x318]
jle 0x1400043f6
mov edx, eax
mov rax, rbx
mov ebx, edx
xor esi, esi
inc esi
cmp dword [rsp + 0x314], 0
jle 0x14000448f
mov rbx, rax
mov edx, esi
lea r8, [rsp + 0x2d4]
mov rcx, qword [r8 + 0x8c]
call sub.meshgems.dll_meshgems_mesh_get_edge_vertices
test eax, eax
jne 0x140004a5c
lea rdx, [rsp + 0x2d4]
movsxd rcx, dword [rdx]
inc esi
inc dword [rbx + rcx*4]
movsxd r8, dword [rdx + 4]
inc dword [rbx + r8*4]
cmp esi, dword [rsp + 0x314]
jle 0x140004449
mov edx, eax
mov rax, rbx
mov ebx, edx
movsxd r10, dword [rsp + 0x310]
xor esi, esi
test r10, r10
jle 0x1400045d1
mov byte [rsp + 0x80], 0
cmp r10, 8
jl 0x14000467c
lea r9, [rax + 4]
and r9, 0xf
test r9d, r9d
je 0x1400044d9
test r9d, 3
jne 0x14000467c
neg r9d
add r9d, 0x10
shr r9d, 2
lea r11d, [r9 + 8]
cmp r10, r11
jl 0x14000467c
mov r11d, r10d
mov edx, r11d
sub edx, r9d
and edx, 7
mov r9d, r9d
sub r11d, edx
mov rdx, rdi
test r9, r9
ja 0x140004664
movd xmm1, esi
movsxd rsi, r11d
pxor xmm0, xmm0
movdqa xmm2, xmmword [rax + r9*4 + 4]
movdqa xmm3, xmmword [rax + r9*4 + 0x14]
pcmpgtd xmm2, xmm0
add r9, 8
pcmpgtd xmm3, xmm0
psubd xmm1, xmm2
cmp r9, rsi
psubd xmm1, xmm3
jb 0x14000450f
movdqa xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm2, xmm1
psrlq xmm2, 0x20
paddd xmm1, xmm2
movd esi, xmm1
lea r9d, [r11 + 1]
movsxd r9, r9d
cmp r10, r9
jb 0x1400045d1
movsxd r11, r11d
sub r10, r11
cmp byte [rsp + 0x80], 1
jne 0x140004575
mov r9, rdi
jmp 0x1400045cc
cmp r10, 4
jl 0x140004570
movsxd r11, r11d
mov r9d, r10d
and r9d, 0xfffffffc
mov rdx, rdi
movsxd r9, r9d
movd xmm1, esi
pxor xmm0, xmm0
lea rsi, [rax + r11*4]
movdqa xmm2, xmmword [rsi + rdx*4 + 4]
add rdx, 4
pcmpgtd xmm2, xmm0
cmp rdx, r9
psubd xmm1, xmm2
jb 0x140004597
movdqa xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm2, xmm1
psrlq xmm2, 0x20
paddd xmm1, xmm2
movd esi, xmm1
cmp r9, r10
jb 0x140004644
mov rcx, rax
call sub.meshgems_stubs.dll_meshgems_free
cmp qword [0x14001c740], 0
jne 0x140001a5b
xor edx, edx
mov rcx, qword [rsp + 0x360]
mov dword [rsp + 0x310], 0
call sub.meshgems.dll_meshgems_mesh_set_tetrahedron_count
mov ebx, eax
cmp r13d, 1
jne 0x140001a5b
lea rdx, [0x14001097c]
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r8d, r13d
call fcn.140004b30
lea rdx, str.meshp2
mov r8, rbx
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
mov ebx, eax
jmp 0x140001a5b
movsxd r11, r11d
lea r11, [rax + r11*4]
cmp dword [r11 + r9*4 + 4], 0
lea edx, [rsi + 1]
cmovg esi, edx
inc r9
cmp r9, r10
jb 0x14000464b
jmp 0x1400045d1
cmp dword [rax + rdx*4 + 4], 0
lea ecx, [rsi + 1]
cmovg esi, ecx
inc rdx
cmp rdx, r9
jb 0x140004664
jmp 0x140004504
mov byte [rsp + 0x80], 1
xor r11d, r11d
jmp 0x140004554
movsxd rcx, dword [rsp + 0x2d4]
xor r13d, r13d
inc r13d
inc dword [rbx + rcx*4]
lea rcx, [rsp + 0x2d8]
movsxd r8, dword [rcx]
inc dword [rbx + r8*4]
movsxd rcx, dword [rcx + 4]
test rcx, rcx
je 0x140004426
inc dword [rbx + rcx*4]
jmp 0x140004426
mov esi, dword [rsp + 0x310]
mov r13d, 1
jmp 0x140001a4d
cmp dword [rsp + 0x30c], 0
jg 0x1400019fd
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rbx, rax
mov rax, qword [0x14001b948]
mov edx, 0x86
mov ecx, dword [rax + 0x30]
call sub.mg_tetra.dll_meshgems_tetra_newcoderr_str
mov rcx, rbx
lea rdx, str._n__ERR__s:_NO_TETRAHEDRA._STOP_n
mov r8, rax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Number_of_tetrahedra___lld_n
movsxd r8, dword [rsp + 0x30c]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 0x86
mov qword [0x14001b940], 0x86
call fcn.140004b30
lea rdx, str.set_tetra_code_error
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
movaps xmm10, xmmword [rsp + 0x320]
mov eax, 0xffffffff
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rbx, rax
mov rax, qword [0x14001b948]
mov edx, 0x85
mov ecx, dword [rax + 0x30]
call sub.mg_tetra.dll_meshgems_tetra_newcoderr_str
mov rcx, rbx
lea rdx, str._n__ERR__s:_NO_BOUNDARY_FACES._STOP_n
mov r8, rax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Number_of_bdry_faces___lld_n
movsxd r8, dword [rsp + 0x318]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 0x85
mov qword [0x14001b940], 0x85
call fcn.140004b30
lea rdx, str.set_tetra_code_error
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
movaps xmm10, xmmword [rsp + 0x320]
mov eax, 0xffffffff
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rbx, rax
mov rax, qword [0x14001b948]
mov edx, 0x84
mov ecx, dword [rax + 0x30]
call sub.mg_tetra.dll_meshgems_tetra_newcoderr_str
mov rcx, rbx
lea rdx, str._n__ERR__s:_NO_VERTICES._STOP_n
mov r8, rax
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._____Number_of_vertices___lld_n
movsxd r8, dword [rsp + 0x310]
call fcn.140004ac0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 0x84
mov qword [0x14001b940], 0x84
call fcn.140004b30
lea rdx, str.set_tetra_code_error
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
movaps xmm10, xmmword [rsp + 0x320]
mov eax, 0xffffffff
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rdx, [0x14001097c]
lea rcx, [rsp + 0xa0]
mov r8d, 1
call fcn.140004b30
lea rdx, str.debug
lea r8, [rsp + 0xa0]
mov rcx, qword [0x14001b948]
call sub.mg_tetra.dll_meshgems_tetra_set_param
mov ebx, dword [r15]
jmp 0x14000123a
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_create_a_new_tetmesh_session__n
call fcn.140004ac0
mov rcx, r12
call sub.meshgems.dll_meshgems_context_delete
movaps xmm10, xmmword [rsp + 0x320]
mov eax, 0xffffffff
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.unable_to_create_a_new_context__n
call fcn.140004ac0
movaps xmm10, xmmword [rsp + 0x320]
mov eax, 0xffffffff
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov ebx, eax
mov eax, ebx
movaps xmm10, xmmword [rsp + 0x320]
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movaps xmm10, xmmword [rsp + 0x320]
mov eax, ebx
movaps xmm13, xmmword [rsp + 0x340]
movaps xmm15, xmmword [rsp + 0x330]
add rsp, 0x3c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret