// File: /workspace/github_cpp_makefile_star2_O1/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 0x100bb(%rip), %rsi     # 0x15004
leaq 0x100c0(%rip), %rdx     # 0x15010
leaq 0x8(%rsp), %rdi
callq 0x6e3c
leaq 0x8(%rsp), %rsi
movl $0x0, 0x20(%rsi)
leaq 0x1896b(%rip), %rdi     # 0x1d8d8
callq 0x6ecc
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4f8e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0x1006f(%rip), %rsi     # 0x15011
leaq 0x1006f(%rip), %rdx     # 0x15018
callq 0x6e3c
leaq 0x8(%rsp), %rsi
movl $0x1, 0x20(%rsi)
leaq 0x18917(%rip), %rdi     # 0x1d8d8
callq 0x6ecc
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4fe2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0x10023(%rip), %rsi     # 0x15019
leaq 0x10025(%rip), %rdx     # 0x15022
callq 0x6e3c
leaq 0x8(%rsp), %rsi
movl $0x2, 0x20(%rsi)
leaq 0x188c3(%rip), %rdi     # 0x1d8d8
callq 0x6ecc
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5036
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdx
movl $0x3, (%rdx)
leaq 0xffdb(%rip), %rsi      # 0x15023
leaq 0x8(%rsp), %rdi
callq 0x6c62
leaq 0x1887f(%rip), %rdi     # 0x1d8d8
leaq 0x8(%rsp), %rsi
callq 0x6ecc
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x507f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdx
movl $0x4, (%rdx)
leaq 0xff9e(%rip), %rsi      # 0x1502f
leaq 0x8(%rsp), %rdi
callq 0x6c9a
leaq 0x18836(%rip), %rdi     # 0x1d8d8
leaq 0x8(%rsp), %rsi
callq 0x6ecc
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x50c8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdx
movl $0x5, (%rdx)
leaq 0xff5e(%rip), %rsi      # 0x15038
leaq 0x8(%rsp), %rdi
callq 0x6c2a
leaq 0x187ed(%rip), %rdi     # 0x1d8d8
leaq 0x8(%rsp), %rsi
callq 0x6ecc
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5111
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdx
movl $0x6, (%rdx)
leaq 0xff1f(%rip), %rsi      # 0x15042
leaq 0x8(%rsp), %rdi
callq 0x6bf2
leaq 0x187a4(%rip), %rdi     # 0x1d8d8
leaq 0x8(%rsp), %rsi
callq 0x6ecc
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x515a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x8(%rsp), %rsi
movl $0x0, (%rsi)
leaq 0x181b4(%rip), %rax     # 0x1d320
movups 0x20(%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x1878d(%rip), %rdi     # 0x1d908
callq 0x70c0
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x1818e(%rip), %rax     # 0x1d320
movups 0x10(%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x18767(%rip), %rdi     # 0x1d908
callq 0x70c0
leaq 0x8(%rsp), %rsi
movl $0x2, (%rsi)
leaq 0x18168(%rip), %rax     # 0x1d320
movups 0x30(%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x18741(%rip), %rdi     # 0x1d908
callq 0x70c0
leaq 0x8(%rsp), %rsi
movl $0x3, (%rsi)
leaq 0x18142(%rip), %rax     # 0x1d320
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x1871c(%rip), %rdi     # 0x1d908
callq 0x70c0
leaq 0x8(%rsp), %rsi
movl $0x4, (%rsi)
leaq 0x1811d(%rip), %rax     # 0x1d320
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x186f7(%rip), %rdi     # 0x1d908
callq 0x70c0
leaq 0x8(%rsp), %rsi
movl $0x5, (%rsi)
leaq 0x180f8(%rip), %rax     # 0x1d320
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x186d2(%rip), %rdi     # 0x1d908
callq 0x70c0
leaq 0x8(%rsp), %rsi
movl $0x6, (%rsi)
leaq 0x180d3(%rip), %rax     # 0x1d320
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsi)
leaq 0x186ad(%rip), %rdi     # 0x1d908
callq 0x70c0
leaq 0xfde8(%rip), %rdi      # 0x1504f
callq 0x4390
testq %rax, %rax
jne 0x5372
leaq 0xfde0(%rip), %rdi      # 0x1505c
callq 0x4390
testq %rax, %rax
jne 0x53c6
leaq 0xfdd6(%rip), %rdi      # 0x15067
callq 0x4390
testq %rax, %rax
jne 0x542a
movq (%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x6cd2
leaq 0xfdb8(%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 0x52f2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
cmpq $-0x1, 0x30(%rsp)
jne 0x548e
leaq 0xfd66(%rip), %rdi      # 0x1506b
callq 0x4390
testq %rax, %rax
jne 0x5564
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0xfd3a(%rip), %rsi      # 0x15061
leaq 0xfd38(%rip), %rdx      # 0x15066
callq 0x6e3c
leaq 0x18046(%rip), %rdi     # 0x1d380
leaq 0x8(%rsp), %rsi
callq 0x7208
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5360
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leal -0x5(%r14), %eax
cmpl $-0x2, %eax
jae 0x58a2
callq 0x6754
leaq 0xfcd6(%rip), %rdi      # 0x1504f
callq 0x4390
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
movq %rax, %rsi
callq 0x6cd2
leaq 0x17fe9(%rip), %rdi     # 0x1d380
leaq 0x8(%rsp), %rsi
callq 0x7208
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5275
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x5275
leaq 0xfc8f(%rip), %rdi      # 0x1505c
callq 0x4390
leaq 0x88(%rsp), %rdi
leaq 0x188(%rsp), %rdx
movq %rax, %rsi
callq 0x6cd2
leaq 0x11dfa(%rip), %rsi     # 0x171eb
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 0x5502
movups (%rcx), %xmm0
leaq 0x48(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x550f
leaq 0xfc36(%rip), %rdi      # 0x15067
callq 0x4390
leaq 0x88(%rsp), %rdi
leaq 0x188(%rsp), %rdx
movq %rax, %rsi
callq 0x6cd2
leaq 0x11d96(%rip), %rsi     # 0x171eb
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 0x5712
movups (%rcx), %xmm0
leaq 0x48(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x571f
movq (%rbx), %rsi
leaq 0x188(%rsp), %rdi
leaq 0x87(%rsp), %rdx
callq 0x6cd2
leaq 0x88(%rsp), %rdi
leaq 0x188(%rsp), %rsi
xorl %edx, %edx
movq 0x30(%rsp), %rcx
callq 0x4300
leaq 0x11d22(%rip), %rsi     # 0x171eb
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 0x59d6
movups (%rcx), %xmm0
leaq 0x48(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x59e3
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 0xfb2f(%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 0x5774
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x5781
leaq 0xe8(%rsp), %rdi
movq %rax, %rsi
callq 0x4440
leaq 0xfaf6(%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 0x5313
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 0x561b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x38(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
leaq 0x11bbc(%rip), %rdx     # 0x171eb
callq 0x6d0f
leaq 0x38(%rsp), %rdi
leaq 0xfa21(%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 0x566d
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x5678
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 0x17ce9(%rip), %rdi     # 0x1d380
leaq 0x8(%rsp), %rsi
callq 0x7208
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x56bd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x56d9
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 0x55d3
jmp 0x5313
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 0xf91f(%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 0x580b
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x5818
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 0x17bdc(%rip), %rdi     # 0x1d380
callq 0x7208
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x57c5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x57e1
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x528a
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x528a
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 0x17b45(%rip), %rdi     # 0x1d380
callq 0x7208
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x585c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x5878
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x529f
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x529f
movq 0x8(%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x6cd2
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 0x58e6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0xf786(%rip), %rsi      # 0x15073
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
je 0x591a
leaq 0xf771(%rip), %rsi      # 0x15076
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x536d
movq 0x10(%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x6cd2
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 0x595e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
cmpl $0x3, %r14d
jne 0x5ae9
leaq 0x1187c(%rip), %rsi     # 0x171eb
leaq 0xa8(%rsp), %rdi
movl $0x1, %ecx
movq $-0x1, %rdx
callq 0x45f0
cmpq $-0x1, %rax
jne 0x5b34
leaq 0xf6d8(%rip), %rsi      # 0x15071
leaq 0xa8(%rsp), %rdi
movl $0x1, %ecx
movq $-0x1, %rdx
callq 0x45f0
cmpq $-0x1, %rax
jne 0x5ba7
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x4180
jmp 0x5c11
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 0xf65b(%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 0x5a31
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x5a3e
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 0x1791f(%rip), %rdi     # 0x1d380
callq 0x7208
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5a82
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x5a9e
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5abf
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x52fe
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x52fe
movq 0x18(%rbx), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x6cd2
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x43a0
movq (%rbx), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5c53
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x5c53
leaq 0x116b0(%rip), %rsi     # 0x171eb
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 0x5992
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x5992
leaq 0xf4c3(%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 0x5c11
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0xf45b(%rip), %rsi      # 0x15073
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x5c3f
leaq 0xf449(%rip), %rsi      # 0x15079
leaq 0xc8(%rsp), %rdi
callq 0x45d0
jmp 0x5c53
leaq 0x10dca(%rip), %rsi     # 0x16a10
leaq 0xc8(%rsp), %rdi
callq 0x4440
leaq 0xf41c(%rip), %rsi      # 0x15076
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x6096
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0xf3fb(%rip), %rsi      # 0x1507e
leaq 0xf4f0(%rip), %rdx      # 0x1517a
callq 0x6e3c
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 0x6dac
leaq 0x1a8(%rsp), %rsi
movq 0x30(%rsp), %rdi
xorl %edx, %edx
callq 0xdff4
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5cfb
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 0x6d66
movl $0x30, %edi
callq 0x42d0
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x7470
movq 0x58(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x748e
leaq 0x88(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x7cb0
leaq 0xf40f(%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 0x5da3
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
testl %ebx, %ebx
jne 0x5ded
movq 0x17242(%rip), %rdi     # 0x1cff0
leaq 0xf3ca(%rip), %rsi      # 0x1517f
movl $0x26, %edx
callq 0x4340
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
movq 0x1721a(%rip), %rdi     # 0x1cff0
callq 0x4340
movq %rax, %rdi
callq 0x4150
movl $0x1, %edi
callq 0x4380
leaq 0x88(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x67a2
leaq 0x38(%rsp), %rdi
leaq 0x88(%rsp), %rbx
movq %rbx, %rsi
callq 0x43a0
movq (%rbx), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x5e34
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
movl $0x90, %edi
callq 0x42d0
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rdi
callq 0xe964
leaq 0x38(%rsp), %rsi
movq 0x68(%rsp), %rdi
callq 0x1259e
leaq 0x158(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xf337(%rip), %rsi      # 0x151a6
leaq 0xf336(%rip), %rdx      # 0x151ac
leaq 0x148(%rsp), %rdi
callq 0x6e3c
leaq 0x148(%rsp), %rsi
movq 0x68(%rsp), %rdi
callq 0x12786
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x5eba
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x68(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0xea14
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x12836
movq 0x68(%rsp), %rdi
callq 0xecf0
leaq 0x10b27(%rip), %rsi     # 0x16a10
leaq 0xc8(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x5f15
movl $0x220, %edi            # imm = 0x220
callq 0x42d0
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rdi
callq 0xe73c
jmp 0x5f87
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 0x6dac
leaq 0x128(%rsp), %rsi
movq 0x78(%rsp), %rdi
callq 0xe7b6
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x5f87
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x42e0
movl $0x38, %edi
callq 0x42d0
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rdi
callq 0x14154
movq 0x70(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0x14552
movq 0x70(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x14558
leaq 0x8(%rsp), %rsi
movq 0x70(%rsp), %rdi
callq 0x1455e
movq 0x70(%rsp), %rdi
callq 0x142c2
movq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x14564
movl $0x38, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x78(%rsp), %rbx
movq %rbx, %rdi
callq 0xe8fa
movl $0x220, %esi            # imm = 0x220
movq %rbx, %rdi
callq 0x42e0
movq 0x68(%rsp), %rbx
movq %rbx, %rdi
callq 0x12e30
movl $0x90, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x7cd4
movl $0x30, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x60(%rsp), %rdi
callq 0xddd6
movq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0xe6f4
movl $0x238, %esi            # imm = 0x238
movq %rbx, %rdi
callq 0x42e0
movq 0x38(%rsp), %rdi
cmpq %r14, %rdi
je 0x607a
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6096
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0xefd6(%rip), %rsi      # 0x15073
leaq 0x168(%rsp), %rdi
callq 0x40d0
testl %eax, %eax
jne 0x6329
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 0x6d66
movl $0x38, %edi
callq 0x42d0
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
callq 0x14154
leaq 0xa8(%rsp), %rsi
movq 0x30(%rsp), %rdi
callq 0x14486
movq 0x30(%rsp), %rdi
movq %r14, %rsi
callq 0x14558
movq 0x30(%rsp), %rdi
callq 0x141a2
movl $0x30, %edi
callq 0x42d0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rdi
callq 0x7470
movq 0x60(%rsp), %rdi
movq %r14, %rsi
callq 0x7c66
leaq 0x38(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x7cb0
leaq 0xf01e(%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 0x6188
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
testl %ebx, %ebx
jne 0x61cd
movq 0x16e5d(%rip), %rdi     # 0x1cff0
leaq 0xefe5(%rip), %rsi      # 0x1517f
movl $0x26, %edx
callq 0x4340
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rdx
movq 0x16e35(%rip), %rdi     # 0x1cff0
callq 0x4340
movq %rax, %rdi
callq 0x4150
jmp 0x5de3
leaq 0x38(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x67a2
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rbx
movq %rbx, %rsi
callq 0x43a0
movq (%rbx), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x6208
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
movl $0x90, %edi
callq 0x42d0
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0xe964
leaq 0x8(%rsp), %rsi
movq 0x58(%rsp), %rdi
callq 0x1259e
leaq 0x118(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xef63(%rip), %rsi      # 0x151a6
leaq 0xef62(%rip), %rdx      # 0x151ac
leaq 0x108(%rsp), %rdi
callq 0x6e3c
leaq 0x108(%rsp), %rsi
movq 0x58(%rsp), %rdi
callq 0x12786
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x628e
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x42e0
leaq 0xc8(%rsp), %rsi
movq 0x58(%rsp), %rdi
callq 0x12790
movq 0x58(%rsp), %rdi
movq %r14, %rsi
callq 0x12836
movq 0x58(%rsp), %rdi
callq 0x12440
movq 0x58(%rsp), %rbx
movq %rbx, %rdi
callq 0x12e30
movl $0x90, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x7cd4
movl $0x30, %esi
movq %rbx, %rdi
callq 0x42e0
movq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0x14564
movl $0x38, %esi
movq %rbx, %rdi
callq 0x42e0
movq %r14, %rdi
callq 0xddd6
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6329
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 0x666d
movq 0x118(%rsp), %rsi
jmp 0x6470
jmp 0x645a
movq %rax, %rbx
movl $0x38, %esi
movq 0x70(%rsp), %rdi
jmp 0x6449
movq %rax, %rbx
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x639f
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x639f
jmp 0x639c
movq %rax, %rbx
movl $0x220, %esi            # imm = 0x220
movq 0x78(%rsp), %rdi
jmp 0x6449
jmp 0x666a
movq %rax, %rbx
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x645d
movq 0x158(%rsp), %rsi
incq %rsi
jmp 0x6449
movq %rax, %rbx
movl $0x90, %esi
movq 0x58(%rsp), %rdi
jmp 0x64b6
jmp 0x645a
jmp 0x666a
jmp 0x666a
movq %rax, %rbx
movl $0x90, %esi
movq 0x68(%rsp), %rdi
jmp 0x6449
jmp 0x645a
jmp 0x666a
jmp 0x645a
movq %rax, %rbx
movl $0x30, %esi
movq 0x60(%rsp), %rdi
jmp 0x64b6
jmp 0x645a
jmp 0x666a
movq %rax, %rbx
movl $0x30, %esi
movq 0x58(%rsp), %rdi
jmp 0x6449
jmp 0x645a
movq %rax, %rbx
movl $0x58, %esi
movq 0x60(%rsp), %rdi
callq 0x42e0
jmp 0x645d
movq %rax, %rbx
movl $0x38, %esi
jmp 0x64b1
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r14, %rdi
je 0x666d
movq 0x48(%rsp), %rsi
incq %rsi
jmp 0x64b6
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x64ac
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x64ac
jmp 0x666a
movq %rax, %rbx
movl $0x58, %esi
movq %r14, %rdi
jmp 0x64b6
movq %rax, %rbx
movl $0x238, %esi            # imm = 0x238
movq 0x30(%rsp), %rdi
callq 0x42e0
jmp 0x666d
jmp 0x666a
jmp 0x666a
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x668b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6507
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x6507
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x668e
movq 0x48(%rsp), %rsi
jmp 0x6681
jmp 0x668b
jmp 0x668b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6557
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x6557
jmp 0x668b
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x6578
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x6578
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x65a5
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x65a5
jmp 0x666a
jmp 0x65d1
movq %rax, %rbx
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x668e
movq 0x198(%rsp), %rsi
jmp 0x6681
jmp 0x668b
jmp 0x668b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x65fc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x65fc
jmp 0x65f9
jmp 0x668b
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x661f
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x661f
jmp 0x661c
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x668e
movq 0x98(%rsp), %rsi
jmp 0x6681
jmp 0x668b
jmp 0x668b
jmp 0x666a
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x668b
jmp 0x666a
jmp 0x668b
jmp 0x666a
jmp 0x668b
jmp 0x666a
jmp 0x668b
jmp 0x666a
jmp 0x668b
jmp 0x666a
jmp 0x668b
jmp 0x666a
jmp 0x668b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x668e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42e0
jmp 0x668e
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x66ab
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0xe8(%rsp), %rdi
cmpq %r13, %rdi
je 0x66c8
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x66e5
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x6702
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x6727
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
cmpq %rax, %rdi
je 0x674c
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x42e0
movq %rbx, %rdi
callq 0x4590