// File: /workspace/github_c_makefile_star2_O1/msteveb[P]autosetup/./jimsh0.c
// Function: JimCatchTryHelper
static int JimCatchTryHelper(Jim_Interp *interp, int istry, int argc, Jim_Obj *const *argv)
{
    static const char * const wrongargs_catchtry[2] = {
        "?-?no?code ... --? script ?resultVarName? ?optionVarName?",
        "?-?no?code ... --? script ?on|trap codes vars script? ... ?finally script?"
    };
    int exitCode = 0;
    int i;
    int sig = 0;
    int ok;
    Jim_Obj *finallyScriptObj = NULL;
    Jim_Obj *msgVarObj = NULL;
    Jim_Obj *optsVarObj = NULL;
    Jim_Obj *handlerScriptObj = NULL;
    Jim_Obj *errorCodeObj;
    int idx;


    jim_wide ignore_mask = (1 << JIM_EXIT) | (1 << JIM_EVAL) | (1 << JIM_SIGNAL);
    static const int max_ignore_code = sizeof(ignore_mask) * 8;

    JimPanic((istry != 0 && istry != 1, "wrong args to JimCatchTryHelper"));

    Jim_SetGlobalVariableStr(interp, "errorCode", Jim_NewStringObj(interp, "NONE", -1));

    for (i = 1; i < argc - 1; i++) {
        const char *arg = Jim_String(argv[i]);
        jim_wide option;
        int ignore;


        if (strcmp(arg, "--") == 0) {
            i++;
            break;
        }
        if (*arg != '-') {
            break;
        }

        if (strncmp(arg, "-no", 3) == 0) {
            arg += 3;
            ignore = 1;
        }
        else {
            arg++;
            ignore = 0;
        }

        if (Jim_StringToWide(arg, &option, 10) != JIM_OK) {
            option = -1;
        }
        if (option < 0) {
            option = Jim_FindByName(arg, jimReturnCodes, jimReturnCodesSize);
        }
        if (option < 0) {
            goto wrongargs;
        }

        if (ignore) {
            ignore_mask |= ((jim_wide)1 << option);
        }
        else {
            ignore_mask &= (~((jim_wide)1 << option));
        }
    }

    idx = i;

    if (argc - idx < 1) {
wrongargs:
        Jim_WrongNumArgs(interp, 1, argv, wrongargs_catchtry[istry]);
        return JIM_ERR;
    }

    if ((ignore_mask & (1 << JIM_SIGNAL)) == 0) {
        sig++;
    }

    interp->signal_level += sig;
    if (Jim_CheckSignal(interp)) {

        exitCode = JIM_SIGNAL;
    }
    else {
        exitCode = Jim_EvalObj(interp, argv[idx]);

        interp->errorFlag = 0;
    }
    interp->signal_level -= sig;

    errorCodeObj = Jim_GetGlobalVariableStr(interp, "errorCode", JIM_NONE);

    idx++;
    if (istry) {
        while (idx < argc) {
            int option;
            int ret;
            static const char * const try_options[] = { "on", "trap", "finally", NULL };
            enum { TRY_ON, TRY_TRAP, TRY_FINALLY, };

            if (Jim_GetEnum(interp, argv[idx], try_options, &option, "handler", JIM_ERRMSG) != JIM_OK) {
                return JIM_ERR;
            }
            switch (option) {
                case TRY_ON:
                case TRY_TRAP:
                    if (idx + 4 > argc) {
                        goto wrongargs;
                    }
                    if (option == TRY_ON) {
                        ret = JimMatchReturnCodes(interp, argv[idx + 1], exitCode);
                        if (ret > JIM_OK) {
                            goto wrongargs;
                        }
                    }
                    else if (errorCodeObj) {
                        int len = Jim_ListLength(interp, argv[idx + 1]);
                        int i;

                        ret = JIM_OK;

                        for (i = 0; i < len; i++) {
                            Jim_Obj *matchObj = Jim_ListGetIndex(interp, argv[idx + 1], i);
                            Jim_Obj *objPtr = Jim_ListGetIndex(interp, errorCodeObj, i);
                            if (Jim_StringCompareObj(interp, matchObj, objPtr, 0) != 0) {
                                ret = -1;
                                break;
                            }
                        }
                    }
                    else {

                        ret = -1;
                    }

                    if (ret == JIM_OK && handlerScriptObj == NULL) {
                        msgVarObj = Jim_ListGetIndex(interp, argv[idx + 2], 0);
                        optsVarObj = Jim_ListGetIndex(interp, argv[idx + 2], 1);
                        handlerScriptObj = argv[idx + 3];
                    }
                    idx += 4;
                    break;
                case TRY_FINALLY:
                    if (idx + 2 != argc) {
                        goto wrongargs;
                    }
                    finallyScriptObj = argv[idx + 1];
                    idx += 2;
                    break;
            }
        }
    }
    else {
        if (argc - idx >= 1) {
            msgVarObj = argv[idx];
            idx++;
            if (argc - idx >= 1) {
                optsVarObj = argv[idx];
                idx++;
            }
        }
    }


    if (exitCode >= 0 && exitCode < max_ignore_code && (((unsigned jim_wide)1 << exitCode) & ignore_mask)) {

        if (finallyScriptObj) {
            Jim_EvalObj(interp, finallyScriptObj);
        }
        return exitCode;
    }

    if (sig && exitCode == JIM_SIGNAL) {

        if (interp->signal_set_result) {
            interp->signal_set_result(interp, interp->sigmask);
        }
        else if (!istry) {
            Jim_SetResultInt(interp, interp->sigmask);
        }
        interp->sigmask = 0;
    }

    ok = 1;
    if (msgVarObj && Jim_Length(msgVarObj)) {
        if (Jim_SetVariable(interp, msgVarObj, Jim_GetResult(interp)) != JIM_OK) {
            ok = 0;
        }
    }
    if (ok && optsVarObj && Jim_Length(optsVarObj)) {
        Jim_Obj *optListObj = Jim_NewListObj(interp, NULL, 0);

        Jim_ListAppendElement(interp, optListObj, Jim_NewStringObj(interp, "-code", -1));
        Jim_ListAppendElement(interp, optListObj,
            Jim_NewIntObj(interp, exitCode == JIM_RETURN ? interp->returnCode : exitCode));
        Jim_ListAppendElement(interp, optListObj, Jim_NewStringObj(interp, "-level", -1));
        Jim_ListAppendElement(interp, optListObj, Jim_NewIntObj(interp, interp->returnLevel));
        if (exitCode == JIM_ERR) {
            Jim_ListAppendElement(interp, optListObj, Jim_NewStringObj(interp, "-errorinfo",
                -1));
            Jim_ListAppendElement(interp, optListObj, interp->stackTrace);

            if (errorCodeObj) {
                Jim_ListAppendElement(interp, optListObj, Jim_NewStringObj(interp, "-errorcode", -1));
                Jim_ListAppendElement(interp, optListObj, errorCodeObj);
            }
        }
        if (Jim_SetVariable(interp, optsVarObj, optListObj) != JIM_OK) {
            ok = 0;
        }
    }
    if (ok && handlerScriptObj) {

        exitCode = Jim_EvalObj(interp, handlerScriptObj);
    }

    if (finallyScriptObj) {

        Jim_Obj *prevResultObj = Jim_GetResult(interp);
        Jim_IncrRefCount(prevResultObj);
        int ret = Jim_EvalObj(interp, finallyScriptObj);
        if (ret == JIM_OK) {
            Jim_SetResult(interp, prevResultObj);
        }
        else {
            exitCode = ret;
        }
        Jim_DecrRefCount(interp, prevResultObj);
    }
    if (!istry) {
        Jim_SetResultInt(interp, exitCode);
        exitCode = JIM_OK;
    }
    return exitCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rcx, %r12
movl %edx, %r14d
movl %esi, -0x48(%rbp)
movq %rdi, %r15
leaq 0x850d(%rip), %rsi      # 0x2c9f7
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7516
movq 0x58(%r15), %rbx
movq 0x60(%r15), %rcx
movq %rcx, 0x58(%r15)
leaq 0x84e6(%rip), %rsi      # 0x2c9ed
movq %r15, %rdi
movq %rax, %rdx
callq 0xc40a
movq %rbx, 0x58(%r15)
cmpl $0x3, %r14d
movq %r15, -0x38(%rbp)
movq %r12, -0x50(%rbp)
movq %r14, -0x70(%rbp)
jl 0x2465f
leal -0x1(%r14), %eax
movl %eax, -0x40(%rbp)
movl $0xe0, %ebx
movl $0x1, %r13d
movslq %r13d, %rax
movq (%r12,%rax,8), %r14
cmpq $0x0, (%r14)
jne 0x24555
movq 0x8(%r14), %rax
movq %r14, %rdi
callq *0x18(%rax)
movq (%r14), %r14
movq %r14, %rdi
leaq 0x90bb(%rip), %rsi      # 0x2d61d
callq 0x62e0
testl %eax, %eax
je 0x24632
movl $0x2, %eax
cmpb $0x2d, (%r14)
jne 0x2464c
movl $0x3, %edx
movq %r14, %rdi
leaq 0x98ef(%rip), %rsi      # 0x2de7c
callq 0x60b0
movl %eax, %r12d
xorl %eax, %eax
testl %r12d, %r12d
sete %al
leaq 0x1(%r14,%rax,2), %r14
movq %r14, %rdi
leaq -0x98(%rbp), %rsi
movl $0xa, %edx
callq 0x6460
movq %rax, %r15
movq -0x98(%rbp), %rsi
movq %r14, %rdi
callq 0xa5b8
negl %eax
movl $0x0, %ecx
sbbq %rcx, %rcx
orq %r15, %rcx
jns 0x24614
movq %rbx, -0x78(%rbp)
leaq 0x11dee(%rip), %rbx     # 0x363d0
xorl %r15d, %r15d
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x245f9
movq %r14, %rsi
callq 0x62e0
testl %eax, %eax
je 0x2460d
incq %r15
addq $0x8, %rbx
cmpq $0x8, %r15
jne 0x245e5
movq $-0x1, %r15
movslq %r15d, %rcx
movq -0x78(%rbp), %rbx
testq %rcx, %rcx
movq -0x38(%rbp), %r15
js 0x2463c
movl $0x1, %eax
shlq %cl, %rax
testl %r12d, %r12d
je 0x24643
notq %rax
andq %rax, %rbx
jmp 0x24646
incl %r13d
movl $0x2, %eax
jmp 0x2464c
movl $0x5, %eax
jmp 0x24648
orq %rax, %rbx
xorl %eax, %eax
movq -0x50(%rbp), %r12
testl %eax, %eax
jne 0x2466c
incl %r13d
cmpl -0x40(%rbp), %r13d
jl 0x2453e
jmp 0x2467f
movl $0x1, %r13d
movl $0xe0, %ebx
jmp 0x2467f
cmpl $0x2, %eax
je 0x2467f
cmpl $0x5, %eax
je 0x249e2
jmp 0x24a08
cmpl -0x70(%rbp), %r13d
jge 0x249e2
movq %rbx, %rax
xorl %ebx, %ebx
movq %rax, -0x78(%rbp)
testb $0x20, %al
sete %bl
addl %ebx, 0x40(%r15)
je 0x246ad
movl $0x5, %eax
movq %rax, -0x30(%rbp)
cmpq $0x0, 0x48(%r15)
jne 0x246cb
movslq %r13d, %rax
movq (%r12,%rax,8), %rsi
movq %r15, %rdi
callq 0x9078
movq %rax, -0x30(%rbp)
movl $0x0, 0x1b4(%r15)
subl %ebx, 0x40(%r15)
movq 0x58(%r15), %rbx
movq 0x60(%r15), %rax
movq %rax, 0x58(%r15)
leaq 0x830b(%rip), %rsi      # 0x2c9ed
movq %r15, %rdi
xorl %edx, %edx
callq 0xc75a
movq %rax, -0x80(%rbp)
movq %rbx, 0x58(%r15)
leal 0x1(%r13), %r14d
cmpl $0x0, -0x48(%rbp)
je 0x24a19
movq $0x0, -0x68(%rbp)
movq $0x0, -0x58(%rbp)
movq $0x0, -0x88(%rbp)
movq $0x0, -0x60(%rbp)
movq -0x30(%rbp), %rbx
cmpl -0x70(%rbp), %r14d
jge 0x24a42
movslq %r14d, %r13
movq (%r12,%r13,8), %rsi
movq %r15, %rdi
leaq 0x12f7c(%rip), %rdx     # 0x376c0
leaq -0xa0(%rbp), %rcx
leaq 0x973b(%rip), %r8       # 0x2de8d
movl $0x1, %r9d
callq 0x7e97
testl %eax, %eax
je 0x24775
movl %r14d, %edx
movl $0x1, %ecx
movl %edx, %r14d
testl %ecx, %ecx
je 0x24729
jmp 0x249dd
movq %r13, -0x40(%rbp)
xorl %ecx, %ecx
movl -0xa0(%rbp), %eax
cmpl $0x2, %eax
jae 0x2484b
leal 0x4(%r14), %ecx
cmpl -0x70(%rbp), %ecx
jg 0x24868
testl %eax, %eax
movl %ecx, -0x44(%rbp)
je 0x2487d
cmpq $0x0, -0x80(%rbp)
movq -0x40(%rbp), %rax
je 0x2490a
movq 0x8(%r12,%rax,8), %r14
movq %r15, %rdi
movq %r14, %rsi
callq 0xe338
movl 0x20(%r14), %eax
movl %eax, -0x90(%rbp)
xorl %r15d, %r15d
testl %eax, %eax
jle 0x24939
movl $0x1, %r13d
movl %r15d, %ebx
leal -0x1(%r13), %r14d
movq -0x40(%rbp), %rax
movq 0x8(%r12,%rax,8), %rsi
movq -0x38(%rbp), %r15
movq %r15, %rdi
movl %r14d, %edx
callq 0xe871
movq %rax, %r12
movq %r15, %rdi
movq -0x80(%rbp), %rsi
movl %r14d, %edx
callq 0xe871
movq %r12, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0xb302
movl %eax, %ecx
negl %ecx
movl $0x0, %r15d
sbbl %r15d, %r15d
orl %ebx, %r15d
testl %eax, %eax
jne 0x24912
leal 0x1(%r13), %eax
cmpl -0x90(%rbp), %r13d
movl %eax, %r13d
movq -0x50(%rbp), %r12
jl 0x247dc
jmp 0x24939
jne 0x24875
leal 0x2(%r14), %edx
cmpl -0x70(%rbp), %edx
jne 0x24868
movq -0x40(%rbp), %rax
movq 0x8(%r12,%rax,8), %rax
movq %rax, -0x60(%rbp)
jmp 0x24769
movl %r14d, %edx
movl $0x5, %ecx
jmp 0x24769
movl %r14d, %edx
jmp 0x24769
movq -0x40(%rbp), %rax
movq 0x8(%r12,%rax,8), %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0xe338
movq %rbx, -0x90(%rbp)
movl 0x20(%rbx), %eax
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, -0x9c(%rbp)
testl %eax, %eax
jle 0x2491f
xorl %r12d, %r12d
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
movq -0x90(%rbp), %rsi
movl %r12d, %edx
callq 0xe871
movq %rbx, %rdi
movq %rax, %rsi
leaq -0x98(%rbp), %rdx
callq 0xfac8
movl -0x98(%rbp), %ecx
movq -0x30(%rbp), %rdx
cmpl %edx, %ecx
movl $0x0, %esi
cmovel %esi, %r13d
testl %eax, %eax
movl $0x1, %eax
cmovnel %eax, %r13d
jne 0x24918
cmpl %edx, %ecx
je 0x24918
incl %r12d
cmpl %r12d, -0x9c(%rbp)
jne 0x248ae
jmp 0x2491b
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
jmp 0x24939
movq -0x50(%rbp), %r12
jmp 0x24939
movl %r13d, %r15d
movq -0x50(%rbp), %r12
testl %r15d, %r15d
jle 0x24939
movl %r14d, %edx
movl $0x5, %ecx
movq -0x38(%rbp), %r15
movq -0x30(%rbp), %rbx
jmp 0x24769
testl %r15d, %r15d
jne 0x24974
cmpq $0x0, -0x68(%rbp)
movq -0x38(%rbp), %r15
jne 0x24978
movq -0x40(%rbp), %rax
movq 0x10(%r12,%rax,8), %r14
movq %r15, %rdi
movq %r14, %rsi
callq 0xe338
cmpl $0x0, 0x20(%r14)
jle 0x24986
movq 0x18(%r14), %rax
movq (%rax), %rax
movq %rax, -0x88(%rbp)
jmp 0x24991
movq -0x38(%rbp), %r15
movq -0x30(%rbp), %rbx
xorl %ecx, %ecx
movl -0x44(%rbp), %edx
jmp 0x24769
movq $0x0, -0x88(%rbp)
movq -0x30(%rbp), %rbx
movq -0x40(%rbp), %rax
movq 0x10(%r12,%rax,8), %r14
movq %r15, %rdi
movq %r14, %rsi
callq 0xe338
cmpl $0x2, 0x20(%r14)
jl 0x249be
movq 0x18(%r14), %rax
movq 0x8(%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0x249c6
movq $0x0, -0x58(%rbp)
xorl %ecx, %ecx
movl -0x44(%rbp), %edx
movq -0x40(%rbp), %rax
movq 0x18(%r12,%rax,8), %rax
movq %rax, -0x68(%rbp)
jmp 0x24769
cmpl $0x5, %ecx
jne 0x24a57
movl -0x48(%rbp), %eax
leaq 0x3dcc(%rip), %rdx      # 0x287b8
movslq (%rdx,%rax,4), %rcx
addq %rdx, %rcx
movl $0x1, %ebx
movq %r15, %rdi
movl $0x1, %esi
movq %r12, %rdx
callq 0x7454
movl %ebx, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x70(%rbp), %rcx
cmpl %ecx, %r14d
movq -0x30(%rbp), %rbx
jge 0x24a5e
movslq %r14d, %rax
movq (%r12,%rax,8), %rdx
addl $0x2, %r13d
cmpl %ecx, %r13d
jge 0x24a67
movslq %r13d, %rax
movq (%r12,%rax,8), %rcx
xorl %r13d, %r13d
jmp 0x24a6c
movq -0x68(%rbp), %r13
movq -0x58(%rbp), %rcx
movq -0x88(%rbp), %rdx
movq -0x60(%rbp), %rsi
jmp 0x24a6e
movl $0x1, %ebx
jmp 0x24a08
xorl %r13d, %r13d
xorl %ecx, %ecx
xorl %edx, %edx
jmp 0x24a6c
xorl %r13d, %r13d
xorl %ecx, %ecx
xorl %esi, %esi
cmpl $0x3f, %ebx
ja 0x24a8f
movq -0x78(%rbp), %rax
btq %rbx, %rax
jae 0x24a8f
testq %rsi, %rsi
je 0x24a08
movq %r15, %rdi
callq 0x9078
jmp 0x24a08
movq %rsi, -0x60(%rbp)
movq %rdx, %r12
testb $0x20, -0x78(%rbp)
movq %rcx, -0x58(%rbp)
jne 0x24b0c
cmpl $0x5, %ebx
jne 0x24b0c
movq 0x50(%r15), %rax
testq %rax, %rax
je 0x24ab9
movq 0x48(%r15), %rsi
movq %r15, %rdi
callq *%rax
jmp 0x24b04
cmpl $0x0, -0x48(%rbp)
jne 0x24b04
movq 0x48(%r15), %rbx
movq %r15, %rdi
callq 0xae58
movq %rax, %r14
leaq 0x1180b(%rip), %rax     # 0x362e0
movq %rax, 0x8(%r14)
movq $0x0, (%r14)
movq %rbx, 0x18(%r14)
incl 0x10(%r14)
movq (%r15), %rsi
movl 0x10(%rsi), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%rsi)
cmpl $0x1, %eax
jg 0x24b01
movq %r15, %rdi
callq 0x759a
movq %r14, (%r15)
movq $0x0, 0x48(%r15)
movl $0x1, %r14d
movb $0x1, %bl
testq %r12, %r12
je 0x24b4d
cmpq $0x0, (%r12)
jne 0x24b2b
movq 0x8(%r12), %rax
movq %r12, %rdi
callq *0x18(%rax)
cmpl $0x0, 0x14(%r12)
je 0x24b4d
movq (%r15), %rdx
movq %r15, %rdi
movq %r12, %rsi
callq 0x871b
movl %eax, %r14d
testl %eax, %eax
sete %bl
xorl $0x1, %r14d
testb %bl, %bl
je 0x24cf0
movq -0x58(%rbp), %rax
testq %rax, %rax
movq -0x30(%rbp), %rbx
movq -0x60(%rbp), %r12
je 0x24d00
cmpq $0x0, (%rax)
movq %rax, %r14
jne 0x24b7d
movq 0x8(%r14), %rax
movq %r14, %rdi
callq *0x18(%rax)
cmpl $0x0, 0x14(%r14)
je 0x24cfa
movq %r13, -0x68(%rbp)
movq %r15, %rdi
callq 0xae58
movq %rax, %r14
leaq 0x117ba(%rip), %rax     # 0x36358
movq %rax, 0x8(%r14)
movq $0x0, (%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%r14)
leaq 0x8287(%rip), %rsi      # 0x2ce3f
movq %r15, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7516
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7695
movl %ebx, %eax
cmpl $0x2, %ebx
jne 0x24bde
movl 0x28(%r15), %eax
movslq %eax, %r12
movq %r15, %rdi
callq 0xae58
leaq 0x116f0(%rip), %rbx     # 0x362e0
movq %rbx, 0x8(%rax)
xorl %r15d, %r15d
movq %r15, (%rax)
movq %r12, 0x18(%rax)
movq -0x38(%rbp), %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7695
leaq 0x8edb(%rip), %rsi      # 0x2daef
movq -0x38(%rbp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7516
movq -0x38(%rbp), %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7695
movq -0x38(%rbp), %rax
movslq 0x2c(%rax), %r12
movq -0x38(%rbp), %rdi
callq 0xae58
movq %rbx, 0x8(%rax)
movq %r15, (%rax)
movq -0x38(%rbp), %r15
movq %r12, 0x18(%rax)
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7695
movq -0x30(%rbp), %rbx
cmpl $0x1, %ebx
jne 0x24cd4
leaq 0x8e6a(%rip), %rsi      # 0x2dad9
movq %r15, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7516
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7695
movq 0x188(%r15), %rdx
movq %r15, %rdi
movq %r14, %rsi
callq 0x7695
cmpq $0x0, -0x80(%rbp)
je 0x24cd4
leaq 0x8e3a(%rip), %rsi      # 0x2dae4
movq %r15, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x7516
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x7695
movq %r15, %rdi
movq %r14, %rsi
movq -0x80(%rbp), %rdx
callq 0x7695
movq %r15, %rdi
movq -0x58(%rbp), %rsi
movq %r14, %rdx
callq 0x871b
movl %eax, %r14d
xorl $0x1, %r14d
movq -0x68(%rbp), %r13
jmp 0x24cf4
movq -0x30(%rbp), %rbx
movq -0x60(%rbp), %r12
jmp 0x24d00
movl $0x1, %r14d
testl %r14d, %r14d
je 0x24d17
testq %r13, %r13
je 0x24d17
movq %r15, %rdi
movq %r13, %rsi
callq 0x9078
movl %eax, %ebx
testq %r12, %r12
je 0x24d75
movq (%r15), %r14
incl 0x10(%r14)
movq %r15, %rdi
movq %r12, %rsi
callq 0x9078
movl %eax, %r12d
testl %eax, %eax
jne 0x24d58
incl 0x10(%r14)
movq (%r15), %rsi
movl 0x10(%rsi), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%rsi)
cmpl $0x1, %eax
jg 0x24d52
movq %r15, %rdi
callq 0x759a
movq %r14, (%r15)
movl %ebx, %r12d
movl 0x10(%r14), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%r14)
cmpl $0x1, %eax
jg 0x24d78
movq %r15, %rdi
movq %r14, %rsi
callq 0x759a
jmp 0x24d78
movl %ebx, %r12d
cmpl $0x0, -0x48(%rbp)
je 0x24d86
movl %r12d, %ebx
jmp 0x24a08
movslq %r12d, %rbx
movq %r15, %rdi
callq 0xae58
movq %rax, %r14
leaq 0x11545(%rip), %rax     # 0x362e0
movq %rax, 0x8(%r14)
movq $0x0, (%r14)
movq %rbx, 0x18(%r14)
incl 0x10(%r14)
movq (%r15), %rsi
movl 0x10(%rsi), %eax
leal -0x1(%rax), %ecx
movl %ecx, 0x10(%rsi)
cmpl $0x1, %eax
jg 0x24dc7
movq %r15, %rdi
callq 0x759a
movq %r14, (%r15)
xorl %ebx, %ebx
jmp 0x24a08