// File: /workspace/github_c_makefile_star2_O0/mohuangrui[P]ArtraCFD/case_loader.c
// Function: ReadCaseSettingData
static void ReadCaseSettingData(Time *time, Space *space, Model *model)
{
    Partition *const part = &(space->part);
    part->typeBC = AssignStorage(NBC * sizeof(*part->typeBC));
    part->N = AssignStorage(NBC * sizeof(*part->N));
    part->varBC = AssignStorage(NBC * sizeof(*part->varBC));
    part->typeIC = AssignStorage(NIC * sizeof(*part->typeIC));
    part->posIC = AssignStorage(NIC * sizeof(*part->posIC));
    part->varIC = AssignStorage(NIC * sizeof(*part->varIC));
    const char *fname = "artracfd.case";
    FILE *fp = Fopen(fname, "r");
    String str = {'\0'}; /* store the current read line */
    int nentry = 0; /* entry count */
    const char *fmtI = ParseFormat("%lg");
    const char *fmtJ = ParseFormat("%lg, %lg, %lg");
    while (NULL != fgets(str, sizeof str, fp)) {
        ParseCommand(str);
        if (0 == strncmp(str, "space begin", sizeof str)) {
            ++nentry;
            Sread(fp, 3, fmtJ, &(part->domain[X][MIN]), &(part->domain[Y][MIN]),
                    &(part->domain[Z][MIN]));
            Sread(fp, 3, fmtJ, &(part->domain[X][MAX]), &(part->domain[Y][MAX]),
                    &(part->domain[Z][MAX]));
            Sread(fp, 3, "%d, %d, %d", &(part->m[X]), &(part->m[Y]), &(part->m[Z]));
            continue;
        }
        if (0 == strncmp(str, "time begin", sizeof str)) {
            ++nentry;
            Sread(fp, 1, "%d", &(time->restart));
            Sread(fp, 1, fmtI, &(time->end));
            Sread(fp, 1, fmtI, &(time->numCFL));
            Sread(fp, 1, "%d", &(time->stepN));
            Sread(fp, 1, "%d", &(time->dataW[PROSD]));
            Sread(fp, 1, "%d", &(time->dataStreamer));
            continue;
        }
        if (0 == strncmp(str, "numerical begin", sizeof str)) {
            ++nentry;
            Sread(fp, 1, "%d", &(model->tScheme));
            Sread(fp, 1, "%d", &(model->sScheme));
            Sread(fp, 1, "%d", &(model->multidim));
            Sread(fp, 1, "%d", &(model->jacobMean));
            Sread(fp, 1, "%d", &(model->fluxSplit));
            Sread(fp, 1, "%d", &(model->psi));
            Sread(fp, 1, "%d", &(model->ibmLayer));
            continue;
        }
        if (0 == strncmp(str, "material begin", sizeof str)) {
            ++nentry;
            Sread(fp, 1, "%d", &(model->mid));
            Sread(fp, 1, fmtI, &(model->refMu));
            Sread(fp, 1, "%d", &(model->gState));
            Sread(fp, 3, fmtJ, &(model->g[X]), &(model->g[Y]), &(model->g[Z]));
            continue;
        }
        if (0 == strncmp(str, "reference begin", sizeof str)) {
            ++nentry;
            Sread(fp, 1, fmtI, &(model->refL));
            Sread(fp, 1, fmtI, &(model->refRho));
            Sread(fp, 1, fmtI, &(model->refV));
            Sread(fp, 1, fmtI, &(model->refT));
            continue;
        }
        if (0 == strncmp(str, "initialization begin", sizeof str)) {
            ++nentry;
            part->nIC = 0; /* enforce global initialization first */
            part->typeIC[part->nIC] = ICGLOBAL;
            ReadConsecutiveData(fp, VARIC, "%s", NULL, part->varIC[part->nIC]);
            ++part->nIC;
            continue;
        }
        if (0 == strncmp(str, "west boundary begin", sizeof str)) {
            ++nentry;
            ReadBoundaryData(fp, space, PWB);
            continue;
        }
        if (0 == strncmp(str, "east boundary begin", sizeof str)) {
            ++nentry;
            ReadBoundaryData(fp, space, PEB);
            continue;
        }
        if (0 == strncmp(str, "south boundary begin", sizeof str)) {
            ++nentry;
            ReadBoundaryData(fp, space, PSB);
            continue;
        }
        if (0 == strncmp(str, "north boundary begin", sizeof str)) {
            ++nentry;
            ReadBoundaryData(fp, space, PNB);
            continue;
        }
        if (0 == strncmp(str, "front boundary begin", sizeof str)) {
            ++nentry;
            ReadBoundaryData(fp, space, PFB);
            continue;
        }
        if (0 == strncmp(str, "back boundary begin", sizeof str)) {
            ++nentry;
            ReadBoundaryData(fp, space, PBB);
            continue;
        }
        if (0 == strncmp(str, "plane initialization begin", sizeof str)) {
            /* optional entry do not increase entry count */
            part->typeIC[part->nIC] = ICPLANE;
            Sread(fp, 3, fmtJ, part->posIC[part->nIC] + 0,
                    part->posIC[part->nIC] + 1, part->posIC[part->nIC] + 2);
            Sread(fp, 3, fmtJ, part->posIC[part->nIC] + 3,
                    part->posIC[part->nIC] + 4, part->posIC[part->nIC] + 5);
            ReadConsecutiveData(fp, VARIC, "%s", NULL, part->varIC[part->nIC]);
            ++part->nIC;
            continue;
        }
        if (0 == strncmp(str, "sphere initialization begin", sizeof str)) {
            /* optional entry do not increase entry count */
            part->typeIC[part->nIC] = ICSPHERE;
            Sread(fp, 3, fmtJ, part->posIC[part->nIC] + 0,
                    part->posIC[part->nIC] + 1, part->posIC[part->nIC] + 2);
            Sread(fp, 1, fmtI, part->posIC[part->nIC] + 6);
            ReadConsecutiveData(fp, VARIC, "%s", NULL, part->varIC[part->nIC]);
            ++part->nIC;
            continue;
        }
        if (0 == strncmp(str, "box initialization begin", sizeof str)) {
            /* optional entry do not increase entry count */
            part->typeIC[part->nIC] = ICBOX;
            Sread(fp, 3, fmtJ, part->posIC[part->nIC] + 0,
                    part->posIC[part->nIC] + 1, part->posIC[part->nIC] + 2);
            Sread(fp, 3, fmtJ, part->posIC[part->nIC] + 3,
                    part->posIC[part->nIC] + 4, part->posIC[part->nIC] + 5);
            ReadConsecutiveData(fp, VARIC, "%s", NULL, part->varIC[part->nIC]);
            ++part->nIC;
            continue;
        }
        if (0 == strncmp(str, "cylinder initialization begin", sizeof str)) {
            /* optional entry do not increase entry count */
            part->typeIC[part->nIC] = ICCYLINDER;
            Sread(fp, 3, fmtJ, part->posIC[part->nIC] + 0,
                    part->posIC[part->nIC] + 1, part->posIC[part->nIC] + 2);
            Sread(fp, 3, fmtJ, part->posIC[part->nIC] + 3,
                    part->posIC[part->nIC] + 4, part->posIC[part->nIC] + 5);
            Sread(fp, 1, fmtI, part->posIC[part->nIC] + 6);
            ReadConsecutiveData(fp, VARIC, "%s", NULL, part->varIC[part->nIC]);
            ++part->nIC;
            continue;
        }
        if (0 == strncmp(str, "probe count begin", sizeof str)) {
            /* optional entry do not increase entry count */
            Sread(fp, 1, "%d", &(time->dataN[PROPT]));
            Sread(fp, 1, "%d", &(time->dataN[PROLN]));
            Sread(fp, 1, "%d", &(time->dataN[PROCV]));
            Sread(fp, 1, "%d", &(time->dataN[PROFC]));
            if (0 < time->dataN[PROPT]) {
                time->pp = AssignStorage(time->dataN[PROPT] * sizeof(*time->pp));
            }
            if (0 < time->dataN[PROLN]) {
                time->lp = AssignStorage(time->dataN[PROLN] * sizeof(*time->lp));
            }
            continue;
        }
        if (0 == strncmp(str, "probe control begin", sizeof str)) {
            /* optional entry do not increase entry count */
            Sread(fp, 1, "%d", &(time->dataW[PROPT]));
            Sread(fp, 1, "%d", &(time->dataW[PROLN]));
            Sread(fp, 1, "%d", &(time->dataW[PROCV]));
            Sread(fp, 1, "%d", &(time->dataW[PROFC]));
            continue;
        }
        if (0 == strncmp(str, "point probe begin", sizeof str)) {
            /* optional entry do not increase entry count */
            for (int n = 0; n < time->dataN[PROPT]; ++n) {
                Sread(fp, 3, fmtJ, time->pp[n] + 0,
                        time->pp[n] + 1, time->pp[n] + 2);
            }
            continue;
        }
        if (0 == strncmp(str, "line probe begin", sizeof str)) {
            /* optional entry do not increase entry count */
            for (int n = 0; n < time->dataN[PROLN]; ++n) {
                Sread(fp, 3, fmtJ, time->lp[n] + 0,
                        time->lp[n] + 1, time->lp[n] + 2);
                Sread(fp, 3, fmtJ, time->lp[n] + 3,
                        time->lp[n] + 4, time->lp[n] + 5);
                Sread(fp, 1, fmtI, time->lp[n] + 6);
            }
            continue;
        }
    }
    fclose(fp);
    if (12 != nentry) {
        ShowError("missing or repeated sections: %s, entry: %d", fname, nentry);
    }
    return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x20(%rbp)
movl $0x1c, %edi
callq 0xbdd0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x390(%rax)
movl $0x54, %edi
callq 0xbdd0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x398(%rax)
movl $0x150, %edi            # imm = 0x150
callq 0xbdd0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x3a0(%rax)
movl $0x28, %edi
callq 0xbdd0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x3b0(%rax)
movl $0x230, %edi            # imm = 0x230
callq 0xbdd0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x3b8(%rax)
movl $0x1388, %edi           # imm = 0x1388
callq 0xbdd0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x3c0(%rax)
leaq 0x1ea26(%rip), %rax     # 0x24ae0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
leaq 0x216fa(%rip), %rsi     # 0x277c3
callq 0xbf90
movq %rax, -0x30(%rbp)
leaq -0x100(%rbp), %rdi
xorl %esi, %esi
movl $0xc8, %edx
callq 0x20d0
movl $0x0, -0x104(%rbp)
leaq 0x21ae0(%rip), %rdi     # 0x27bd6
callq 0xbbc0
movq %rax, -0x110(%rbp)
leaq 0x21ac3(%rip), %rdi     # 0x27bcc
callq 0xbbc0
movq %rax, -0x118(%rbp)
leaq -0x100(%rbp), %rdi
movq -0x30(%rbp), %rdx
movl $0xc8, %esi
callq 0x2110
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0x71c0
leaq -0x100(%rbp), %rdi
callq 0xb940
leaq -0x100(%rbp), %rdi
leaq 0x20b76(%rip), %rsi     # 0x26cc8
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6233
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rcx
addq $0x3c8, %rcx            # imm = 0x3C8
movq -0x20(%rbp), %r8
addq $0x3c8, %r8             # imm = 0x3C8
addq $0x10, %r8
movq -0x20(%rbp), %r9
addq $0x3c8, %r9             # imm = 0x3C8
addq $0x20, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rcx
addq $0x3c8, %rcx            # imm = 0x3C8
addq $0x8, %rcx
movq -0x20(%rbp), %r8
addq $0x3c8, %r8             # imm = 0x3C8
addq $0x10, %r8
addq $0x8, %r8
movq -0x20(%rbp), %r9
addq $0x3c8, %r9             # imm = 0x3C8
addq $0x20, %r9
addq $0x8, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rcx
movq -0x20(%rbp), %r8
addq $0x4, %r8
movq -0x20(%rbp), %r9
addq $0x8, %r9
movl $0x3, %esi
leaq 0x20aad(%rip), %rdx     # 0x26cd4
movb $0x0, %al
callq 0xc1e0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x20a9e(%rip), %rsi     # 0x26cdf
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6325
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
movl $0x1, %esi
leaq 0x22bec(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x8(%rbp), %rcx
addq $0x40, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x8(%rbp), %rcx
addq $0x50, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0x4, %rcx
movl $0x1, %esi
leaq 0x22b8f(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0x20, %rcx
addq $0x10, %rcx
movl $0x1, %esi
leaq 0x22b6c(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0x34, %rcx
movl $0x1, %esi
leaq 0x22b4d(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x209b7(%rip), %rsi     # 0x26cea
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6432
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
movl $0x1, %esi
leaq 0x22afa(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
addq $0x4, %rcx
movl $0x1, %esi
leaq 0x22adb(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
addq $0x10, %rcx
movl $0x1, %esi
leaq 0x22abc(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
addq $0x14, %rcx
movl $0x1, %esi
leaq 0x22a9d(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
addq $0x18, %rcx
movl $0x1, %esi
leaq 0x22a7e(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
addq $0x1c, %rcx
movl $0x1, %esi
leaq 0x22a5f(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
addq $0x20, %rcx
movl $0x1, %esi
leaq 0x22a40(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x208ba(%rip), %rsi     # 0x26cfa
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x64fe
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
addq $0x24, %rcx
movl $0x1, %esi
leaq 0x229e9(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x18(%rbp), %rcx
addq $0x38, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
addq $0x28, %rcx
movl $0x1, %esi
leaq 0x229ab(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x18(%rbp), %rcx
addq $0x78, %rcx
movq -0x18(%rbp), %r8
addq $0x78, %r8
addq $0x8, %r8
movq -0x18(%rbp), %r9
addq $0x78, %r9
addq $0x10, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x207fd(%rip), %rsi     # 0x26d09
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x65b2
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x18(%rbp), %rcx
addq $0x58, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x18(%rbp), %rcx
addq $0x60, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x18(%rbp), %rcx
addq $0x68, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x18(%rbp), %rcx
addq $0x70, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x207da(%rip), %rsi     # 0x26d9a
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6661
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x20(%rbp), %rax
movl $0x0, 0x3a8(%rax)
movq -0x20(%rbp), %rax
movq 0x3b0(%rax), %rax
movq -0x20(%rbp), %rcx
movslq 0x3a8(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x3c0(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x1f4, %rax, %rax      # imm = 0x1F4
addq %rax, %r8
movl $0x5, %esi
leaq 0x2120e(%rip), %rdx     # 0x2784e
xorl %eax, %eax
movl %eax, %ecx
callq 0x8000
movq -0x20(%rbp), %rax
movl 0x3a8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x3a8(%rax)
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x206aa(%rip), %rsi     # 0x26d19
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x66a7
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x1, %edx
callq 0x80f0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x20678(%rip), %rsi     # 0x26d2d
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x66ed
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x2, %edx
callq 0x80f0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x20646(%rip), %rsi     # 0x26d41
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6733
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x3, %edx
callq 0x80f0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x20615(%rip), %rsi     # 0x26d56
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6779
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x4, %edx
callq 0x80f0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x205e4(%rip), %rsi     # 0x26d6b
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x67bf
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x5, %edx
callq 0x80f0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x205b3(%rip), %rsi     # 0x26d80
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6805
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x6, %edx
callq 0x80f0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x20581(%rip), %rsi     # 0x26d94
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6987
movq -0x20(%rbp), %rax
movq 0x3b0(%rax), %rax
movq -0x20(%rbp), %rcx
movslq 0x3a8(%rcx), %rcx
movl $0x1, (%rax,%rcx,4)
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x8, %r8
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r9
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x10, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
addq $0x18, %rcx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x20, %r8
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r9
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x28, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x3c0(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x1f4, %rax, %rax      # imm = 0x1F4
addq %rax, %r8
movl $0x5, %esi
leaq 0x20ee8(%rip), %rdx     # 0x2784e
xorl %eax, %eax
movl %eax, %ecx
callq 0x8000
movq -0x20(%rbp), %rax
movl 0x3a8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x3a8(%rax)
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x2041a(%rip), %rsi     # 0x26daf
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6ac7
movq -0x20(%rbp), %rax
movq 0x3b0(%rax), %rax
movq -0x20(%rbp), %rcx
movslq 0x3a8(%rcx), %rcx
movl $0x2, (%rax,%rcx,4)
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x8, %r8
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r9
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x10, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
addq $0x30, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x3c0(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x1f4, %rax, %rax      # imm = 0x1F4
addq %rax, %r8
movl $0x5, %esi
leaq 0x20da8(%rip), %rdx     # 0x2784e
xorl %eax, %eax
movl %eax, %ecx
callq 0x8000
movq -0x20(%rbp), %rax
movl 0x3a8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x3a8(%rax)
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x202f6(%rip), %rsi     # 0x26dcb
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6c49
movq -0x20(%rbp), %rax
movq 0x3b0(%rax), %rax
movq -0x20(%rbp), %rcx
movslq 0x3a8(%rcx), %rcx
movl $0x3, (%rax,%rcx,4)
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x8, %r8
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r9
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x10, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
addq $0x18, %rcx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x20, %r8
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r9
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x28, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x3c0(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x1f4, %rax, %rax      # imm = 0x1F4
addq %rax, %r8
movl $0x5, %esi
leaq 0x20c26(%rip), %rdx     # 0x2784e
xorl %eax, %eax
movl %eax, %ecx
callq 0x8000
movq -0x20(%rbp), %rax
movl 0x3a8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x3a8(%rax)
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x2018d(%rip), %rsi     # 0x26de4
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6e03
movq -0x20(%rbp), %rax
movq 0x3b0(%rax), %rax
movq -0x20(%rbp), %rcx
movslq 0x3a8(%rcx), %rcx
movl $0x4, (%rax,%rcx,4)
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x8, %r8
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r9
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x10, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
addq $0x18, %rcx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x20, %r8
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %r9
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x28, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x20(%rbp), %rax
movq 0x3b8(%rax), %rcx
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
addq $0x30, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x3c0(%rax), %r8
movq -0x20(%rbp), %rax
movslq 0x3a8(%rax), %rax
imulq $0x1f4, %rax, %rax      # imm = 0x1F4
addq %rax, %r8
movl $0x5, %esi
leaq 0x20a6c(%rip), %rdx     # 0x2784e
xorl %eax, %eax
movl %eax, %ecx
callq 0x8000
movq -0x20(%rbp), %rax
movl 0x3a8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x3a8(%rax)
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x1fff1(%rip), %rsi     # 0x26e02
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6f02
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0xc, %rcx
movl $0x1, %esi
leaq 0x22027(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0xc, %rcx
addq $0x4, %rcx
movl $0x1, %esi
leaq 0x22004(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0xc, %rcx
addq $0x8, %rcx
movl $0x1, %esi
leaq 0x21fe1(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0xc, %rcx
addq $0xc, %rcx
movl $0x1, %esi
leaq 0x21fbe(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x8(%rbp), %rcx
xorl %eax, %eax
cmpl 0xc(%rcx), %eax
jge 0x6ed6
movq -0x8(%rbp), %rax
movslq 0xc(%rax), %rax
imulq $0x18, %rax, %rdi
callq 0xbdd0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x8(%rbp), %rcx
xorl %eax, %eax
cmpl 0x10(%rcx), %eax
jge 0x6efd
movq -0x8(%rbp), %rax
movslq 0x10(%rax), %rax
imulq $0x38, %rax, %rdi
callq 0xbdd0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x60(%rax)
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x1ff04(%rip), %rsi     # 0x26e14
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x6fb3
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0x20, %rcx
movl $0x1, %esi
leaq 0x21f28(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0x20, %rcx
addq $0x4, %rcx
movl $0x1, %esi
leaq 0x21f05(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0x20, %rcx
addq $0x8, %rcx
movl $0x1, %esi
leaq 0x21ee2(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x8(%rbp), %rcx
addq $0x20, %rcx
addq $0xc, %rcx
movl $0x1, %esi
leaq 0x21ebf(%rip), %rdx     # 0x28e66
movb $0x0, %al
callq 0xc1e0
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x1fe67(%rip), %rsi     # 0x26e28
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x706a
movl $0x0, -0x11c(%rbp)
movl -0x11c(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jge 0x7065
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rcx
movslq -0x11c(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %r8
movslq -0x11c(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %r8
addq $0x8, %r8
movq -0x8(%rbp), %rax
movq 0x58(%rax), %r9
movslq -0x11c(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %r9
addq $0x10, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movl -0x11c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x11c(%rbp)
jmp 0x6fe1
jmp 0x6115
leaq -0x100(%rbp), %rdi
leaq 0x1fdc2(%rip), %rsi     # 0x26e3a
movl $0xc8, %edx
callq 0x2050
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x71bb
movl $0x0, -0x120(%rbp)
movl -0x120(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x71b6
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
movslq -0x120(%rbp), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %r8
movslq -0x120(%rbp), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x8, %r8
movq -0x8(%rbp), %rax
movq 0x60(%rax), %r9
movslq -0x120(%rbp), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x10, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x118(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
movslq -0x120(%rbp), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
addq $0x18, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %r8
movslq -0x120(%rbp), %rax
imulq $0x38, %rax, %rax
addq %rax, %r8
addq $0x20, %r8
movq -0x8(%rbp), %rax
movq 0x60(%rax), %r9
movslq -0x120(%rbp), %rax
imulq $0x38, %rax, %rax
addq %rax, %r9
addq $0x28, %r9
movl $0x3, %esi
movb $0x0, %al
callq 0xc1e0
movq -0x30(%rbp), %rdi
movq -0x110(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
movslq -0x120(%rbp), %rax
imulq $0x38, %rax, %rax
addq %rax, %rcx
addq $0x30, %rcx
movl $0x1, %esi
movb $0x0, %al
callq 0xc1e0
movl -0x120(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x120(%rbp)
jmp 0x7098
jmp 0x6115
jmp 0x6115
movq -0x30(%rbp), %rdi
callq 0x2080
movl $0xc, %eax
cmpl -0x104(%rbp), %eax
je 0x71ee
movq -0x28(%rbp), %rsi
movl -0x104(%rbp), %edx
leaq 0x1fc64(%rip), %rdi     # 0x26e4b
movb $0x0, %al
callq 0xbbd0
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
nopw (%rax,%rax)