// File: /workspace/github_c_makefile_star2_O0/sharmaeklavya2[P]cerplag/ast.c
// Function: print_ast
void print_ast(FILE* fp, pAstNode p, int indent) {
    int i;
    const char INDENT_STR[] = "  ";
    const char* INITIAL_INDENT = "        ";
    if(p != NULL)
        fprintf(fp, "(%2d:%2d) ", p->base.line, p->base.col);
    else
        fprintf(fp, "%s", INITIAL_INDENT);
    for(i=0; i<indent; ++i)
        fprintf(fp, INDENT_STR);
    if(p == NULL) {
        fprintf(fp, "NULL\n");
        return;
    }
    fprintf(fp, "%s", ASTN_STRS[p->base.node_type]);
    switch(p->base.node_type) {
        case ASTN_BOp:
            fprintf(fp, "(%s):\n", OP_STRS[((BOpNode*)p)->op]);
            print_ast(fp, ((BOpNode*)p)->arg1, indent+1);
            print_ast(fp, ((BOpNode*)p)->arg2, indent+1);
            break;
        case ASTN_UOp:
            fprintf(fp, "(%s):\n", OP_STRS[((UOpNode*)p)->op]);
            print_ast(fp, ((UOpNode*)p)->arg, indent+1);
            break;
        case ASTN_Deref:
            fprintf(fp, "(%s):\n", ((DerefNode*)p)->varname);
            print_ast(fp, ((DerefNode*)p)->index, indent+1);
            break;

        case ASTN_Var:
            fprintf(fp, "(%s)\n", ((VarNode*)p)->varname);
            break;
        case ASTN_Num:
            fprintf(fp, "(%d)\n", ((NumNode*)p)->val);
            break;
        case ASTN_RNum:
            fprintf(fp, "(%lf)\n", ((RNumNode*)p)->val);
            break;
        case ASTN_Bool:
            fprintf(fp, "(%s)\n", (((BoolNode*)p)->val)?"true":"false");
            break;

        case ASTN_IDList:
            fprintf(fp, "(%s)\n", ((IDListNode*)p)->varname);
            if(((IDListNode*)p)->next != NULL)
                print_ast(fp, ((IDListNode*)p)->next, indent);
            break;
        case ASTN_IDTypeList:
            fprintf(fp, "(%s, ", ((IDTypeListNode*)p)->varname);
            print_type(fp, ((IDTypeListNode*)p)->base.type, ((IDTypeListNode*)p)->base.size);
            fprintf(fp, ")\n");
            if(((IDTypeListNode*)p)->next != NULL)
                print_ast(fp, ((IDTypeListNode*)p)->next, indent);
            break;

        case ASTN_Module:
            fprintf(fp, "(%s):\n", ((ModuleNode*)p)->name);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%siParamList=\n", INITIAL_INDENT);
            print_ast(fp, ((ModuleNode*)p)->iParamList, indent+2);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%soParamList=\n", INITIAL_INDENT);
            print_ast(fp, ((ModuleNode*)p)->oParamList, indent+2);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%sbody=\n", INITIAL_INDENT);
            print_ast(fp, ((ModuleNode*)p)->body, indent+2);

            if(((ModuleNode*)p)->next != NULL)
                print_ast(fp, ((ModuleNode*)p)->next, indent);
            break;
        case ASTN_Program:
            fprintf(fp, ":\n");
            print_ast(fp, ((ProgramNode*)p)->decls, indent+1);
            print_ast(fp, ((ProgramNode*)p)->modules, indent+1);
            break;

        case ASTN_Assn:
            fprintf(fp, ":\n");

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%starget=\n", INITIAL_INDENT);
            print_ast(fp, ((AssnNode*)p)->target, indent+2);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%sexpr=\n", INITIAL_INDENT);
            print_ast(fp, ((AssnNode*)p)->expr, indent+2);

            if(((AssnNode*)p)->next != NULL)
                print_ast(fp, ((AssnNode*)p)->next, indent);
            break;

        case ASTN_While:
            fprintf(fp, ":\n");

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%scond=\n", INITIAL_INDENT);
            print_ast(fp, ((WhileNode*)p)->cond, indent+2);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%sbody=\n", INITIAL_INDENT);
            print_ast(fp, ((WhileNode*)p)->body, indent+2);

            if(((WhileNode*)p)->next != NULL)
                print_ast(fp, ((WhileNode*)p)->next, indent);
            break;

        case ASTN_For:
            fprintf(fp, "(%s, %d, %d):\n", ((ForNode*)p)->varname, ((ForNode*)p)->beg, ((ForNode*)p)->end);
            print_ast(fp, ((ForNode*)p)->body, indent+1);
            if(((ForNode*)p)->next != NULL)
                print_ast(fp, ((ForNode*)p)->next, indent);
            break;

        case ASTN_Decl:
            fprintf(fp, "(");
            print_type(fp, ((DeclNode*)p)->base.type, ((DeclNode*)p)->base.size);
            fprintf(fp, "):\n");
            print_ast(fp, ((DeclNode*)p)->idList, indent+1);
            if(((DeclNode*)p)->next != NULL)
                print_ast(fp, ((DeclNode*)p)->next, indent);
            break;

        case ASTN_Input:
            fprintf(fp, "(%s)\n", ((InputNode*)p)->varname);
            if(((InputNode*)p)->next != NULL)
                print_ast(fp, ((InputNode*)p)->next, indent);
            break;

        case ASTN_Output:
            fprintf(fp, ":\n");
            print_ast(fp, ((OutputNode*)p)->var, indent+1);
            if(((OutputNode*)p)->next != NULL)
                print_ast(fp, ((OutputNode*)p)->next, indent);
            break;

        case ASTN_FCall:
            fprintf(fp, "(%s):\n", ((FCallNode*)p)->name);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%siParamList=\n", INITIAL_INDENT);
            print_ast(fp, ((FCallNode*)p)->iParamList, indent+2);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%soParamList=\n", INITIAL_INDENT);
            print_ast(fp, ((FCallNode*)p)->oParamList, indent+2);

            if(((FCallNode*)p)->next != NULL)
                print_ast(fp, ((FCallNode*)p)->next, indent);
            break;

        case ASTN_Switch:
            fprintf(fp, "(%s):\n", ((SwitchNode*)p)->varname);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%sdefaultcase=\n", INITIAL_INDENT);
            print_ast(fp, ((SwitchNode*)p)->defaultcase, indent+2);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%scases=\n", INITIAL_INDENT);
            print_ast(fp, ((SwitchNode*)p)->cases, indent+2);

            if(((SwitchNode*)p)->next != NULL)
                print_ast(fp, ((SwitchNode*)p)->next, indent);
            break;

        case ASTN_Case:
            fprintf(fp, ":\n");

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%sval=\n", INITIAL_INDENT);
            print_ast(fp, ((CaseNode*)p)->val, indent+2);

            for(i=-1; i<indent; ++i) fprintf(fp, INDENT_STR);
            fprintf(fp, "%sstmts=\n", INITIAL_INDENT);
            print_ast(fp, ((CaseNode*)p)->stmts, indent+2);

            if(((CaseNode*)p)->next != NULL)
                print_ast(fp, ((CaseNode*)p)->next, indent);
            break;
        default:
            complain_ast_node_type(__func__, p->base.node_type);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movw 0xb84a(%rip), %ax       # 0x14e24
movw %ax, -0x1b(%rbp)
movb 0xb842(%rip), %al       # 0x14e26
movb %al, -0x19(%rbp)
leaq 0xb830(%rip), %rax      # 0x14e1e
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x961b
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0xc(%rax), %edx
movq -0x10(%rbp), %rax
movl 0x10(%rax), %ecx
leaq 0xb815(%rip), %rsi      # 0x14e27
movb $0x0, %al
callq 0x3120
jmp 0x9631
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xc66e(%rip), %rsi      # 0x15c98
movb $0x0, %al
callq 0x3120
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x965a
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9638
cmpq $0x0, -0x10(%rbp)
jne 0x9678
movq -0x8(%rbp), %rdi
leaq 0xb7c6(%rip), %rsi      # 0x14e32
movb $0x0, %al
callq 0x3120
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl (%rax), %eax
movl %eax, %ecx
leaq 0x11045(%rip), %rax     # 0x1a6d0
movq (%rax,%rcx,8), %rdx
leaq 0xc602(%rip), %rsi      # 0x15c98
xorl %eax, %eax
callq 0x3120
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x30(%rbp)
subq $0x13, %rax
ja 0xa02c
movq -0x30(%rbp), %rax
leaq 0xb594(%rip), %rcx      # 0x14c50
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x48(%rax), %eax
movl %eax, %ecx
leaq 0x11447(%rip), %rax     # 0x1ab20
movq (%rax,%rcx,8), %rdx
leaq 0xb754(%rip), %rsi      # 0x14e38
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x40(%rax), %eax
movl %eax, %ecx
leaq 0x113ee(%rip), %rax     # 0x1ab20
movq (%rax,%rcx,8), %rdx
leaq 0xb6fb(%rip), %rsi      # 0x14e38
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdx
leaq 0xb6c5(%rip), %rsi      # 0x14e38
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdx
leaq 0xb696(%rip), %rsi      # 0x14e3f
movb $0x0, %al
callq 0x3120
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x38(%rax), %edx
leaq 0xb60c(%rip), %rsi      # 0x14dd3
movb $0x0, %al
callq 0x3120
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movsd 0x38(%rax), %xmm0
leaq 0xb65e(%rip), %rsi      # 0x14e45
movb $0x1, %al
callq 0x3120
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movb 0x38(%rax), %cl
leaq 0xace0(%rip), %rdx      # 0x144e5
leaq 0xacd4(%rip), %rax      # 0x144e0
testb $0x1, %cl
cmovneq %rax, %rdx
leaq 0xb625(%rip), %rsi      # 0x14e3f
movb $0x0, %al
callq 0x3120
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rdx
leaq 0xb606(%rip), %rsi      # 0x14e3f
movb $0x0, %al
callq 0x3120
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x985f
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rdx
leaq 0xb5d5(%rip), %rsi      # 0x14e4c
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
movq -0x10(%rbp), %rax
movl 0x8(%rax), %edx
callq 0xa050
movq -0x8(%rbp), %rdi
leaq 0xb536(%rip), %rsi      # 0x14dd6
movb $0x0, %al
callq 0x3120
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x98c6
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rdx
leaq 0xb55a(%rip), %rsi      # 0x14e38
movb $0x0, %al
callq 0x3120
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x990e
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x98ec
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb535(%rip), %rsi      # 0x14e52
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9964
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9942
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb4ee(%rip), %rsi      # 0x14e61
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x99ba
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9998
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb4a7(%rip), %rsi      # 0x14e70
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x48(%rax)
je 0x9a06
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
leaq 0xb48c(%rip), %rsi      # 0x14ea2
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
leaq 0xb447(%rip), %rsi      # 0x14ea2
movb $0x0, %al
callq 0x3120
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9a8b
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9a69
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb3df(%rip), %rsi      # 0x14e79
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9ae1
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9abf
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb394(%rip), %rsi      # 0x14e84
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x9b2d
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
leaq 0xb365(%rip), %rsi      # 0x14ea2
movb $0x0, %al
callq 0x3120
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9b6d
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9b4b
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb311(%rip), %rsi      # 0x14e8d
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9bc3
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9ba1
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb29e(%rip), %rsi      # 0x14e70
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x9c0f
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rdx
movq -0x10(%rbp), %rax
movl 0x40(%rax), %ecx
movq -0x10(%rbp), %rax
movl 0x44(%rax), %r8d
leaq 0xb260(%rip), %rsi      # 0x14e96
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x9c73
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
leaq 0xa8c7(%rip), %rsi      # 0x1454a
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
movq -0x10(%rbp), %rax
movl 0x8(%rax), %edx
callq 0xa050
movq -0x8(%rbp), %rdi
leaq 0xb1f5(%rip), %rsi      # 0x14ea1
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x9ce9
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rdx
leaq 0xb13e(%rip), %rsi      # 0x14e3f
movb $0x0, %al
callq 0x3120
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x9d27
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
leaq 0xb16b(%rip), %rsi      # 0x14ea2
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x9d74
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rdx
leaq 0xb0ac(%rip), %rsi      # 0x14e38
movb $0x0, %al
callq 0x3120
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9dbc
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9d9a
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb087(%rip), %rsi      # 0x14e52
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9e12
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9df0
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xb040(%rip), %rsi      # 0x14e61
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x9e5e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rdx
leaq 0xafc2(%rip), %rsi      # 0x14e38
movb $0x0, %al
callq 0x3120
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9ea6
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9e84
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xaff0(%rip), %rsi      # 0x14ea5
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9efc
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9eda
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xafaa(%rip), %rsi      # 0x14eb5
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x9f48
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x8(%rbp), %rdi
leaq 0xaf4a(%rip), %rsi      # 0x14ea2
movb $0x0, %al
callq 0x3120
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9f88
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9f66
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xaf28(%rip), %rsi      # 0x14ebf
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x9fde
movq -0x8(%rbp), %rdi
leaq -0x1b(%rbp), %rsi
movb $0x0, %al
callq 0x3120
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x9fbc
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0xaeda(%rip), %rsi      # 0x14ec7
movb $0x0, %al
callq 0x3120
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x2, %edx
callq 0x95c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0xa02a
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0x95c0
jmp 0xa03e
movq -0x10(%rbp), %rax
movl (%rax), %esi
leaq 0xae98(%rip), %rdi      # 0x14ed1
callq 0x8de0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)