// File: /workspace/github_cpp_makefile_star2_O3/tap3edit[P]tap3xml/nrt2xml.cpp
// Function: main
int main(int argc, char **argv)
{

    string buff, filein, fileout, option, path_env, path_item;
    string::size_type slash_pos = 0, i = 0, j = 0;
    char path_delim = '\0';



    /* 1. Variables setup */

    extern enc_dec_funcs edf[];
    extern map<string, int> simpletypes_map;
    extern map<int, enc_dec_funcs> simpletypes;


    /* Note: this was set originally into global.cpp but     */
    /*       Windows unfortunately does not support the      */
    /*       initialization of maps, so I should put it here */

    simpletypes_map.insert(pair<string,int>("OCTET STRING", 0));
    simpletypes_map.insert(pair<string,int>("INTEGER",      1));
    simpletypes_map.insert(pair<string,int>("BCDString",    2));
    simpletypes_map.insert(pair<string,int>("AsciiString",  3));
    simpletypes_map.insert(pair<string,int>("Currency",     4));
    simpletypes_map.insert(pair<string,int>("HexString",    5));
    simpletypes_map.insert(pair<string,int>("NumberString", 6));
    
    simpletypes.insert(pair<int, enc_dec_funcs>(0, edf[2]));
    simpletypes.insert(pair<int, enc_dec_funcs>(1, edf[1]));
    simpletypes.insert(pair<int, enc_dec_funcs>(2, edf[3]));
    simpletypes.insert(pair<int, enc_dec_funcs>(3, edf[0]));
    simpletypes.insert(pair<int, enc_dec_funcs>(4, edf[0]));
    simpletypes.insert(pair<int, enc_dec_funcs>(5, edf[0]));
    simpletypes.insert(pair<int, enc_dec_funcs>(6, edf[0]));


    /* 2. Arrange Directory to find the specifications ASN.1 */

    if (getenv(TAP3XML_SPEC_VAR)!=NULL)     /* a. nrt2xml environment variable */
        specdir_list.push_back(getenv(TAP3XML_SPEC_VAR));

    if (getenv("HOME")!=NULL)               /* b. unix $HOME/Spec/ */
        specdir_list.push_back(string(getenv("HOME"))+"/"+SPEC_DIR);

    if (getenv("HOMEPATH")!=NULL)           /* c. windows %HOMEPATH%\Spec\ */
        specdir_list.push_back(string(getenv("HOMEPATH"))+"/"+SPEC_DIR);

    if ((slash_pos = string(argv[0]).find_last_of("/\\")) != string::npos) /* e. path of the binary */
        specdir_list.push_back(string(argv[0]).substr(0,slash_pos)+"/"+SPEC_DIR);

    if (getenv("PATH")!=NULL) {             /* f. parse the PATH environment variable */
        path_env = getenv("PATH");

        if (path_env.find("\\") != string::npos)
            path_delim = ';'; /* windows */
        else
            path_delim = ':'; /* unix */

        i = 0;
        j = path_env.find(path_delim);
        for (;j < path_env.length(); i = ++j, j = path_env.find(path_delim, j))
        {
            if (j != string::npos)
                path_item = path_env.substr(i, j-i);
            else
                path_item = path_env.substr(i, path_env.length()-i);

            specdir_list.push_back(path_item+"/"+SPEC_DIR);
        }
    }

    specdir_list.push_back(SPEC_DIR); /* f. ./Specs directory */


    /* 3. Checking arguments */

    if ( argc!=3 && argc!=4)
        help();

    option=string(argv[1]);
    if ( option != "-a" && option != "-x" )
        help();

    filein =string(argv[2]);
    if (argc==3)
    {
        if (filein.find_last_of("/") != string::npos)           // unix style
            fileout=filein.substr(filein.find_last_of("/")+1,string::npos);
        {
            if (filein.find_last_of("\\") != string::npos)      // windows style 
                fileout=filein.substr(filein.find_last_of("\\")+1,string::npos);
            else
                fileout=filein;
        }

        if (option == "-a")
            fileout+=".asn";
        else
            fileout="";
        //fileout+=(option=="-a" ? ".asn" : ".xml");
    }
    else
        fileout=string(argv[3]);


    /* 4. NRT -> XML Conversion */

    if ( option == "-x" )
    {
        string      header = XML_HEADER;

        Buffin*     bfin_asn= new Buffin(filein,0);
        Buffout*    bfout_asn = NULL;

        string      spec_filename;
        
        treenode*   tree = new treenode();

        NrtInfo*    nrtinfo = new NrtInfo();
        nrtinfo->buffin(bfin_asn);

        if(nrtinfo->type()=="ERR")
        {
            cerr << "Error. Unable to get version of file: " << filein << endl;
            exit(1);
        }

        spec_filename=get_specfilename(nrtinfo);

        Asn *asn=new Asn();
        asn->specfile(spec_filename);
        asn->specroot("Nrtrde");
        asn->buffin(bfin_asn);
        asn->tree(tree);
        asn->decode();

        if (fileout == "")
            bfout_asn= new Buffout();
        else
            bfout_asn= new Buffout(fileout);

        Xml *xml=new Xml();
        xml->buffout(bfout_asn);
        xml->tree(tree);
        xml->set_header(&header);
        xml->encode();

        delete xml;
        delete bfout_asn;
        delete asn;
        delete nrtinfo;
        free_treenode(tree);
        delete bfin_asn;
    }


    /* 5. XML -> NRT Conversion */

    if ( option == "-a" )
    {
        string    spec_filename;
        
        treenode *tree=new treenode();

        Xml *xml=new Xml();
        xml->ifile(filein);
        xml->tree(tree);
        xml->decode();
        NrtInfo *nrtinfo=  new NrtInfo();
        nrtinfo->tree(tree);

        if(nrtinfo->type()=="ERR")
        {
            cerr << "Error. Unable to get version of file: " << filein << endl;
            exit(1);
        }

        spec_filename=get_specfilename(nrtinfo);

        Asn *asn=new Asn();
        asn->specfile(spec_filename);
        asn->specroot("Nrtrde");
        asn->ofile(fileout);
        asn->tree(tree);
        asn->encode();

        delete asn;
        delete nrtinfo;
        delete xml;
        free_treenode(tree);

    }


    exit(0);

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rsi, %rbx
movl %edi, %r14d
leaq 0x1f8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0xb8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0xd8(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rax, -0x8(%r12)
movb %al, (%r12)
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rax, -0x8(%r15)
movb %al, (%r15)
leaq 0xf8(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0x1d8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rax, -0x8(%rbp)
movb %al, (%rbp)
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1025b(%rip), %rsi     # 0x15004
leaq 0x10260(%rip), %rdx     # 0x15010
leaq 0x8(%rsp), %rdi
callq 0x6c96
leaq 0x8(%rsp), %rsi
movl $0x0, 0x20(%rsi)
leaq 0x18b0b(%rip), %rdi     # 0x1d8d8
callq 0x6d2c
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4dee
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0x1020f(%rip), %rsi     # 0x15011
leaq 0x1020f(%rip), %rdx     # 0x15018
callq 0x6c96
leaq 0x8(%rsp), %rsi
movl $0x1, 0x20(%rsi)
leaq 0x18ab7(%rip), %rdi     # 0x1d8d8
callq 0x6d2c
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4e42
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0x101c3(%rip), %rsi     # 0x15019
leaq 0x101c5(%rip), %rdx     # 0x15022
callq 0x6c96
leaq 0x8(%rsp), %rsi
movl $0x2, 0x20(%rsi)
leaq 0x18a63(%rip), %rdi     # 0x1d8d8
callq 0x6d2c
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4e96
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdx
movl $0x3, (%rdx)
leaq 0x1017b(%rip), %rsi     # 0x15023
leaq 0x8(%rsp), %rdi
callq 0x6ab6
leaq 0x18a1f(%rip), %rdi     # 0x1d8d8
leaq 0x8(%rsp), %rsi
callq 0x6d2c
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4edf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdx
movl $0x4, (%rdx)
leaq 0x1013e(%rip), %rsi     # 0x1502f
leaq 0x8(%rsp), %rdi
callq 0x6aee
leaq 0x189d6(%rip), %rdi     # 0x1d8d8
leaq 0x8(%rsp), %rsi
callq 0x6d2c
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4f28
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdx
movl $0x5, (%rdx)
leaq 0x100fe(%rip), %rsi     # 0x15038
leaq 0x8(%rsp), %rdi
callq 0x6a7e
leaq 0x1898d(%rip), %rdi     # 0x1d8d8
leaq 0x8(%rsp), %rsi
callq 0x6d2c
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4f71
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdx
movl $0x6, (%rdx)
leaq 0x100bf(%rip), %rsi     # 0x15042
leaq 0x8(%rsp), %rdi
callq 0x6a46
leaq 0x18944(%rip), %rdi     # 0x1d8d8
leaq 0x8(%rsp), %rsi
callq 0x6d2c
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4fba
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x8(%rsp), %rsi
movl $0x0, (%rsi)
leaq 0x18354(%rip), %rax     # 0x1d320
movups 0x20(%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x1892d(%rip), %rdi     # 0x1d908
callq 0x6f20
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x1832e(%rip), %rax     # 0x1d320
movups 0x10(%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x18907(%rip), %rdi     # 0x1d908
callq 0x6f20
leaq 0x8(%rsp), %rsi
movl $0x2, (%rsi)
leaq 0x18308(%rip), %rax     # 0x1d320
movups 0x30(%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x188e1(%rip), %rdi     # 0x1d908
callq 0x6f20
leaq 0x8(%rsp), %rsi
movl $0x3, (%rsi)
leaq 0x182e2(%rip), %rax     # 0x1d320
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x188bc(%rip), %rdi     # 0x1d908
callq 0x6f20
leaq 0x8(%rsp), %rsi
movl $0x4, (%rsi)
leaq 0x182bd(%rip), %rax     # 0x1d320
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x18897(%rip), %rdi     # 0x1d908
callq 0x6f20
leaq 0x8(%rsp), %rsi
movl $0x5, (%rsi)
leaq 0x18298(%rip), %rax     # 0x1d320
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x18872(%rip), %rdi     # 0x1d908
callq 0x6f20
leaq 0x8(%rsp), %rsi
movl $0x6, (%rsi)
leaq 0x18273(%rip), %rax     # 0x1d320
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x1884d(%rip), %rdi     # 0x1d908
callq 0x6f20
leaq 0xff88(%rip), %rdi      # 0x1504f
callq 0x4390
testq %rax, %rax
jne 0x51d2
leaq 0xff80(%rip), %rdi      # 0x1505c
callq 0x4390
testq %rax, %rax
jne 0x5226
leaq 0xff76(%rip), %rdi      # 0x15067
callq 0x4390
testq %rax, %rax
jne 0x528a
movq (%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x6b26
leaq 0xff58(%rip), %rsi      # 0x15070
leaq 0x8(%rsp), %rdi
movl $0x2, %ecx
movq $-0x1, %rdx
callq 0x45f0
movq %rax, 0x30(%rsp)
leaq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5152
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
cmpq $-0x1, 0x30(%rsp)
jne 0x52ee
leaq 0xff06(%rip), %rdi      # 0x1506b
callq 0x4390
testq %rax, %rax
jne 0x53c4
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0xfeda(%rip), %rsi      # 0x15061
leaq 0xfed8(%rip), %rdx      # 0x15066
callq 0x6c96
leaq 0x181e6(%rip), %rdi     # 0x1d380
leaq 0x8(%rsp), %rsi
callq 0x7066
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x51c0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leal -0x5(%r14), %eax
cmpl $-0x2, %eax
jae 0x5702
callq 0x65b4
leaq 0xfe76(%rip), %rdi      # 0x1504f
callq 0x4390
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
movq %rax, %rsi
callq 0x6b26
leaq 0x18189(%rip), %rdi     # 0x1d380
leaq 0x8(%rsp), %rsi
callq 0x7066
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x50d5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x50d5
leaq 0xfe2f(%rip), %rdi      # 0x1505c
callq 0x4390
leaq 0x88(%rsp), %rdi
leaq 0x188(%rsp), %rdx
movq %rax, %rsi
callq 0x6b26
leaq 0x11f68(%rip), %rsi     # 0x171b9
leaq 0x88(%rsp), %rdi
callq 0x45d0
leaq 0x48(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x5362
movups (%rcx), %xmm0
leaq 0x48(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x536f
leaq 0xfdd6(%rip), %rdi      # 0x15067
callq 0x4390
leaq 0x88(%rsp), %rdi
leaq 0x188(%rsp), %rdx
movq %rax, %rsi
callq 0x6b26
leaq 0x11f04(%rip), %rsi     # 0x171b9
leaq 0x88(%rsp), %rdi
callq 0x45d0
leaq 0x48(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x5572
movups (%rcx), %xmm0
leaq 0x48(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x557f
movq (%rbx), %rsi
leaq 0x188(%rsp), %rdi
leaq 0x87(%rsp), %rdx
callq 0x6b26
leaq 0x88(%rsp), %rdi
leaq 0x188(%rsp), %rsi
xorl %edx, %edx
movq 0x30(%rsp), %rcx
callq 0x4300
leaq 0x11e90(%rip), %rsi     # 0x171b9
leaq 0x88(%rsp), %rdi
callq 0x45d0
leaq 0x48(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x5836
movups (%rcx), %xmm0
leaq 0x48(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x5843
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
movq 0x8(%rax), %rdx
leaq 0x38(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xfccf(%rip), %rsi      # 0x15061
callq 0x45d0
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x55d4
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x55e1
leaq 0xe8(%rsp), %rdi
movq %rax, %rsi
callq 0x4440
leaq 0xfc96(%rip), %rsi      # 0x15071
leaq 0xe8(%rsp), %rdi
movl $0x1, %ecx
xorl %edx, %edx
callq 0x4580
xorl %esi, %esi
cmpq $-0x1, %rax
sete %sil
movl %esi, 0x30(%rsp)
xorl $0x3b, %esi
leaq 0xe8(%rsp), %rdi
xorl %edx, %edx
callq 0x43f0
movq %rax, %rcx
leaq 0xe8(%rsp), %rax
cmpq 0x8(%rax), %rcx
jae 0x5173
movl 0x30(%rsp), %eax
xorb $0x3b, %al
xorl %edx, %edx
movzbl %al, %eax
movl %eax, 0x60(%rsp)
movq %rcx, 0x30(%rsp)
subq %rdx, %rcx
leaq 0x8(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x4300
leaq 0x1c8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x43a0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x547b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x11d2a(%rip), %rdx     # 0x171b9
callq 0x6b63
leaq 0x38(%rsp), %rdi
leaq 0xfbc1(%rip), %rsi      # 0x15061
callq 0x45d0
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x54cd
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x54d8
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x17e89(%rip), %rdi     # 0x1d380
leaq 0x8(%rsp), %rsi
callq 0x7066
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x551d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x5539
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x30(%rsp), %rdx
incq %rdx
movq %rdx, 0x30(%rsp)
leaq 0xe8(%rsp), %rdi
movl 0x60(%rsp), %esi
callq 0x43f0
movq 0x30(%rsp), %rdx
movq %rax, %rcx
cmpq 0xf0(%rsp), %rax
jb 0x5433
jmp 0x5173
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
movq 0x8(%rax), %rdx
leaq 0x38(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xfabf(%rip), %rsi      # 0x15061
callq 0x45d0
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x566b
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x5678
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x17d7c(%rip), %rdi     # 0x1d380
callq 0x7066
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5625
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x5641
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x50ea
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x50ea
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x17ce5(%rip), %rdi     # 0x1d380
callq 0x7066
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x56bc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x56d8
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x50ff
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x50ff
movq 0x8(%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x6b26
leaq 0x168(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x43a0
leaq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5746
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0xf926(%rip), %rsi      # 0x15073
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
je 0x577a
leaq 0xf911(%rip), %rsi      # 0x15076
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x51cd
movq 0x10(%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x6b26
leaq 0xa8(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x43a0
leaq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x57be
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
cmpl $0x3, %r14d
jne 0x5949
leaq 0x119ea(%rip), %rsi     # 0x171b9
leaq 0xa8(%rsp), %rdi
movl $0x1, %ecx
movq $-0x1, %rdx
callq 0x45f0
cmpq $-0x1, %rax
jne 0x5994
leaq 0xf878(%rip), %rsi      # 0x15071
leaq 0xa8(%rsp), %rdi
movl $0x1, %ecx
movq $-0x1, %rdx
callq 0x45f0
cmpq $-0x1, %rax
jne 0x5a07
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x4180
jmp 0x5a71
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
movq 0x8(%rax), %rdx
leaq 0x38(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xf7fb(%rip), %rsi      # 0x15061
callq 0x45d0
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x5891
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x589e
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x17abf(%rip), %rdi     # 0x1d380
callq 0x7066
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58e2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x58fe
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x591f
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x515e
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x515e
movq 0x18(%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x6b26
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x43a0
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5ab3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x5ab3
leaq 0x1181e(%rip), %rsi     # 0x171b9
leaq 0xa8(%rsp), %rbx
movl $0x1, %ecx
movq %rbx, %rdi
movq $-0x1, %rdx
callq 0x45f0
leaq 0x1(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
movq $-0x1, %rcx
callq 0x4300
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x43a0
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x57f2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x57f2
leaq 0xf663(%rip), %rsi      # 0x15071
leaq 0xa8(%rsp), %rbx
movl $0x1, %ecx
movq %rbx, %rdi
movq $-0x1, %rdx
callq 0x45f0
leaq 0x1(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
movq $-0x1, %rcx
callq 0x4300
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x43a0
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5a71
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0xf5fb(%rip), %rsi      # 0x15073
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x5a9f
leaq 0xf5e9(%rip), %rsi      # 0x15079
leaq 0xc8(%rsp), %rdi
callq 0x45d0
jmp 0x5ab3
leaq 0x10f6a(%rip), %rsi     # 0x16a10
leaq 0xc8(%rsp), %rdi
callq 0x4440
leaq 0xf5bc(%rip), %rsi      # 0x15076
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x5ef6
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0xf59b(%rip), %rsi      # 0x1507e
leaq 0xf690(%rip), %rdx      # 0x1517a
callq 0x6c96
movl $0x238, %edi            # imm = 0x238
callq 0x42d0
movq %rax, 0x30(%rsp)
leaq 0x1b8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1a8(%rsp), %rdi
callq 0x6c00
leaq 0x1a8(%rsp), %rsi
movq 0x30(%rsp), %rdi
xorl %edx, %edx
callq 0xd954
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5b5b
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movq %rax, %r14
movb $0x0, (%rax)
movl $0x58, %edi
callq 0x42d0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rdi
callq 0x6bba
movl $0x30, %edi
callq 0x42d0
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x72d8
movq 0x58(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x72f6
leaq 0x88(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x7b06
leaq 0xf5af(%rip), %rsi      # 0x1517b
leaq 0x88(%rsp), %rdi
callq 0x40d0
movl %eax, %ebx
leaq 0x88(%rsp), %rax
movq (%rax), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x5c03
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
testl %ebx, %ebx
jne 0x5c4d
movq 0x173e2(%rip), %rdi     # 0x1cff0
leaq 0xf56a(%rip), %rsi      # 0x1517f
movl $0x26, %edx
callq 0x4340
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
movq 0x173ba(%rip), %rdi     # 0x1cff0
callq 0x4340
movq %rax, %rdi
callq 0x4150
movl $0x1, %edi
callq 0x4380
leaq 0x88(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x6602
leaq 0x38(%rsp), %rdi
leaq 0x88(%rsp), %rbx
movq %rbx, %rsi
callq 0x43a0
movq (%rbx), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x5c94
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
movl $0x90, %edi
callq 0x42d0
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rdi
callq 0xe2c8
leaq 0x38(%rsp), %rsi
movq 0x68(%rsp), %rdi
callq 0x11ea0
leaq 0x158(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xf4d7(%rip), %rsi      # 0x151a6
leaq 0xf4d6(%rip), %rdx      # 0x151ac
leaq 0x148(%rsp), %rdi
callq 0x6c96
leaq 0x148(%rsp), %rsi
movq 0x68(%rsp), %rdi
callq 0x12088
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x5d1a
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x68(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0xe378
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x12138
movq 0x68(%rsp), %rdi
callq 0xe656
leaq 0x10cc7(%rip), %rsi     # 0x16a10
leaq 0xc8(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x5d75
movl $0x220, %edi            # imm = 0x220
callq 0x42d0
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rdi
callq 0xe0a0
jmp 0x5de7
movl $0x220, %edi            # imm = 0x220
callq 0x42d0
movq %rax, 0x78(%rsp)
leaq 0x138(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x6c00
leaq 0x128(%rsp), %rsi
movq 0x78(%rsp), %rdi
callq 0xe11a
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x5de7
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x42e0
movl $0x38, %edi
callq 0x42d0
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rdi
callq 0x139d8
movq 0x70(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0x13dd8
movq 0x70(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x13dde
leaq 0x8(%rsp), %rsi
movq 0x70(%rsp), %rdi
callq 0x13de4
movq 0x70(%rsp), %rdi
callq 0x13b48
movq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x13dea
movl $0x38, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x78(%rsp), %rbx
movq %rbx, %rdi
callq 0xe25e
movl $0x220, %esi            # imm = 0x220
movq %rbx, %rdi
callq 0x42e0
movq 0x68(%rsp), %rbx
movq %rbx, %rdi
callq 0x12746
movl $0x90, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x7b2a
movl $0x30, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x60(%rsp), %rdi
callq 0xd735
movq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0xe05a
movl $0x238, %esi            # imm = 0x238
movq %rbx, %rdi
callq 0x42e0
movq 0x38(%rsp), %rdi
cmpq %r14, %rdi
je 0x5eda
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5ef6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0xf176(%rip), %rsi      # 0x15073
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x6189
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x0, 0x18(%rsp)
movl $0x58, %edi
callq 0x42d0
movq %rax, %r14
movq %rax, %rdi
callq 0x6bba
movl $0x38, %edi
callq 0x42d0
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
callq 0x139d8
leaq 0xa8(%rsp), %rsi
movq 0x30(%rsp), %rdi
callq 0x13d0c
movq 0x30(%rsp), %rdi
movq %r14, %rsi
callq 0x13dde
movq 0x30(%rsp), %rdi
callq 0x13a26
movl $0x30, %edi
callq 0x42d0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rdi
callq 0x72d8
movq 0x60(%rsp), %rdi
movq %r14, %rsi
callq 0x7abc
leaq 0x38(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x7b06
leaq 0xf1be(%rip), %rsi      # 0x1517b
leaq 0x38(%rsp), %rdi
callq 0x40d0
movl %eax, %ebx
leaq 0x38(%rsp), %rax
movq (%rax), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x5fe8
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
testl %ebx, %ebx
jne 0x602d
movq 0x16ffd(%rip), %rdi     # 0x1cff0
leaq 0xf185(%rip), %rsi      # 0x1517f
movl $0x26, %edx
callq 0x4340
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
movq 0x16fd5(%rip), %rdi     # 0x1cff0
callq 0x4340
movq %rax, %rdi
callq 0x4150
jmp 0x5c43
leaq 0x38(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x6602
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rbx
movq %rbx, %rsi
callq 0x43a0
movq (%rbx), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x6068
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
movl $0x90, %edi
callq 0x42d0
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0xe2c8
leaq 0x8(%rsp), %rsi
movq 0x58(%rsp), %rdi
callq 0x11ea0
leaq 0x118(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xf103(%rip), %rsi      # 0x151a6
leaq 0xf102(%rip), %rdx      # 0x151ac
leaq 0x108(%rsp), %rdi
callq 0x6c96
leaq 0x108(%rsp), %rsi
movq 0x58(%rsp), %rdi
callq 0x12088
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x60ee
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0xc8(%rsp), %rsi
movq 0x58(%rsp), %rdi
callq 0x12092
movq 0x58(%rsp), %rdi
movq %r14, %rsi
callq 0x12138
movq 0x58(%rsp), %rdi
callq 0x11d42
movq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x12746
movl $0x90, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x7b2a
movl $0x30, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0x13dea
movl $0x38, %esi
movq %rbx, %rdi
callq 0x42e0
movq %r14, %rdi
callq 0xd735
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6189
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
xorl %edi, %edi
callq 0x4380
movq %rax, %rbx
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x64cd
movq 0x118(%rsp), %rsi
jmp 0x62d0
jmp 0x62ba
movq %rax, %rbx
movl $0x38, %esi
movq 0x70(%rsp), %rdi
jmp 0x62a9
movq %rax, %rbx
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x61ff
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x61ff
jmp 0x61fc
movq %rax, %rbx
movl $0x220, %esi            # imm = 0x220
movq 0x78(%rsp), %rdi
jmp 0x62a9
jmp 0x64ca
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x62bd
movq 0x158(%rsp), %rsi
incq %rsi
jmp 0x62a9
movq %rax, %rbx
movl $0x90, %esi
movq 0x58(%rsp), %rdi
jmp 0x6316
jmp 0x62ba
jmp 0x64ca
jmp 0x64ca
movq %rax, %rbx
movl $0x90, %esi
movq 0x68(%rsp), %rdi
jmp 0x62a9
jmp 0x62ba
jmp 0x64ca
jmp 0x62ba
movq %rax, %rbx
movl $0x30, %esi
movq 0x60(%rsp), %rdi
jmp 0x6316
jmp 0x62ba
jmp 0x64ca
movq %rax, %rbx
movl $0x30, %esi
movq 0x58(%rsp), %rdi
jmp 0x62a9
jmp 0x62ba
movq %rax, %rbx
movl $0x58, %esi
movq 0x60(%rsp), %rdi
callq 0x42e0
jmp 0x62bd
movq %rax, %rbx
movl $0x38, %esi
jmp 0x6311
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r14, %rdi
je 0x64cd
movq 0x48(%rsp), %rsi
incq %rsi
jmp 0x6316
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x630c
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x630c
jmp 0x64ca
movq %rax, %rbx
movl $0x58, %esi
movq %r14, %rdi
jmp 0x6316
movq %rax, %rbx
movl $0x238, %esi            # imm = 0x238
movq 0x30(%rsp), %rdi
callq 0x42e0
jmp 0x64cd
jmp 0x64ca
jmp 0x64ca
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6367
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x6367
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x64ee
movq 0x48(%rsp), %rsi
jmp 0x64e1
jmp 0x64eb
jmp 0x64eb
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x63b7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x63b7
jmp 0x64eb
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x63d8
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x63d8
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6405
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x6405
jmp 0x64ca
jmp 0x6431
movq %rax, %rbx
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x64ee
movq 0x198(%rsp), %rsi
jmp 0x64e1
jmp 0x64eb
jmp 0x64eb
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x645c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x645c
jmp 0x6459
jmp 0x64eb
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x647f
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x647f
jmp 0x647c
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x64ee
movq 0x98(%rsp), %rsi
jmp 0x64e1
jmp 0x64eb
jmp 0x64eb
jmp 0x64ca
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64eb
jmp 0x64ca
jmp 0x64eb
jmp 0x64ca
jmp 0x64eb
jmp 0x64ca
jmp 0x64eb
jmp 0x64ca
jmp 0x64eb
jmp 0x64ca
jmp 0x64eb
jmp 0x64ca
jmp 0x64eb
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x64ee
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x64ee
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x650b
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0xe8(%rsp), %rdi
cmpq %r13, %rdi
je 0x6528
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x6545
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x6562
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x6587
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x65ac
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq %rbx, %rdi
callq 0x4590