Function at 0x14008c200
Capabilities:
Write file on windows

Disassembly:
push rbx
push r13
push r14
push r15
sub rsp, 0x28
xor r10d, r10d
movsxd r13, r8d
mov r15, rdx
mov rbx, rcx
mov r14d, r10d
mov rax, rdx
test rdx, rdx
je 0x14008c581
nop word [rax + rax]
mov rax, qword [rax + 0x10]
inc r14d
test rax, rax
jne 0x14008c230
cmp r14d, 1
jle 0x14008c581
mov qword [rsp + 0x60], rdi
lea r8, [rdx + 0x20]
mov rdi, qword [rdx + 0x10]
mov ecx, r10d
mov qword [rsp + 0x50], rbp
mov rdx, r8
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x20], r12
mov r11, qword [rdi + 0x20]
nop dword [rax]
mov rax, qword [rdx]
mov r9d, 2
cmp r11, rax
je 0x14008c28e
cmp qword [rdi + 0x28], rax
je 0x14008c28e
cmp qword [rdi + 0x30], rax
jne 0x14008c311
inc ecx
add rdx, 8
mov eax, ecx
cmp ecx, 3
jl 0x14008c270
cmp eax, 3
jne 0x14008c311
mov ecx, r10d
cmp r14d, r9d
jle 0x14008c31e
mov rdx, qword [rdi + 0x10]
lea r9d, [rax - 4]
mov rax, qword [r8]
cmp rax, r11
je 0x14008c2c4
cmp rax, qword [rdi + 0x28]
je 0x14008c2c4
cmp rax, qword [rdi + 0x30]
jne 0x14008c2df
cmp rax, qword [rdx + 0x20]
je 0x14008c2d6
cmp rax, qword [rdx + 0x28]
je 0x14008c2d6
cmp rax, qword [rdx + 0x30]
jne 0x14008c2df
cmp r9d, 0xffffffff
jne 0x14008c305
mov r9d, ecx
inc ecx
add r8, 8
cmp ecx, 3
jl 0x14008c2b0
movsxd rax, r9d
cmp r9d, 2
mov r12, qword [rdx + rax*8 + 0x20]
lea eax, [r9 + 1]
mov edx, r10d
cmovne edx, eax
cmp edx, 2
jmp 0x14008c335
lea rdx, str.Found_three_triangle_shareing_two_vertices_in_tristrip_fan___falling_back_to_triangle_list_representation._n
jmp 0x14008c3c1
cmp r13d, 0x15
jne 0x14008c31e
sub ecx, 1
cmovs ecx, r9d
movsxd rax, ecx
cmp ecx, r9d
mov edx, r10d
mov r12, qword [r15 + rax*8 + 0x20]
lea eax, [rcx + 1]
cmovne edx, eax
cmp edx, r9d
movsxd rax, edx
mov ecx, r10d
mov rsi, qword [r15 + rax*8 + 0x20]
lea eax, [rdx + 1]
cmovne ecx, eax
movsxd rax, ecx
mov rbp, qword [r15 + rax*8 + 0x20]
cmp r13d, 0x16
jne 0x14008c3f6
cmp r14d, 2
jle 0x14008c3f6
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x20]
cmp rsi, rcx
je 0x14008c37e
cmp rsi, qword [rax + 0x28]
je 0x14008c37e
mov edx, r10d
cmp rsi, qword [rax + 0x30]
jne 0x14008c383
mov edx, 1
cmp rbp, rcx
je 0x14008c394
cmp rbp, qword [rax + 0x28]
je 0x14008c394
cmp rbp, qword [rax + 0x30]
jne 0x14008c39a
mov r10d, 1
test edx, edx
je 0x14008c3b5
test r10d, r10d
lea rax, str.Found_lefthanded_tristrip___falling_back_to_triangle_list_representation._n
lea rdx, str.Found_duplicate_turning_vertex_in_tristrip___falling_back_to_triangle_list_representation._n
cmove rdx, rax
jmp 0x14008c3c1
test r10d, r10d
jne 0x14008c3f6
lea rdx, str.Failed_to_find_turning_vertex_in_tristrip___falling_back_to_triangle_list_representation._n
mov ecx, 1
call fcn.140002870
mov rdx, r15
mov rcx, rbx
call fcn.14008c0e0
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x60]
add rsp, 0x28
pop r15
pop r14
pop r13
pop rbx
ret
mov eax, dword [rbx + 0x30]
test eax, eax
je 0x14008c419
mov rcx, qword [rbx + 8]
lea rdx, [0x1401a3f20]
mov r9d, 0x20
mov r8d, eax
call fcn.14007da90
mov eax, dword [rbx + 0x30]
lea rcx, str.endtag
add eax, 2
mov r8, qword [rcx + r13*8]
lea r15, [rcx + r13*8]
mov rcx, qword [rbx + 8]
lea rdx, [0x1401a3f24]
mov dword [rbx + 0x30], eax
call fcn.14007da90
mov r8, qword [str.vertex_count]
lea r9d, [r14 + 2]
mov rcx, qword [rbx + 8]
lea rdx, str.__s__d_
call fcn.14007da90
mov rcx, qword [rbx + 8]
lea r9, [0x1401a3f28]
mov edx, 2
lea r8d, [rdx - 1]
call fcn.14007db70
mov rdx, r12
mov rcx, rbx
call fcn.14008c680
mov rdx, rsi
mov rcx, rbx
call fcn.14008c680
mov rdx, rbp
mov rcx, rbx
call fcn.14008c680
nop dword [rax]
nop word [rax + rax]
cmp r13d, 0x15
mov r8, rbp
mov rcx, rdi
cmove rsi, r12
mov r12, rsi
mov rsi, rbp
mov rdx, r12
call fcn.140082370
mov rbp, rax
mov eax, dword [rbx + 0x30]
test eax, eax
je 0x14008c4e2
mov rcx, qword [rbx + 8]
lea rdx, [0x1401a3f20]
mov r9d, 0x20
mov r8d, eax
call fcn.14007da90
mov eax, dword [rbx + 0x30]
mov r8, qword [0x1401a3eb8]
lea rdx, [0x1401a3f24]
mov rcx, qword [rbx + 8]
add eax, 2
mov dword [rbx + 0x30], eax
call fcn.14007da90
mov r9d, dword [rbp + 0x40]
lea rdx, str.__s__d_
mov r8, qword [str.index]
dec r9d
mov rcx, qword [rbx + 8]
call fcn.14007da90
mov rcx, qword [rbx + 8]
lea r9, [0x1401a3f38]
add dword [rbx + 0x30], 0xfffffffe
mov edx, 3
lea r8d, [rdx - 2]
call fcn.14007db70
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x14008c4a0
mov r8d, dword [rbx + 0x30]
add r8d, 0xfffffffe
mov dword [rbx + 0x30], r8d
je 0x14008c569
mov rcx, qword [rbx + 8]
lea r9d, [rdi + 0x20]
lea rdx, [0x1401a3f2c]
call fcn.14007da90
mov r8, qword [r15]
lea rdx, str.___s__n
mov rcx, qword [rbx + 8]
call fcn.14007da90
jmp 0x14008c3d6
add rsp, 0x28
pop r15
pop r14
pop r13
pop rbx
jmp fcn.14008c0e0