// File: /workspace/github_cpp_makefile_star2_O1/dacunni[P]stlloader/./stlloader.h
// Function: stlloader::parse_ascii_facet(std::istream&, stlloader::Facet&)
void parse_ascii_facet(std::istream & is, Facet & facet)
{
    std::string label, sub;
    auto ss = getlinestream(is);
    ss >> label >> sub;
    if(label == "outer" && sub == "loop") {
        int vi = 0;
        do {
            auto ss = getlinestream(is);
            ss >> label;
            if(label == "vertex") {
                if(vi < 3) {
                    ss >> facet.vertices[vi];
                }
                ++vi;
            }
        } while(label != "endloop");
        if(vi > 3)
            throw; // only support triangles
    }
    else { throw; }
    consume(is, "endfacet");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x348, %rsp            # imm = 0x348
movq %rsi, 0x40(%rsp)
movq %rdi, %rbx
leaq 0x10(%rsp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x30(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x1c8(%rsp), %rdi
movq %rbx, %rsi
callq 0x27b3
leaq 0x1c8(%rsp), %rdi
movq %rsp, %rsi
callq 0x2220
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x2220
leaq 0x1782(%rip), %rsi      # 0x403c
movq %rsp, %rdi
callq 0x2070
testl %eax, %eax
jne 0x2a22
leaq 0x177b(%rip), %rsi      # 0x404c
leaq 0x20(%rsp), %rdi
callq 0x2070
testl %eax, %eax
jne 0x2a22
xorl %ebp, %ebp
leaq 0x48(%rsp), %r12
movq %rsp, %r13
movq 0x36c4(%rip), %r14      # 0x5fb8
leaq 0x174e(%rip), %r15      # 0x4049
movq %r12, %rdi
movq %rbx, %rsi
callq 0x27b3
movq %r12, %rdi
movq %r13, %rsi
callq 0x2220
movq %r13, %rdi
leaq 0x1727(%rip), %rsi      # 0x4042
callq 0x2070
testl %eax, %eax
jne 0x2943
cmpl $0x2, %ebp
jg 0x2941
movslq %ebp, %rax
leaq (%rax,%rax,2), %rax
movq 0x40(%rsp), %rcx
leaq (%rcx,%rax,4), %rsi
movq %r12, %rdi
callq 0x24ac
incl %ebp
movq %r12, %rdi
movq %r14, %rsi
callq 0x2250
leaq 0xc0(%rsp), %rdi
callq 0x2090
movq %r13, %rdi
movq %r15, %rsi
callq 0x2070
testl %eax, %eax
jne 0x28fb
cmpl $0x4, %ebp
jge 0x2a29
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x16ce(%rip), %rsi      # 0x4051
leaq 0x16cf(%rip), %rdx      # 0x4059
leaq 0x48(%rsp), %rdi
callq 0x3dca
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x2654
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x29b8
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21b0
movq 0x35f9(%rip), %rsi      # 0x5fb8
leaq 0x1c8(%rsp), %rdi
callq 0x2250
leaq 0x240(%rsp), %rdi
callq 0x2090
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x29f5
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x21b0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2a10
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21b0
addq $0x348, %rsp            # imm = 0x348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x2260
jmp 0x2a2e
callq 0x2260
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x2a7b
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21b0
jmp 0x2a7b
jmp 0x2a55
jmp 0x2a55
movq %rax, %rbx
jmp 0x2a9c
jmp 0x2a55
movq %rax, %rbx
jmp 0x2a7b
movq %rax, %rbx
movq 0x3554(%rip), %rsi      # 0x5fb8
leaq 0x48(%rsp), %rdi
callq 0x2250
leaq 0xc0(%rsp), %rdi
callq 0x2090
movq 0x3536(%rip), %rsi      # 0x5fb8
leaq 0x1c8(%rsp), %rdi
callq 0x2250
leaq 0x240(%rsp), %rdi
callq 0x2090
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x2ab8
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x21b0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2ad3
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21b0
movq %rbx, %rdi
callq 0x2320