// File: /workspace/github_c_makefile_star2_O0/zyearn[P]SmallC/codegen.cpp
// Function: genGT(treeNode*)
void genGT(treeNode* node)  //for global construct symboltable
{
    //int a,b,c[10] ÀàÐÍµÄÇé¿ö
    if(FT["_G"] == NULL)
    {
        FT["_G"] = new map<string, int>();
    }
    if(ISA["_G"] == NULL)
    {
        ISA["_G"] = new map<string, int>();
    }
    if(node->child[0]->type == 1)   
    {
        int size = 0;
        if( (*FT["_G"])["#"] != 0)
        {
            size = (*FT["_G"])["#"] /4;
        }
        string tmp = node->child[1]->data;
        if(tmp[tmp.length()-1] != ',')
        {
            tmp += ",";
        }

        while(tmp.find(",")>=0 && tmp.find(",")<tmp.length() )
        {
            // int situation
            if(tmp.find(",") < tmp.find("["))
            {
                string s = tmp.substr(0,tmp.find(","));
                tmp.erase(0,tmp.find(","));
                tmp.erase(tmp.find(","),1);
                size++;
                if((*FT["_G"])[s] == 0)
                    (*FT["_G"])[s] = size*4;
                else
                {
                    freopen(outputFile.c_str(), "w", stdout);
                    cout << "Error.";
                    fprintf(stderr, "\nCompile fail!\n");
                    fprintf(stderr, "error occurs, %s is redefined\n", s.c_str() );
                    exit(0);
                }
            }
            // array£¬eg a[10]
            else if(tmp.find("[") < tmp.find(","))
            {
                string s = tmp.substr(0,tmp.find("["));
                string num = tmp.substr(tmp.find("[")+1, tmp.find("]"));
                tmp.erase(0,tmp.find(","));
                tmp.erase(tmp.find(","),1);             
                size += atoi(num.c_str());
                if((*FT["_G"])[s] == 0)
                {
                    (*FT["_G"])[s] = size*4;
                    (*ISA["_G"])[s] = 1;
                }
                else
                {
                    freopen(outputFile.c_str(), "w", stdout);
                    cout << "Error.";
                    fprintf(stderr, "\nCompile fail!\n");
                    fprintf(stderr, "error occurs, %s is redefined\n", s.c_str() );
                    exit(0);
                }
            }
        }
        (*FT["_G"])["#"] = size*4;
    }
    //struct opt {DEFS} £¬modify ST
    else if (node->child[0]->child[0]->type == 1)
    {
        //printf("enter type == 2 (1)\n");
        treeNode *stspec = node->child[0]->child[0];
        string stname = stspec->child[1]->data;
        if( ST[stname] == 0)    //Èç¹ûstruct Ã»¶¨Òå£¬ÔòÐÞ¸Äsymboltable,
        {   //ÕâÀïÓÐ¸öÎÊÌâ£¬Èô¶¼Ã»ÓÐÖ¸¶¨OPTTAG£¬Ôò³öÏÖredefined´íÎó£¬µ«²»ÊÇËùÏ£ÍûµÄ
            ST[stname] = new map<string ,int>();
        }
        else
        {
            freopen(outputFile.c_str(), "w", stdout);
            cout << "Error.";
            fprintf(stderr, "\nCompile fail!\n");
            fprintf(stderr, "error occurs, %s is redefined\n", (stspec->child[2]->data).c_str() );
            exit(0);
        }
        string tmp = stspec->child[3]->data;
        if(tmp[tmp.length()-1] != ',')
        {
            tmp += ",";
        }
        int size = 0;
        while(tmp.find(",")>=0 && tmp.find(",")<tmp.length() )
        {
            string s = tmp.substr(0,tmp.find(","));
            tmp.erase(0,tmp.find(","));
            tmp.erase(tmp.find(","),1);
            size++;
            if((*ST[stname])[s] == 0)
            {
                (*ST[stname])[s] = size*4;
            }
            else
            {
                freopen(outputFile.c_str(), "w", stdout);
                cout << "Error.";
                fprintf(stderr, "\nCompile fail!\n");
                fprintf(stderr, "error occurs, %s is redefined\n", (stname+"."+s).c_str() );
                exit(0);
            }
        }
        (*ST[stname])["#"] = size*4;
        //´¦Àístruct id {..}id_1,id_2; Çé¿ö
        tmp = node->child[1]->data;
        if(tmp != "")
        {
            if(tmp[tmp.length()-1] != ',')
            {
                tmp += ",";
            }// + ","
            if((*FT["_G"])["#"] != 0)
            {   
                size = (*FT["_G"])["#"] /4;
            }
            while(tmp.find(",")>=0 && tmp.find(",")<tmp.length() )
            {
                string s = tmp.substr(0,tmp.find(","));
                tmp.erase(0,tmp.find(","));
                tmp.erase(tmp.find(","),1);
                size += ( (*ST[stname])["#"] )/4;
                if((*FT["_G"])[s] == 0)
                {
                    (*FT["_G"])[s] = size*4;
                    STAC[s] = stname;
                }
                else
                {
                    freopen(outputFile.c_str(), "w", stdout);
                    cout << "Error.";
                    fprintf(stderr, "\nCompile fail!\n");
                    fprintf(stderr, "error occurs, %s is redefined\n", s.c_str() );
                    exit(0);
                }
            }
            (*FT["_G"])["#"] = size*4;
        }
    }
    //struct id xxx; Çé¿ö
    else if(node->child[0]->child[0]->type == 2)
    {
    //  printf("enter type == 2 (2)\n");
        string stname = node->child[0]->child[0]->child[1]->data;
        if(ST[stname] == NULL)
        {
            freopen(outputFile.c_str(), "w", stdout);
            cout << "Error.";
            fprintf(stderr, "\nCompile fail!\n");
            fprintf(stderr, "error occurs, %s is not defined\n", stname.c_str() );
            exit(0);
        }
        int size = 0;
        if((*FT["_G"])["#"] != 0)
        {
            size = (*FT["_G"])["#"] /4;
        }
        string tmp = node->child[1]->data;
        if(tmp[tmp.length()-1] != ',')
        {
            tmp += ",";
        }
        while(tmp.find(",")>=0 && tmp.find(",")<tmp.length() )
        {
            string s = tmp.substr(0,tmp.find(","));
            tmp.erase(0,tmp.find(","));
            tmp.erase(tmp.find(","),1);
            size += (*ST[stname])["#"]/4;
            if((*FT["_G"])[s] == 0)
            {
                (*FT["_G"])[s] = size*4;
                STAC[s] = stname;
            }
            else
            {
                freopen(outputFile.c_str(), "w", stdout);
                cout << "Error.";
                fprintf(stderr, "\nCompile fail!\n");
                fprintf(stderr, "error occurs, %s is redefined\n", s.c_str() );
                exit(0);
            }
        }
        (*FT["_G"])["#"] = size*4;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xcc0, %rsp            # imm = 0xCC0
movq %rdi, -0x8(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x3460
movq -0x728(%rbp), %rdx
leaq 0x23fef(%rip), %rsi     # 0x3593c
leaq -0x28(%rbp), %rdi
callq 0xfd00
jmp 0x11958
leaq 0x2c9f1(%rip), %rdi     # 0x3e350
leaq -0x28(%rbp), %rsi
callq 0xfe90
movq %rax, -0x730(%rbp)
jmp 0x11971
movq -0x730(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x738(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x34f8
leaq -0x29(%rbp), %rdi
callq 0x32f0
movq -0x738(%rbp), %rax
cmpq $0x0, %rax
jne 0x11a98
movl $0x30, %edi
callq 0x3270
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x748(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rdi)
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
callq 0xff70
leaq -0x61(%rbp), %rdi
movq %rdi, -0x740(%rbp)
callq 0x3460
movq -0x740(%rbp), %rdx
leaq 0x23f4f(%rip), %rsi     # 0x3593c
leaq -0x60(%rbp), %rdi
callq 0xfd00
jmp 0x119f8
leaq 0x2c951(%rip), %rdi     # 0x3e350
leaq -0x60(%rbp), %rsi
callq 0xfe90
movq %rax, -0x750(%rbp)
jmp 0x11a11
movq -0x750(%rbp), %rax
movq -0x748(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x60(%rbp), %rdi
callq 0x34f8
leaq -0x61(%rbp), %rdi
callq 0x32f0
jmp 0x11a98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11a59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x34f8
leaq -0x29(%rbp), %rdi
callq 0x32f0
jmp 0x14466
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11a8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x34f8
leaq -0x61(%rbp), %rdi
callq 0x32f0
jmp 0x14466
leaq -0x89(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0x3460
movq -0x758(%rbp), %rdx
leaq 0x23e83(%rip), %rsi     # 0x3593c
leaq -0x88(%rbp), %rdi
callq 0xfd00
jmp 0x11ac7
leaq 0x2c8e2(%rip), %rdi     # 0x3e3b0
leaq -0x88(%rbp), %rsi
callq 0xfe90
movq %rax, -0x760(%rbp)
jmp 0x11ae3
movq -0x760(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x768(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x34f8
leaq -0x89(%rbp), %rdi
callq 0x32f0
movq -0x768(%rbp), %rax
cmpq $0x0, %rax
jne 0x11c2b
movl $0x30, %edi
callq 0x3270
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x778(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rdi)
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
callq 0xff70
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x770(%rbp)
callq 0x3460
movq -0x770(%rbp), %rdx
leaq 0x23dd4(%rip), %rsi     # 0x3593c
leaq -0xb0(%rbp), %rdi
callq 0xfd00
jmp 0x11b76
leaq 0x2c833(%rip), %rdi     # 0x3e3b0
leaq -0xb0(%rbp), %rsi
callq 0xfe90
movq %rax, -0x780(%rbp)
jmp 0x11b92
movq -0x780(%rbp), %rax
movq -0x778(%rbp), %rcx
movq %rcx, (%rax)
leaq -0xb0(%rbp), %rdi
callq 0x34f8
leaq -0xb1(%rbp), %rdi
callq 0x32f0
jmp 0x11c2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11be3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x34f8
leaq -0x89(%rbp), %rdi
callq 0x32f0
jmp 0x14466
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11c1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x34f8
leaq -0xb1(%rbp), %rdi
callq 0x32f0
jmp 0x14466
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
cmpl $0x1, 0x24(%rax)
jne 0x129ee
movl $0x0, -0xb8(%rbp)
leaq -0xd9(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x3460
movq -0x788(%rbp), %rdx
leaq 0x23cd1(%rip), %rsi     # 0x3593c
leaq -0xd8(%rbp), %rdi
callq 0xfd00
jmp 0x11c79
leaq 0x2c6d0(%rip), %rdi     # 0x3e350
leaq -0xd8(%rbp), %rsi
callq 0xfe90
movq %rax, -0x790(%rbp)
jmp 0x11c95
movq -0x790(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x7a0(%rbp)
leaq -0x101(%rbp), %rdi
movq %rdi, -0x798(%rbp)
callq 0x3460
movq -0x798(%rbp), %rdx
leaq 0x24101(%rip), %rsi     # 0x35dc8
leaq -0x100(%rbp), %rdi
callq 0xfd00
jmp 0x11cd5
movq -0x7a0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x30860
movq %rax, -0x7a8(%rbp)
jmp 0x11cf1
movq -0x7a8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x7ac(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x34f8
leaq -0x101(%rbp), %rdi
callq 0x32f0
leaq -0xd8(%rbp), %rdi
callq 0x34f8
leaq -0xd9(%rbp), %rdi
callq 0x32f0
movl -0x7ac(%rbp), %eax
cmpl $0x0, %eax
je 0x11f08
leaq -0x129(%rbp), %rdi
movq %rdi, -0x7b8(%rbp)
callq 0x3460
movq -0x7b8(%rbp), %rdx
leaq 0x23bdc(%rip), %rsi     # 0x3593c
leaq -0x128(%rbp), %rdi
callq 0xfd00
jmp 0x11d6e
leaq 0x2c5db(%rip), %rdi     # 0x3e350
leaq -0x128(%rbp), %rsi
callq 0xfe90
movq %rax, -0x7c0(%rbp)
jmp 0x11d8a
movq -0x7c0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x7d0(%rbp)
leaq -0x151(%rbp), %rdi
movq %rdi, -0x7c8(%rbp)
callq 0x3460
movq -0x7c8(%rbp), %rdx
leaq 0x2400c(%rip), %rsi     # 0x35dc8
leaq -0x150(%rbp), %rdi
callq 0xfd00
jmp 0x11dca
movq -0x7d0(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x30860
movq %rax, -0x7d8(%rbp)
jmp 0x11de6
movq -0x7d8(%rbp), %rax
movl (%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0xb8(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x34f8
leaq -0x151(%rbp), %rdi
callq 0x32f0
leaq -0x128(%rbp), %rdi
callq 0x34f8
leaq -0x129(%rbp), %rdi
callq 0x32f0
jmp 0x11f08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11e8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11e80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11e74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x34f8
leaq -0x101(%rbp), %rdi
callq 0x32f0
leaq -0xd8(%rbp), %rdi
callq 0x34f8
leaq -0xd9(%rbp), %rdi
callq 0x32f0
jmp 0x14466
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11ef7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11eeb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x11edf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x34f8
leaq -0x151(%rbp), %rdi
callq 0x32f0
leaq -0x128(%rbp), %rdi
callq 0x34f8
leaq -0x129(%rbp), %rdi
callq 0x32f0
jmp 0x14466
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
leaq -0x178(%rbp), %rdi
movq %rdi, -0x7e8(%rbp)
callq 0x3150
movq -0x7e8(%rbp), %rdi
callq 0x33c0
movq -0x7e8(%rbp), %rdi
movq %rax, %rsi
decq %rsi
callq 0x34e0
movq %rax, -0x7e0(%rbp)
jmp 0x11f4e
movq -0x7e0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
je 0x11f85
leaq 0x239ea(%rip), %rsi     # 0x3594e
leaq -0x178(%rbp), %rdi
callq 0x3240
jmp 0x11f72
jmp 0x11f85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x129dd
jmp 0x11f87
leaq -0x178(%rbp), %rdi
leaq 0x239b9(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x7e9(%rbp)
jb 0x11fef
leaq -0x178(%rbp), %rdi
leaq 0x23991(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, -0x7f8(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x33c0
movq %rax, %rcx
movq -0x7f8(%rbp), %rax
cmpq %rcx, %rax
setb %al
movb %al, -0x7e9(%rbp)
movb -0x7e9(%rbp), %al
testb $0x1, %al
jne 0x11ffe
jmp 0x12871
leaq -0x178(%rbp), %rdi
leaq 0x23942(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, -0x800(%rbp)
leaq -0x178(%rbp), %rdi
leaq 0x2392d(%rip), %rsi     # 0x35957
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, %rcx
movq -0x800(%rbp), %rax
cmpq %rcx, %rax
jae 0x1237f
leaq 0x23901(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x808(%rbp)
leaq -0x178(%rbp), %rdi
movq %rdi, -0x810(%rbp)
callq 0x34d0
movq -0x810(%rbp), %rsi
movq -0x808(%rbp), %rdx
movq %rax, %rcx
leaq -0x198(%rbp), %rdi
callq 0x3290
jmp 0x1208a
leaq 0x238bd(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x818(%rbp)
leaq -0x178(%rbp), %rdi
movq %rdi, -0x820(%rbp)
callq 0x34d0
movq -0x820(%rbp), %rdi
movq -0x818(%rbp), %rsi
movq %rax, %rdx
callq 0x30d0
jmp 0x120c7
leaq 0x23880(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
leaq -0x178(%rbp), %rdi
movq %rdi, -0x828(%rbp)
callq 0x34d0
movq -0x828(%rbp), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x30d0
jmp 0x120fb
movl -0xb8(%rbp), %eax
incl %eax
movl %eax, -0xb8(%rbp)
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x830(%rbp)
callq 0x3460
movq -0x830(%rbp), %rdx
leaq 0x23812(%rip), %rsi     # 0x3593c
leaq -0x1b8(%rbp), %rdi
callq 0xfd00
jmp 0x12138
leaq 0x2c211(%rip), %rdi     # 0x3e350
leaq -0x1b8(%rbp), %rsi
callq 0xfe90
movq %rax, -0x838(%rbp)
jmp 0x12154
movq -0x838(%rbp), %rax
movq (%rax), %rdi
leaq -0x198(%rbp), %rsi
callq 0x30940
movq %rax, -0x840(%rbp)
jmp 0x12173
movq -0x840(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x844(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x34f8
leaq -0x1b9(%rbp), %rdi
callq 0x32f0
movl -0x844(%rbp), %eax
cmpl $0x0, %eax
jne 0x122cd
movl -0xb8(%rbp), %eax
shll $0x2, %eax
movl %eax, -0x854(%rbp)
leaq -0x1e1(%rbp), %rdi
movq %rdi, -0x850(%rbp)
callq 0x3460
movq -0x850(%rbp), %rdx
leaq 0x23763(%rip), %rsi     # 0x3593c
leaq -0x1e0(%rbp), %rdi
callq 0xfd00
jmp 0x121e7
leaq 0x2c162(%rip), %rdi     # 0x3e350
leaq -0x1e0(%rbp), %rsi
callq 0xfe90
movq %rax, -0x860(%rbp)
jmp 0x12203
movq -0x860(%rbp), %rax
movq (%rax), %rdi
leaq -0x198(%rbp), %rsi
callq 0x30940
movq %rax, -0x868(%rbp)
jmp 0x12222
movq -0x868(%rbp), %rax
movl -0x854(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x1e0(%rbp), %rdi
callq 0x34f8
leaq -0x1e1(%rbp), %rdi
callq 0x32f0
jmp 0x1235d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1236e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x12285
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x34f8
leaq -0x1b9(%rbp), %rdi
callq 0x32f0
jmp 0x1236e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x122bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x34f8
leaq -0x1e1(%rbp), %rdi
callq 0x32f0
jmp 0x1236e
leaq 0x2c054(%rip), %rdi     # 0x3e328
callq 0x3140
movq %rax, %rdi
movq 0x2bcbd(%rip), %rax     # 0x3dfa0
movq (%rax), %rdx
leaq 0x23918(%rip), %rsi     # 0x35c05
callq 0x32e0
jmp 0x122f4
movq 0x2bcd5(%rip), %rdi     # 0x3dfd0
leaq 0x23a6e(%rip), %rsi     # 0x35d70
callq 0x3250
jmp 0x12309
movq 0x2bcc8(%rip), %rax     # 0x3dfd8
movq (%rax), %rdi
leaq 0x23a5d(%rip), %rsi     # 0x35d77
movb $0x0, %al
callq 0x3390
movq 0x2bcb0(%rip), %rax     # 0x3dfd8
movq (%rax), %rax
movq %rax, -0x870(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x3140
movq -0x870(%rbp), %rdi
movq %rax, %rdx
leaq 0x23a38(%rip), %rsi     # 0x35d87
movb $0x0, %al
callq 0x3390
xorl %edi, %edi
callq 0x3340
leaq -0x198(%rbp), %rdi
callq 0x34f8
jmp 0x1286c
leaq -0x198(%rbp), %rdi
callq 0x34f8
jmp 0x129dd
leaq -0x178(%rbp), %rdi
leaq 0x235ca(%rip), %rsi     # 0x35957
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, -0x878(%rbp)
leaq -0x178(%rbp), %rdi
leaq 0x235a3(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, %rcx
movq -0x878(%rbp), %rax
cmpq %rcx, %rax
jae 0x1286a
leaq 0x23589(%rip), %rsi     # 0x35957
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x880(%rbp)
leaq -0x178(%rbp), %rdi
movq %rdi, -0x888(%rbp)
callq 0x34d0
movq -0x888(%rbp), %rsi
movq -0x880(%rbp), %rdx
movq %rax, %rcx
leaq -0x208(%rbp), %rdi
callq 0x3290
jmp 0x1240b
leaq 0x23545(%rip), %rsi     # 0x35957
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x8a0(%rbp)
leaq -0x178(%rbp), %rdi
movq %rdi, -0x898(%rbp)
callq 0x34d0
movq -0x8a0(%rbp), %rdx
movq -0x898(%rbp), %rdi
incq %rax
movq %rax, -0x890(%rbp)
leaq 0x2350a(%rip), %rsi     # 0x35959
callq 0x34d0
movq -0x898(%rbp), %rsi
movq -0x890(%rbp), %rdx
movq %rax, %rcx
leaq -0x228(%rbp), %rdi
callq 0x3290
jmp 0x12473
leaq 0x234d4(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x8a8(%rbp)
leaq -0x178(%rbp), %rdi
movq %rdi, -0x8b0(%rbp)
callq 0x34d0
movq -0x8b0(%rbp), %rdi
movq -0x8a8(%rbp), %rsi
movq %rax, %rdx
callq 0x30d0
jmp 0x124b0
leaq 0x23497(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
leaq -0x178(%rbp), %rdi
movq %rdi, -0x8b8(%rbp)
callq 0x34d0
movq -0x8b8(%rbp), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x30d0
jmp 0x124e4
leaq -0x228(%rbp), %rdi
callq 0x3140
movq %rax, %rdi
callq 0x33e0
movl %eax, %ecx
movl -0xb8(%rbp), %eax
addl %ecx, %eax
movl %eax, -0xb8(%rbp)
leaq -0x249(%rbp), %rdi
movq %rdi, -0x8c0(%rbp)
callq 0x3460
movq -0x8c0(%rbp), %rdx
leaq 0x23413(%rip), %rsi     # 0x3593c
leaq -0x248(%rbp), %rdi
callq 0xfd00
jmp 0x12537
leaq 0x2be12(%rip), %rdi     # 0x3e350
leaq -0x248(%rbp), %rsi
callq 0xfe90
movq %rax, -0x8c8(%rbp)
jmp 0x12553
movq -0x8c8(%rbp), %rax
movq (%rax), %rdi
leaq -0x208(%rbp), %rsi
callq 0x30940
movq %rax, -0x8d0(%rbp)
jmp 0x12572
movq -0x8d0(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x8d4(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x34f8
leaq -0x249(%rbp), %rdi
callq 0x32f0
movl -0x8d4(%rbp), %eax
cmpl $0x0, %eax
jne 0x127a3
movl -0xb8(%rbp), %eax
shll $0x2, %eax
movl %eax, -0x8e4(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0x8e0(%rbp)
callq 0x3460
movq -0x8e0(%rbp), %rdx
leaq 0x23364(%rip), %rsi     # 0x3593c
leaq -0x270(%rbp), %rdi
callq 0xfd00
jmp 0x125e6
leaq 0x2bd63(%rip), %rdi     # 0x3e350
leaq -0x270(%rbp), %rsi
callq 0xfe90
movq %rax, -0x8f0(%rbp)
jmp 0x12602
movq -0x8f0(%rbp), %rax
movq (%rax), %rdi
leaq -0x208(%rbp), %rsi
callq 0x30940
movq %rax, -0x8f8(%rbp)
jmp 0x12621
movq -0x8f8(%rbp), %rax
movl -0x8e4(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x270(%rbp), %rdi
callq 0x34f8
leaq -0x271(%rbp), %rdi
callq 0x32f0
leaq -0x299(%rbp), %rdi
movq %rdi, -0x900(%rbp)
callq 0x3460
movq -0x900(%rbp), %rdx
leaq 0x232d3(%rip), %rsi     # 0x3593c
leaq -0x298(%rbp), %rdi
callq 0xfd00
jmp 0x12677
leaq 0x2bd32(%rip), %rdi     # 0x3e3b0
leaq -0x298(%rbp), %rsi
callq 0xfe90
movq %rax, -0x908(%rbp)
jmp 0x12693
movq -0x908(%rbp), %rax
movq (%rax), %rdi
leaq -0x208(%rbp), %rsi
callq 0x30940
movq %rax, -0x910(%rbp)
jmp 0x126b2
movq -0x910(%rbp), %rax
movl $0x1, (%rax)
leaq -0x298(%rbp), %rdi
callq 0x34f8
leaq -0x299(%rbp), %rdi
callq 0x32f0
jmp 0x12833
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x12859
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1284d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x12724
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x34f8
leaq -0x249(%rbp), %rdi
callq 0x32f0
jmp 0x1284d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1275b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x34f8
leaq -0x271(%rbp), %rdi
callq 0x32f0
jmp 0x1284d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x12792
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x34f8
leaq -0x299(%rbp), %rdi
callq 0x32f0
jmp 0x1284d
leaq 0x2bb7e(%rip), %rdi     # 0x3e328
callq 0x3140
movq %rax, %rdi
movq 0x2b7e7(%rip), %rax     # 0x3dfa0
movq (%rax), %rdx
leaq 0x23442(%rip), %rsi     # 0x35c05
callq 0x32e0
jmp 0x127ca
movq 0x2b7ff(%rip), %rdi     # 0x3dfd0
leaq 0x23598(%rip), %rsi     # 0x35d70
callq 0x3250
jmp 0x127df
movq 0x2b7f2(%rip), %rax     # 0x3dfd8
movq (%rax), %rdi
leaq 0x23587(%rip), %rsi     # 0x35d77
movb $0x0, %al
callq 0x3390
movq 0x2b7da(%rip), %rax     # 0x3dfd8
movq (%rax), %rax
movq %rax, -0x918(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x3140
movq -0x918(%rbp), %rdi
movq %rax, %rdx
leaq 0x23562(%rip), %rsi     # 0x35d87
movb $0x0, %al
callq 0x3390
xorl %edi, %edi
callq 0x3340
leaq -0x228(%rbp), %rdi
callq 0x34f8
leaq -0x208(%rbp), %rdi
callq 0x34f8
jmp 0x1286a
leaq -0x228(%rbp), %rdi
callq 0x34f8
leaq -0x208(%rbp), %rdi
callq 0x34f8
jmp 0x129dd
jmp 0x1286c
jmp 0x11f87
movl -0xb8(%rbp), %eax
shll $0x2, %eax
movl %eax, -0x924(%rbp)
leaq -0x2c1(%rbp), %rdi
movq %rdi, -0x920(%rbp)
callq 0x3460
movq -0x920(%rbp), %rdx
leaq 0x2309b(%rip), %rsi     # 0x3593c
leaq -0x2c0(%rbp), %rdi
callq 0xfd00
jmp 0x128af
leaq 0x2ba9a(%rip), %rdi     # 0x3e350
leaq -0x2c0(%rbp), %rsi
callq 0xfe90
movq %rax, -0x930(%rbp)
jmp 0x128cb
movq -0x930(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x940(%rbp)
leaq -0x2e9(%rbp), %rdi
movq %rdi, -0x938(%rbp)
callq 0x3460
movq -0x938(%rbp), %rdx
leaq 0x234cb(%rip), %rsi     # 0x35dc8
leaq -0x2e8(%rbp), %rdi
callq 0xfd00
jmp 0x1290b
movq -0x940(%rbp), %rdi
leaq -0x2e8(%rbp), %rsi
callq 0x30860
movq %rax, -0x948(%rbp)
jmp 0x12927
movq -0x948(%rbp), %rax
movl -0x924(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x2e8(%rbp), %rdi
callq 0x34f8
leaq -0x2e9(%rbp), %rdi
callq 0x32f0
leaq -0x2c0(%rbp), %rdi
callq 0x34f8
leaq -0x2c1(%rbp), %rdi
callq 0x32f0
leaq -0x178(%rbp), %rdi
callq 0x34f8
jmp 0x1445d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x129d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x129c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x129b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2e8(%rbp), %rdi
callq 0x34f8
leaq -0x2e9(%rbp), %rdi
callq 0x32f0
leaq -0x2c0(%rbp), %rdi
callq 0x34f8
leaq -0x2c1(%rbp), %rdi
callq 0x32f0
leaq -0x178(%rbp), %rdi
callq 0x34f8
jmp 0x14466
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
cmpl $0x1, 0x24(%rax)
jne 0x139a9
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
movq %rax, -0x2f8(%rbp)
movq -0x2f8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
leaq -0x318(%rbp), %rdi
movq %rdi, -0x958(%rbp)
callq 0x3150
movq -0x958(%rbp), %rsi
leaq 0x2b92d(%rip), %rdi     # 0x3e380
callq 0x30a20
movq %rax, -0x950(%rbp)
jmp 0x12a61
movq -0x950(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x12ade
movl $0x30, %edi
callq 0x3270
movq %rax, -0x960(%rbp)
jmp 0x12a81
movq -0x960(%rbp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rdi)
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
callq 0xff70
leaq 0x2b8de(%rip), %rdi     # 0x3e380
leaq -0x318(%rbp), %rsi
callq 0x30a20
movq %rax, -0x968(%rbp)
jmp 0x12ab7
movq -0x968(%rbp), %rax
movq -0x960(%rbp), %rcx
movq %rcx, (%rax)
jmp 0x12b76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13998
leaq 0x2b843(%rip), %rdi     # 0x3e328
callq 0x3140
movq %rax, %rdi
movq 0x2b4ac(%rip), %rax     # 0x3dfa0
movq (%rax), %rdx
leaq 0x23107(%rip), %rsi     # 0x35c05
callq 0x32e0
jmp 0x12b05
movq 0x2b4c4(%rip), %rdi     # 0x3dfd0
leaq 0x2325d(%rip), %rsi     # 0x35d70
callq 0x3250
jmp 0x12b1a
movq 0x2b4b7(%rip), %rax     # 0x3dfd8
movq (%rax), %rdi
leaq 0x2324c(%rip), %rsi     # 0x35d77
movb $0x0, %al
callq 0x3390
movq 0x2b49f(%rip), %rax     # 0x3dfd8
movq (%rax), %rax
movq %rax, -0x970(%rbp)
movq -0x2f8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x3140
movq -0x970(%rbp), %rdi
movq %rax, %rdx
leaq 0x2321f(%rip), %rsi     # 0x35d87
movb $0x0, %al
callq 0x3390
xorl %edi, %edi
callq 0x3340
movq -0x2f8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rsi
leaq -0x338(%rbp), %rdi
callq 0x3150
jmp 0x12b93
leaq -0x338(%rbp), %rdi
movq %rdi, -0x980(%rbp)
callq 0x33c0
movq -0x980(%rbp), %rdi
movq %rax, %rsi
decq %rsi
callq 0x34e0
movq %rax, -0x978(%rbp)
jmp 0x12bc1
movq -0x978(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
je 0x12bf8
leaq 0x22d77(%rip), %rsi     # 0x3594e
leaq -0x338(%rbp), %rdi
callq 0x3240
jmp 0x12be5
jmp 0x12bf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1398c
movl $0x0, -0x33c(%rbp)
leaq -0x338(%rbp), %rdi
leaq 0x22d3e(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x981(%rbp)
jb 0x12c6a
leaq -0x338(%rbp), %rdi
leaq 0x22d16(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, -0x990(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x33c0
movq %rax, %rcx
movq -0x990(%rbp), %rax
cmpq %rcx, %rax
setb %al
movb %al, -0x981(%rbp)
movb -0x981(%rbp), %al
testb $0x1, %al
jne 0x12c79
jmp 0x12f15
leaq 0x22cce(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x998(%rbp)
leaq -0x338(%rbp), %rdi
movq %rdi, -0x9a0(%rbp)
callq 0x34d0
movq -0x9a0(%rbp), %rsi
movq -0x998(%rbp), %rdx
movq %rax, %rcx
leaq -0x360(%rbp), %rdi
callq 0x3290
jmp 0x12cbd
leaq 0x22c8a(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x9a8(%rbp)
leaq -0x338(%rbp), %rdi
movq %rdi, -0x9b0(%rbp)
callq 0x34d0
movq -0x9b0(%rbp), %rdi
movq -0x9a8(%rbp), %rsi
movq %rax, %rdx
callq 0x30d0
jmp 0x12cfa
leaq 0x22c4d(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
leaq -0x338(%rbp), %rdi
movq %rdi, -0x9b8(%rbp)
callq 0x34d0
movq -0x9b8(%rbp), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x30d0
jmp 0x12d2e
movl -0x33c(%rbp), %eax
incl %eax
movl %eax, -0x33c(%rbp)
leaq 0x2b63d(%rip), %rdi     # 0x3e380
leaq -0x318(%rbp), %rsi
callq 0x30a20
movq %rax, -0x9c0(%rbp)
jmp 0x12d58
movq -0x9c0(%rbp), %rax
movq (%rax), %rdi
leaq -0x360(%rbp), %rsi
callq 0x30940
movq %rax, -0x9c8(%rbp)
jmp 0x12d77
movq -0x9c8(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x12df2
movl -0x33c(%rbp), %eax
shll $0x2, %eax
movl %eax, -0x9d4(%rbp)
leaq 0x2b5e7(%rip), %rdi     # 0x3e380
leaq -0x318(%rbp), %rsi
callq 0x30a20
movq %rax, -0x9d0(%rbp)
jmp 0x12dae
movq -0x9d0(%rbp), %rax
movq (%rax), %rdi
leaq -0x360(%rbp), %rsi
callq 0x30940
movq %rax, -0x9e0(%rbp)
jmp 0x12dcd
movq -0x9e0(%rbp), %rax
movl -0x9d4(%rbp), %ecx
movl %ecx, (%rax)
jmp 0x12ef3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x12f04
leaq 0x2b52f(%rip), %rdi     # 0x3e328
callq 0x3140
movq %rax, %rdi
movq 0x2b198(%rip), %rax     # 0x3dfa0
movq (%rax), %rdx
leaq 0x22df3(%rip), %rsi     # 0x35c05
callq 0x32e0
jmp 0x12e19
movq 0x2b1b0(%rip), %rdi     # 0x3dfd0
leaq 0x22f49(%rip), %rsi     # 0x35d70
callq 0x3250
jmp 0x12e2e
movq 0x2b1a3(%rip), %rax     # 0x3dfd8
movq %rax, -0x9f0(%rbp)
movq (%rax), %rdi
leaq 0x22f31(%rip), %rsi     # 0x35d77
xorl %eax, %eax
callq 0x3390
movq -0x9f0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x9e8(%rbp)
leaq 0x22f10(%rip), %rdx     # 0x35d75
leaq -0x3a0(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x100a0
jmp 0x12e7a
leaq -0x380(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
leaq -0x360(%rbp), %rdx
callq 0x10050
jmp 0x12e96
leaq -0x380(%rbp), %rdi
callq 0x3140
movq -0x9e8(%rbp), %rdi
movq %rax, %rdx
leaq 0x22ed4(%rip), %rsi     # 0x35d87
movb $0x0, %al
callq 0x3390
leaq -0x380(%rbp), %rdi
callq 0x34f8
leaq -0x3a0(%rbp), %rdi
callq 0x34f8
xorl %edi, %edi
callq 0x3340
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x34f8
jmp 0x12f04
leaq -0x360(%rbp), %rdi
callq 0x34f8
jmp 0x12c02
leaq -0x360(%rbp), %rdi
callq 0x34f8
jmp 0x1398c
movl -0x33c(%rbp), %eax
shll $0x2, %eax
movl %eax, -0x9fc(%rbp)
leaq 0x2b455(%rip), %rdi     # 0x3e380
leaq -0x318(%rbp), %rsi
callq 0x30a20
movq %rax, -0x9f8(%rbp)
jmp 0x12f40
movq -0x9f8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xa10(%rbp)
leaq -0x3c1(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
callq 0x3460
movq -0xa08(%rbp), %rdx
leaq 0x22e56(%rip), %rsi     # 0x35dc8
leaq -0x3c0(%rbp), %rdi
callq 0xfd00
jmp 0x12f80
movq -0xa10(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
callq 0x30860
movq %rax, -0xa18(%rbp)
jmp 0x12f9c
movq -0xa18(%rbp), %rax
movl -0x9fc(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x3c0(%rbp), %rdi
callq 0x34f8
leaq -0x3c1(%rbp), %rdi
callq 0x32f0
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
leaq -0x338(%rbp), %rdi
callq 0x3050
jmp 0x12fdd
leaq 0x22bb5(%rip), %rsi     # 0x35b99
leaq -0x338(%rbp), %rdi
callq 0x30b00
movb %al, -0xa19(%rbp)
jmp 0x12ff8
movb -0xa19(%rbp), %al
testb $0x1, %al
jne 0x13007
jmp 0x1396f
leaq -0x338(%rbp), %rdi
movq %rdi, -0xa30(%rbp)
callq 0x33c0
movq -0xa30(%rbp), %rdi
movq %rax, %rsi
decq %rsi
callq 0x34e0
movq %rax, -0xa28(%rbp)
jmp 0x13035
movq -0xa28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
je 0x13092
leaq 0x22903(%rip), %rsi     # 0x3594e
leaq -0x338(%rbp), %rdi
callq 0x3240
jmp 0x13059
jmp 0x13092
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13081
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3c0(%rbp), %rdi
callq 0x34f8
leaq -0x3c1(%rbp), %rdi
callq 0x32f0
jmp 0x1398c
leaq -0x3e9(%rbp), %rdi
movq %rdi, -0xa38(%rbp)
callq 0x3460
movq -0xa38(%rbp), %rdx
leaq 0x22889(%rip), %rsi     # 0x3593c
leaq -0x3e8(%rbp), %rdi
callq 0xfd00
jmp 0x130c1
leaq 0x2b288(%rip), %rdi     # 0x3e350
leaq -0x3e8(%rbp), %rsi
callq 0xfe90
movq %rax, -0xa40(%rbp)
jmp 0x130dd
movq -0xa40(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xa50(%rbp)
leaq -0x411(%rbp), %rdi
movq %rdi, -0xa48(%rbp)
callq 0x3460
movq -0xa48(%rbp), %rdx
leaq 0x22cb9(%rip), %rsi     # 0x35dc8
leaq -0x410(%rbp), %rdi
callq 0xfd00
jmp 0x1311d
movq -0xa50(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x30860
movq %rax, -0xa58(%rbp)
jmp 0x13139
movq -0xa58(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xa5c(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x34f8
leaq -0x411(%rbp), %rdi
callq 0x32f0
leaq -0x3e8(%rbp), %rdi
callq 0x34f8
leaq -0x3e9(%rbp), %rdi
callq 0x32f0
movl -0xa5c(%rbp), %eax
cmpl $0x0, %eax
je 0x13350
leaq -0x439(%rbp), %rdi
movq %rdi, -0xa68(%rbp)
callq 0x3460
movq -0xa68(%rbp), %rdx
leaq 0x22794(%rip), %rsi     # 0x3593c
leaq -0x438(%rbp), %rdi
callq 0xfd00
jmp 0x131b6
leaq 0x2b193(%rip), %rdi     # 0x3e350
leaq -0x438(%rbp), %rsi
callq 0xfe90
movq %rax, -0xa70(%rbp)
jmp 0x131d2
movq -0xa70(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xa80(%rbp)
leaq -0x461(%rbp), %rdi
movq %rdi, -0xa78(%rbp)
callq 0x3460
movq -0xa78(%rbp), %rdx
leaq 0x22bc4(%rip), %rsi     # 0x35dc8
leaq -0x460(%rbp), %rdi
callq 0xfd00
jmp 0x13212
movq -0xa80(%rbp), %rdi
leaq -0x460(%rbp), %rsi
callq 0x30860
movq %rax, -0xa88(%rbp)
jmp 0x1322e
movq -0xa88(%rbp), %rax
movl (%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x33c(%rbp)
leaq -0x460(%rbp), %rdi
callq 0x34f8
leaq -0x461(%rbp), %rdi
callq 0x32f0
leaq -0x438(%rbp), %rdi
callq 0x34f8
leaq -0x439(%rbp), %rdi
callq 0x32f0
jmp 0x13350
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x132d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x132c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x132bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x34f8
leaq -0x411(%rbp), %rdi
callq 0x32f0
leaq -0x3e8(%rbp), %rdi
callq 0x34f8
leaq -0x3e9(%rbp), %rdi
callq 0x32f0
jmp 0x1398c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1333f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13333
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13327
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x460(%rbp), %rdi
callq 0x34f8
leaq -0x461(%rbp), %rdi
callq 0x32f0
leaq -0x438(%rbp), %rdi
callq 0x34f8
leaq -0x439(%rbp), %rdi
callq 0x32f0
jmp 0x1398c
jmp 0x13352
leaq -0x338(%rbp), %rdi
leaq 0x225ee(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0xa89(%rbp)
jb 0x133ba
leaq -0x338(%rbp), %rdi
leaq 0x225c6(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, -0xa98(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x33c0
movq %rax, %rcx
movq -0xa98(%rbp), %rax
cmpq %rcx, %rax
setb %al
movb %al, -0xa89(%rbp)
movb -0xa89(%rbp), %al
testb $0x1, %al
jne 0x133c9
jmp 0x13810
leaq 0x2257e(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0xaa0(%rbp)
leaq -0x338(%rbp), %rdi
movq %rdi, -0xaa8(%rbp)
callq 0x34d0
movq -0xaa8(%rbp), %rsi
movq -0xaa0(%rbp), %rdx
movq %rax, %rcx
leaq -0x488(%rbp), %rdi
callq 0x3290
jmp 0x1340d
leaq 0x2253a(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0xab0(%rbp)
leaq -0x338(%rbp), %rdi
movq %rdi, -0xab8(%rbp)
callq 0x34d0
movq -0xab8(%rbp), %rdi
movq -0xab0(%rbp), %rsi
movq %rax, %rdx
callq 0x30d0
jmp 0x1344a
leaq 0x224fd(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
leaq -0x338(%rbp), %rdi
movq %rdi, -0xac0(%rbp)
callq 0x34d0
movq -0xac0(%rbp), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x30d0
jmp 0x1347e
leaq 0x2aefb(%rip), %rdi     # 0x3e380
leaq -0x318(%rbp), %rsi
callq 0x30a20
movq %rax, -0xac8(%rbp)
jmp 0x1349a
movq -0xac8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xad8(%rbp)
leaq -0x4a9(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
callq 0x3460
movq -0xad0(%rbp), %rdx
leaq 0x228fc(%rip), %rsi     # 0x35dc8
leaq -0x4a8(%rbp), %rdi
callq 0xfd00
jmp 0x134da
movq -0xad8(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
callq 0x30860
movq %rax, -0xae0(%rbp)
jmp 0x134f6
movq -0xae0(%rbp), %rax
movl (%rax), %ecx
movl %ecx, %eax
addl $0x3, %eax
testl %ecx, %ecx
cmovsl %eax, %ecx
sarl $0x2, %ecx
movl -0x33c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x33c(%rbp)
leaq -0x4a8(%rbp), %rdi
callq 0x34f8
leaq -0x4a9(%rbp), %rdi
callq 0x32f0
leaq -0x4d1(%rbp), %rdi
movq %rdi, -0xae8(%rbp)
callq 0x3460
movq -0xae8(%rbp), %rdx
leaq 0x223e9(%rip), %rsi     # 0x3593c
leaq -0x4d0(%rbp), %rdi
callq 0xfd00
jmp 0x13561
leaq 0x2ade8(%rip), %rdi     # 0x3e350
leaq -0x4d0(%rbp), %rsi
callq 0xfe90
movq %rax, -0xaf0(%rbp)
jmp 0x1357d
movq -0xaf0(%rbp), %rax
movq (%rax), %rdi
leaq -0x488(%rbp), %rsi
callq 0x30940
movq %rax, -0xaf8(%rbp)
jmp 0x1359c
movq -0xaf8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xafc(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x34f8
leaq -0x4d1(%rbp), %rdi
callq 0x32f0
movl -0xafc(%rbp), %eax
cmpl $0x0, %eax
jne 0x1375e
movl -0x33c(%rbp), %eax
shll $0x2, %eax
movl %eax, -0xb0c(%rbp)
leaq -0x4f9(%rbp), %rdi
movq %rdi, -0xb08(%rbp)
callq 0x3460
movq -0xb08(%rbp), %rdx
leaq 0x2233a(%rip), %rsi     # 0x3593c
leaq -0x4f8(%rbp), %rdi
callq 0xfd00
jmp 0x13610
leaq 0x2ad39(%rip), %rdi     # 0x3e350
leaq -0x4f8(%rbp), %rsi
callq 0xfe90
movq %rax, -0xb18(%rbp)
jmp 0x1362c
movq -0xb18(%rbp), %rax
movq (%rax), %rdi
leaq -0x488(%rbp), %rsi
callq 0x30940
movq %rax, -0xb20(%rbp)
jmp 0x1364b
movq -0xb20(%rbp), %rax
movl -0xb0c(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x4f8(%rbp), %rdi
callq 0x34f8
leaq -0x4f9(%rbp), %rdi
callq 0x32f0
leaq 0x2ad67(%rip), %rdi     # 0x3e3e0
leaq -0x488(%rbp), %rsi
callq 0x30b30
movq %rax, -0xb28(%rbp)
jmp 0x1368e
movq -0xb28(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x3050
jmp 0x136a3
jmp 0x137ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x137ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x136df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4a8(%rbp), %rdi
callq 0x34f8
leaq -0x4a9(%rbp), %rdi
callq 0x32f0
jmp 0x137ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13716
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x34f8
leaq -0x4d1(%rbp), %rdi
callq 0x32f0
jmp 0x137ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1374d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4f8(%rbp), %rdi
callq 0x34f8
leaq -0x4f9(%rbp), %rdi
callq 0x32f0
jmp 0x137ff
leaq 0x2abc3(%rip), %rdi     # 0x3e328
callq 0x3140
movq %rax, %rdi
movq 0x2a82c(%rip), %rax     # 0x3dfa0
movq (%rax), %rdx
leaq 0x22487(%rip), %rsi     # 0x35c05
callq 0x32e0
jmp 0x13785
movq 0x2a844(%rip), %rdi     # 0x3dfd0
leaq 0x225dd(%rip), %rsi     # 0x35d70
callq 0x3250
jmp 0x1379a
movq 0x2a837(%rip), %rax     # 0x3dfd8
movq (%rax), %rdi
leaq 0x225cc(%rip), %rsi     # 0x35d77
movb $0x0, %al
callq 0x3390
movq 0x2a81f(%rip), %rax     # 0x3dfd8
movq (%rax), %rax
movq %rax, -0xb30(%rbp)
leaq -0x488(%rbp), %rdi
callq 0x3140
movq -0xb30(%rbp), %rdi
movq %rax, %rdx
leaq 0x225a7(%rip), %rsi     # 0x35d87
movb $0x0, %al
callq 0x3390
xorl %edi, %edi
callq 0x3340
leaq -0x488(%rbp), %rdi
callq 0x34f8
jmp 0x13352
leaq -0x488(%rbp), %rdi
callq 0x34f8
jmp 0x1398c
movl -0x33c(%rbp), %eax
shll $0x2, %eax
movl %eax, -0xb3c(%rbp)
leaq -0x521(%rbp), %rdi
movq %rdi, -0xb38(%rbp)
callq 0x3460
movq -0xb38(%rbp), %rdx
leaq 0x220fc(%rip), %rsi     # 0x3593c
leaq -0x520(%rbp), %rdi
callq 0xfd00
jmp 0x1384e
leaq 0x2aafb(%rip), %rdi     # 0x3e350
leaq -0x520(%rbp), %rsi
callq 0xfe90
movq %rax, -0xb48(%rbp)
jmp 0x1386a
movq -0xb48(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb58(%rbp)
leaq -0x549(%rbp), %rdi
movq %rdi, -0xb50(%rbp)
callq 0x3460
movq -0xb50(%rbp), %rdx
leaq 0x2252c(%rip), %rsi     # 0x35dc8
leaq -0x548(%rbp), %rdi
callq 0xfd00
jmp 0x138aa
movq -0xb58(%rbp), %rdi
leaq -0x548(%rbp), %rsi
callq 0x30860
movq %rax, -0xb60(%rbp)
jmp 0x138c6
movq -0xb60(%rbp), %rax
movl -0xb3c(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x548(%rbp), %rdi
callq 0x34f8
leaq -0x549(%rbp), %rdi
callq 0x32f0
leaq -0x520(%rbp), %rdi
callq 0x34f8
leaq -0x521(%rbp), %rdi
callq 0x32f0
jmp 0x1396f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13961
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13955
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13949
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x548(%rbp), %rdi
callq 0x34f8
leaq -0x549(%rbp), %rdi
callq 0x32f0
leaq -0x520(%rbp), %rdi
callq 0x34f8
leaq -0x521(%rbp), %rdi
callq 0x32f0
jmp 0x1398c
leaq -0x338(%rbp), %rdi
callq 0x34f8
leaq -0x318(%rbp), %rdi
callq 0x34f8
jmp 0x1445b
leaq -0x338(%rbp), %rdi
callq 0x34f8
leaq -0x318(%rbp), %rdi
callq 0x34f8
jmp 0x14466
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
cmpl $0x2, 0x24(%rax)
jne 0x14459
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
leaq -0x570(%rbp), %rdi
movq %rdi, -0xb70(%rbp)
callq 0x3150
movq -0xb70(%rbp), %rsi
leaq 0x2a980(%rip), %rdi     # 0x3e380
callq 0x30a20
movq %rax, -0xb68(%rbp)
jmp 0x13a0e
movq -0xb68(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x13ac0
leaq 0x2a902(%rip), %rdi     # 0x3e328
callq 0x3140
movq %rax, %rdi
movq 0x2a56b(%rip), %rax     # 0x3dfa0
movq (%rax), %rdx
leaq 0x221c6(%rip), %rsi     # 0x35c05
callq 0x32e0
jmp 0x13a46
movq 0x2a583(%rip), %rdi     # 0x3dfd0
leaq 0x2231c(%rip), %rsi     # 0x35d70
callq 0x3250
jmp 0x13a5b
movq 0x2a576(%rip), %rax     # 0x3dfd8
movq (%rax), %rdi
leaq 0x2230b(%rip), %rsi     # 0x35d77
movb $0x0, %al
callq 0x3390
movq 0x2a55e(%rip), %rax     # 0x3dfd8
movq (%rax), %rax
movq %rax, -0xb78(%rbp)
leaq -0x570(%rbp), %rdi
callq 0x3140
movq -0xb78(%rbp), %rdi
movq %rax, %rdx
leaq 0x22305(%rip), %rsi     # 0x35da6
movb $0x0, %al
callq 0x3390
xorl %edi, %edi
callq 0x3340
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1444b
movl $0x0, -0x574(%rbp)
leaq -0x599(%rbp), %rdi
movq %rdi, -0xb80(%rbp)
callq 0x3460
movq -0xb80(%rbp), %rdx
leaq 0x21e51(%rip), %rsi     # 0x3593c
leaq -0x598(%rbp), %rdi
callq 0xfd00
jmp 0x13af9
leaq 0x2a850(%rip), %rdi     # 0x3e350
leaq -0x598(%rbp), %rsi
callq 0xfe90
movq %rax, -0xb88(%rbp)
jmp 0x13b15
movq -0xb88(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb98(%rbp)
leaq -0x5c1(%rbp), %rdi
movq %rdi, -0xb90(%rbp)
callq 0x3460
movq -0xb90(%rbp), %rdx
leaq 0x22281(%rip), %rsi     # 0x35dc8
leaq -0x5c0(%rbp), %rdi
callq 0xfd00
jmp 0x13b55
movq -0xb98(%rbp), %rdi
leaq -0x5c0(%rbp), %rsi
callq 0x30860
movq %rax, -0xba0(%rbp)
jmp 0x13b71
movq -0xba0(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xba4(%rbp)
leaq -0x5c0(%rbp), %rdi
callq 0x34f8
leaq -0x5c1(%rbp), %rdi
callq 0x32f0
leaq -0x598(%rbp), %rdi
callq 0x34f8
leaq -0x599(%rbp), %rdi
callq 0x32f0
movl -0xba4(%rbp), %eax
cmpl $0x0, %eax
je 0x13d88
leaq -0x5e9(%rbp), %rdi
movq %rdi, -0xbb0(%rbp)
callq 0x3460
movq -0xbb0(%rbp), %rdx
leaq 0x21d5c(%rip), %rsi     # 0x3593c
leaq -0x5e8(%rbp), %rdi
callq 0xfd00
jmp 0x13bee
leaq 0x2a75b(%rip), %rdi     # 0x3e350
leaq -0x5e8(%rbp), %rsi
callq 0xfe90
movq %rax, -0xbb8(%rbp)
jmp 0x13c0a
movq -0xbb8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xbc8(%rbp)
leaq -0x611(%rbp), %rdi
movq %rdi, -0xbc0(%rbp)
callq 0x3460
movq -0xbc0(%rbp), %rdx
leaq 0x2218c(%rip), %rsi     # 0x35dc8
leaq -0x610(%rbp), %rdi
callq 0xfd00
jmp 0x13c4a
movq -0xbc8(%rbp), %rdi
leaq -0x610(%rbp), %rsi
callq 0x30860
movq %rax, -0xbd0(%rbp)
jmp 0x13c66
movq -0xbd0(%rbp), %rax
movl (%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x574(%rbp)
leaq -0x610(%rbp), %rdi
callq 0x34f8
leaq -0x611(%rbp), %rdi
callq 0x32f0
leaq -0x5e8(%rbp), %rdi
callq 0x34f8
leaq -0x5e9(%rbp), %rdi
callq 0x32f0
jmp 0x13d88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13d0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13d00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13cf4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x5c0(%rbp), %rdi
callq 0x34f8
leaq -0x5c1(%rbp), %rdi
callq 0x32f0
leaq -0x598(%rbp), %rdi
callq 0x34f8
leaq -0x599(%rbp), %rdi
callq 0x32f0
jmp 0x1444b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13d77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13d6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x13d5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x610(%rbp), %rdi
callq 0x34f8
leaq -0x611(%rbp), %rdi
callq 0x32f0
leaq -0x5e8(%rbp), %rdi
callq 0x34f8
leaq -0x5e9(%rbp), %rdi
callq 0x32f0
jmp 0x1444b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
leaq -0x638(%rbp), %rdi
callq 0x3150
jmp 0x13da2
leaq -0x638(%rbp), %rdi
movq %rdi, -0xbe0(%rbp)
callq 0x33c0
movq -0xbe0(%rbp), %rdi
movq %rax, %rsi
decq %rsi
callq 0x34e0
movq %rax, -0xbd8(%rbp)
jmp 0x13dd0
movq -0xbd8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
je 0x13e07
leaq 0x21b68(%rip), %rsi     # 0x3594e
leaq -0x638(%rbp), %rdi
callq 0x3240
jmp 0x13df4
jmp 0x13e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1443f
jmp 0x13e09
leaq -0x638(%rbp), %rdi
leaq 0x21b37(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0xbe1(%rbp)
jb 0x13e71
leaq -0x638(%rbp), %rdi
leaq 0x21b0f(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
callq 0x34d0
movq %rax, -0xbf0(%rbp)
leaq -0x638(%rbp), %rdi
callq 0x33c0
movq %rax, %rcx
movq -0xbf0(%rbp), %rax
cmpq %rcx, %rax
setb %al
movb %al, -0xbe1(%rbp)
movb -0xbe1(%rbp), %al
testb $0x1, %al
jne 0x13e80
jmp 0x142c7
leaq 0x21ac7(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0xbf8(%rbp)
leaq -0x638(%rbp), %rdi
movq %rdi, -0xc00(%rbp)
callq 0x34d0
movq -0xc00(%rbp), %rsi
movq -0xbf8(%rbp), %rdx
movq %rax, %rcx
leaq -0x658(%rbp), %rdi
callq 0x3290
jmp 0x13ec4
leaq 0x21a83(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0xc08(%rbp)
leaq -0x638(%rbp), %rdi
movq %rdi, -0xc10(%rbp)
callq 0x34d0
movq -0xc10(%rbp), %rdi
movq -0xc08(%rbp), %rsi
movq %rax, %rdx
callq 0x30d0
jmp 0x13f01
leaq 0x21a46(%rip), %rsi     # 0x3594e
xorl %eax, %eax
movl %eax, %edx
leaq -0x638(%rbp), %rdi
movq %rdi, -0xc18(%rbp)
callq 0x34d0
movq -0xc18(%rbp), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x30d0
jmp 0x13f35
leaq 0x2a444(%rip), %rdi     # 0x3e380
leaq -0x570(%rbp), %rsi
callq 0x30a20
movq %rax, -0xc20(%rbp)
jmp 0x13f51
movq -0xc20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc30(%rbp)
leaq -0x679(%rbp), %rdi
movq %rdi, -0xc28(%rbp)
callq 0x3460
movq -0xc28(%rbp), %rdx
leaq 0x21e45(%rip), %rsi     # 0x35dc8
leaq -0x678(%rbp), %rdi
callq 0xfd00
jmp 0x13f91
movq -0xc30(%rbp), %rdi
leaq -0x678(%rbp), %rsi
callq 0x30860
movq %rax, -0xc38(%rbp)
jmp 0x13fad
movq -0xc38(%rbp), %rax
movl (%rax), %ecx
movl %ecx, %eax
addl $0x3, %eax
testl %ecx, %ecx
cmovsl %eax, %ecx
sarl $0x2, %ecx
movl -0x574(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x574(%rbp)
leaq -0x678(%rbp), %rdi
callq 0x34f8
leaq -0x679(%rbp), %rdi
callq 0x32f0
leaq -0x6a1(%rbp), %rdi
movq %rdi, -0xc40(%rbp)
callq 0x3460
movq -0xc40(%rbp), %rdx
leaq 0x21932(%rip), %rsi     # 0x3593c
leaq -0x6a0(%rbp), %rdi
callq 0xfd00
jmp 0x14018
leaq 0x2a331(%rip), %rdi     # 0x3e350
leaq -0x6a0(%rbp), %rsi
callq 0xfe90
movq %rax, -0xc48(%rbp)
jmp 0x14034
movq -0xc48(%rbp), %rax
movq (%rax), %rdi
leaq -0x658(%rbp), %rsi
callq 0x30940
movq %rax, -0xc50(%rbp)
jmp 0x14053
movq -0xc50(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xc54(%rbp)
leaq -0x6a0(%rbp), %rdi
callq 0x34f8
leaq -0x6a1(%rbp), %rdi
callq 0x32f0
movl -0xc54(%rbp), %eax
cmpl $0x0, %eax
jne 0x14215
movl -0x574(%rbp), %eax
shll $0x2, %eax
movl %eax, -0xc64(%rbp)
leaq -0x6c9(%rbp), %rdi
movq %rdi, -0xc60(%rbp)
callq 0x3460
movq -0xc60(%rbp), %rdx
leaq 0x21883(%rip), %rsi     # 0x3593c
leaq -0x6c8(%rbp), %rdi
callq 0xfd00
jmp 0x140c7
leaq 0x2a282(%rip), %rdi     # 0x3e350
leaq -0x6c8(%rbp), %rsi
callq 0xfe90
movq %rax, -0xc70(%rbp)
jmp 0x140e3
movq -0xc70(%rbp), %rax
movq (%rax), %rdi
leaq -0x658(%rbp), %rsi
callq 0x30940
movq %rax, -0xc78(%rbp)
jmp 0x14102
movq -0xc78(%rbp), %rax
movl -0xc64(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x6c8(%rbp), %rdi
callq 0x34f8
leaq -0x6c9(%rbp), %rdi
callq 0x32f0
leaq 0x2a2b0(%rip), %rdi     # 0x3e3e0
leaq -0x658(%rbp), %rsi
callq 0x30b30
movq %rax, -0xc80(%rbp)
jmp 0x14145
movq -0xc80(%rbp), %rdi
leaq -0x570(%rbp), %rsi
callq 0x3050
jmp 0x1415a
jmp 0x142a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x142b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x14196
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x678(%rbp), %rdi
callq 0x34f8
leaq -0x679(%rbp), %rdi
callq 0x32f0
jmp 0x142b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x141cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x6a0(%rbp), %rdi
callq 0x34f8
leaq -0x6a1(%rbp), %rdi
callq 0x32f0
jmp 0x142b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x14204
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x6c8(%rbp), %rdi
callq 0x34f8
leaq -0x6c9(%rbp), %rdi
callq 0x32f0
jmp 0x142b6
leaq 0x2a10c(%rip), %rdi     # 0x3e328
callq 0x3140
movq %rax, %rdi
movq 0x29d75(%rip), %rax     # 0x3dfa0
movq (%rax), %rdx
leaq 0x219d0(%rip), %rsi     # 0x35c05
callq 0x32e0
jmp 0x1423c
movq 0x29d8d(%rip), %rdi     # 0x3dfd0
leaq 0x21b26(%rip), %rsi     # 0x35d70
callq 0x3250
jmp 0x14251
movq 0x29d80(%rip), %rax     # 0x3dfd8
movq (%rax), %rdi
leaq 0x21b15(%rip), %rsi     # 0x35d77
movb $0x0, %al
callq 0x3390
movq 0x29d68(%rip), %rax     # 0x3dfd8
movq (%rax), %rax
movq %rax, -0xc88(%rbp)
leaq -0x658(%rbp), %rdi
callq 0x3140
movq -0xc88(%rbp), %rdi
movq %rax, %rdx
leaq 0x21af0(%rip), %rsi     # 0x35d87
movb $0x0, %al
callq 0x3390
xorl %edi, %edi
callq 0x3340
leaq -0x658(%rbp), %rdi
callq 0x34f8
jmp 0x13e09
leaq -0x658(%rbp), %rdi
callq 0x34f8
jmp 0x1443f
movl -0x574(%rbp), %eax
shll $0x2, %eax
movl %eax, -0xc94(%rbp)
leaq -0x6f1(%rbp), %rdi
movq %rdi, -0xc90(%rbp)
callq 0x3460
movq -0xc90(%rbp), %rdx
leaq 0x21645(%rip), %rsi     # 0x3593c
leaq -0x6f0(%rbp), %rdi
callq 0xfd00
jmp 0x14305
leaq 0x2a044(%rip), %rdi     # 0x3e350
leaq -0x6f0(%rbp), %rsi
callq 0xfe90
movq %rax, -0xca0(%rbp)
jmp 0x14321
movq -0xca0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xcb0(%rbp)
leaq -0x719(%rbp), %rdi
movq %rdi, -0xca8(%rbp)
callq 0x3460
movq -0xca8(%rbp), %rdx
leaq 0x21a75(%rip), %rsi     # 0x35dc8
leaq -0x718(%rbp), %rdi
callq 0xfd00
jmp 0x14361
movq -0xcb0(%rbp), %rdi
leaq -0x718(%rbp), %rsi
callq 0x30860
movq %rax, -0xcb8(%rbp)
jmp 0x1437d
movq -0xcb8(%rbp), %rax
movl -0xc94(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x718(%rbp), %rdi
callq 0x34f8
leaq -0x719(%rbp), %rdi
callq 0x32f0
leaq -0x6f0(%rbp), %rdi
callq 0x34f8
leaq -0x6f1(%rbp), %rdi
callq 0x32f0
leaq -0x638(%rbp), %rdi
callq 0x34f8
leaq -0x570(%rbp), %rdi
callq 0x34f8
jmp 0x14459
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x14433
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x14427
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1441b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x718(%rbp), %rdi
callq 0x34f8
leaq -0x719(%rbp), %rdi
callq 0x32f0
leaq -0x6f0(%rbp), %rdi
callq 0x34f8
leaq -0x6f1(%rbp), %rdi
callq 0x32f0
leaq -0x638(%rbp), %rdi
callq 0x34f8
leaq -0x570(%rbp), %rdi
callq 0x34f8
jmp 0x14466
jmp 0x1445b
jmp 0x1445d
addq $0xcc0, %rsp            # imm = 0xCC0
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x3450
nop