// File: /workspace/github_c_makefile_star2_O0/mohuangrui[P]ArtraCFD/paraview_reader.c
// Function: ReadPolygonPolyData
static void ReadPolygonPolyData(const int pm, const int pn, Geometry *const geo, PvSet *pvSet)
{
    snprintf(pvSet->fname, sizeof(PvStr), "%s%s", pvSet->bname, pvSet->fext);
    FILE *fp = Fopen(pvSet->fname, "r");
    PvReal Vec[3] = {0.0}; /* paraview vector data */
    Polyhedron *poly  = NULL;
    const char *fmtJ = ParseFormat("%lg %lg %lg");
    /* get rid of redundant lines */
    ReadInLine(fp, "<PolyData>");
    for (int m = pm; m < pn; ++m) {
        poly = geo->poly + m;
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 1, "%*s %*s %d", &(poly->vertN));
        Sread(fp, 1, "%*s %*s %d", &(poly->edgeN));
        Sread(fp, 1, "%*s %*s %d", &(poly->faceN));
        Sread(fp, 0, "");
        AllocatePolyhedronMemory(poly->vertN, poly->edgeN, poly->faceN, poly);
        poly->edgeN = 0; /* reset edge count before applying edge adding */
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        for (int n = 0; n < poly->vertN; ++n) {
            Fscanf(fp, 3, fmtJ, &(Vec[X]), &(Vec[Y]), &(Vec[Z]));
            poly->v[n][X] = Vec[X];
            poly->v[n][Y] = Vec[Y];
            poly->v[n][Z] = Vec[Z];
        }
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        Sread(fp, 0, "");
        for (int n = 0; n < poly->faceN; ++n) {
            Fscanf(fp, 3, "%d %d %d", &(poly->f[n][0]), &(poly->f[n][1]), &(poly->f[n][2]));
            AddEdge(poly->f[n][0], poly->f[n][1], n, poly);
            AddEdge(poly->f[n][1], poly->f[n][2], n, poly);
            AddEdge(poly->f[n][2], poly->f[n][0], n, poly);
        }
        QuickSortEdge(poly->edgeN, poly->e);
        ReadInLine(fp, "</Piece>");
    }
    ReadInLine(fp, "<!--");
    ReadPolyStateData(pm, pn, fp, geo);
    fclose(fp);
    return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x18(%rbp), %rdi
addq $0xa0, %rdi
movq -0x18(%rbp), %rcx
addq $0x50, %rcx
movq -0x18(%rbp), %r8
addq $0xf0, %r8
movl $0x50, %esi
leaq 0xc3d4(%rip), %rdx      # 0x29ad4
movb $0x0, %al
callq 0x20b0
movq -0x18(%rbp), %rdi
addq $0xa0, %rdi
leaq 0xa0aa(%rip), %rsi      # 0x277c3
callq 0xbf90
movq %rax, -0x20(%rbp)
leaq -0x40(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x20d0
movq $0x0, -0x48(%rbp)
leaq 0xc3a4(%rip), %rdi      # 0x29ae5
callq 0xbbc0
movq %rax, -0x50(%rbp)
movq -0x20(%rbp), %rdi
leaq 0xc39c(%rip), %rsi      # 0x29af1
callq 0xbe50
movl -0x4(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x1db79
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x54(%rbp), %rcx
imulq $0x238, %rcx, %rcx      # imm = 0x238
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb5d1(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb5bd(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
movq -0x48(%rbp), %rcx
addq $0x8, %rcx
movl $0x1, %esi
leaq 0xad53(%rip), %rdx      # 0x28519
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
movq -0x48(%rbp), %rcx
addq $0x4, %rcx
movl $0x1, %esi
leaq 0xad34(%rip), %rdx      # 0x28519
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
movq -0x48(%rbp), %rcx
movl $0x1, %esi
leaq 0xad19(%rip), %rdx      # 0x28519
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb550(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x48(%rbp), %rax
movl 0x8(%rax), %edi
movq -0x48(%rbp), %rax
movl 0x4(%rax), %esi
movq -0x48(%rbp), %rax
movl (%rax), %edx
movq -0x48(%rbp), %rcx
callq 0xc5d0
movq -0x48(%rbp), %rax
movl $0x0, 0x4(%rax)
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb514(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb500(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb4ec(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb4d8(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb4c4(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb4b0(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb49c(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movl $0x0, -0x58(%rbp)
movl -0x58(%rbp), %eax
movq -0x48(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jge 0x1d97b
movq -0x20(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq -0x40(%rbp), %rcx
leaq -0x40(%rbp), %r8
addq $0x8, %r8
leaq -0x40(%rbp), %r9
addq $0x10, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc040
movsd -0x40(%rbp), %xmm0
movq -0x48(%rbp), %rax
movq 0x220(%rax), %rax
movslq -0x58(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movsd -0x38(%rbp), %xmm0
movq -0x48(%rbp), %rax
movq 0x220(%rax), %rax
movslq -0x58(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x8(%rax)
movsd -0x30(%rbp), %xmm0
movq -0x48(%rbp), %rax
movq 0x220(%rax), %rax
movslq -0x58(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x10(%rax)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x1d8d6
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb3dc(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb3c8(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb3b4(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb3a0(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb38c(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb378(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
leaq 0xb364(%rip), %rdx      # 0x28d64
movb $0x0, %al
callq 0xc1e0
movl $0x0, -0x5c(%rbp)
movl -0x5c(%rbp), %eax
movq -0x48(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x1db44
movq -0x20(%rbp), %rdi
movq -0x48(%rbp), %rax
movq 0x200(%rax), %rcx
movslq -0x5c(%rbp), %rax
imulq $0xc, %rax, %rax
addq %rax, %rcx
movq -0x48(%rbp), %rax
movq 0x200(%rax), %r8
movslq -0x5c(%rbp), %rax
imulq $0xc, %rax, %rax
addq %rax, %r8
addq $0x4, %r8
movq -0x48(%rbp), %rax
movq 0x200(%rax), %r9
movslq -0x5c(%rbp), %rax
imulq $0xc, %rax, %rax
addq %rax, %r9
addq $0x8, %r9
movl $0x3, %esi
leaq 0xaac6(%rip), %rdx      # 0x2853d
movb $0x0, %al
callq 0xc040
movq -0x48(%rbp), %rax
movq 0x200(%rax), %rax
movslq -0x5c(%rbp), %rcx
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %edi
movq -0x48(%rbp), %rax
movq 0x200(%rax), %rax
movslq -0x5c(%rbp), %rcx
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %esi
movl -0x5c(%rbp), %edx
movq -0x48(%rbp), %rcx
callq 0xc7e0
movq -0x48(%rbp), %rax
movq 0x200(%rax), %rax
movslq -0x5c(%rbp), %rcx
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %edi
movq -0x48(%rbp), %rax
movq 0x200(%rax), %rax
movslq -0x5c(%rbp), %rcx
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %esi
movl -0x5c(%rbp), %edx
movq -0x48(%rbp), %rcx
callq 0xc7e0
movq -0x48(%rbp), %rax
movq 0x200(%rax), %rax
movslq -0x5c(%rbp), %rcx
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %edi
movq -0x48(%rbp), %rax
movq 0x200(%rax), %rax
movslq -0x5c(%rbp), %rcx
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %esi
movl -0x5c(%rbp), %edx
movq -0x48(%rbp), %rcx
callq 0xc7e0
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0x1da0e
movq -0x48(%rbp), %rax
movl 0x4(%rax), %edi
movq -0x48(%rbp), %rax
movq 0x210(%rax), %rsi
callq 0xc910
movq -0x20(%rbp), %rdi
leaq 0xbf96(%rip), %rsi      # 0x29afc
callq 0xbe50
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
jmp 0x1d760
movq -0x20(%rbp), %rdi
leaq 0xbf4b(%rip), %rsi      # 0x29acf
callq 0xbe50
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movq -0x20(%rbp), %rdx
movq -0x10(%rbp), %rcx
callq 0x123f0
movq -0x20(%rbp), %rdi
callq 0x2080
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)