LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O1/rcolomina[P]the_charmed_house/src/manager.cpp
// Function: Manager::clock()
void Manager::clock(){

    while(continuar_loop)
    {
        int itime = (int) tiempo;
        if( itime % (5*60) == 0 )
        {
            cout<<"\nHan pasado "<<tiempo<<" segundos desde el inicio del juego\n"<<">>>";
        }

        sleep(1); //detiene el hilo durante 1 segundo
        tiempo++;
    }
}

// Assembly:
cmpb $0x1, 0x30(%rdi)
jne 0x22ea2
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x181bd(%rip), %r14     # 0x3afc0
leaq 0xbf21(%rip), %r15      # 0x2ed2b
leaq 0xbf27(%rip), %r12      # 0x2ed38
leaq 0xbe0e(%rip), %r13      # 0x2ec26
cvttsd2si 0x8(%rbx), %eax
imull $0x962fc963, %eax, %eax # imm = 0x962FC963
addl $0x1b4e818, %eax        # imm = 0x1B4E818
rorl $0x2, %eax
cmpl $0xda740c, %eax         # imm = 0xDA740C
ja 0x22e72
movl $0xc, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x53a0
movsd 0x8(%rbx), %xmm0
movq %r14, %rdi
callq 0x5540
movq %rax, %rbp
movl $0x24, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x53a0
movl $0x3, %edx
movq %rbp, %rdi
movq %r13, %rsi
callq 0x53a0
movl $0x1, %edi
callq 0x5270
movsd 0x8(%rbx), %xmm0
addsd 0xbd17(%rip), %xmm0     # 0x2eba0
movsd %xmm0, 0x8(%rbx)
cmpb $0x0, 0x30(%rbx)
jne 0x22e18
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/rcolomina[P]the_charmed_house/src/objeto.cpp
// Function: Objeto::tirar()
void Objeto::tirar()
{
     cout<<endl<<descripcion_tirar<<endl;
     if(objeto_rel_tirar!=NULL)
     {
	  objeto_rel_tirar->set_value(string("visibility"),true);
     }
     else
     {
	  cout<<"ERROR: Null object"<<endl;
     }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rdi, %r14
movq 0x162c5(%rip), %rbx     # 0x3afc0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5300
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5050
movq %rax, %rdi
callq 0x5230
movq 0x178(%r14), %rsi
movq 0x180(%r14), %rdx
movq %rax, %rdi
callq 0x53a0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x5300
movsbl %al, %esi
movq %r15, %rdi
callq 0x5050
movq %rax, %rdi
callq 0x5230
movq 0x198(%r14), %r14
testq %r14, %r14
je 0x24dc0
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x9336(%rip), %rsi      # 0x2e0b4
leaq 0x9339(%rip), %rdx      # 0x2e0be
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x1a08c
movq %r14, %rdi
movq %rbx, %rsi
movl $0x1, %edx
callq 0x24bd2
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x24db6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x5340
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x9fb0(%rip), %rsi      # 0x2ed77
movl $0x12, %edx
movq %rbx, %rdi
callq 0x53a0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5300
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5050
movq %rax, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x5230
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x24e1d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x5340
movq %rbx, %rdi
callq 0x55c0
nop
// File: /workspace/github_cpp_makefile_star2_O1/rcolomina[P]the_charmed_house/src/objeto.cpp
// Function: Objeto::set_tirable(Objeto*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Objeto::set_tirable(Objeto *objeto,string descrip_tirable)
{
     if(objeto!=NULL)
     {
	  this->objeto_rel_tirar=objeto;
	  objeto_rel_tirar->set_value(string("visibility"),false);
	  this->descripcion_tirar=descrip_tirable;
     }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
testq %rsi, %rsi
je 0x24e9f
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movq %rsi, 0x198(%rdi)
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x925c(%rip), %rsi      # 0x2e0b4
leaq 0x925f(%rip), %rdx      # 0x2e0be
movq %rsp, %r12
movq %r12, %rdi
callq 0x1a08c
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x24bd2
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x24e8d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x5340
addq $0x178, %r14            # imm = 0x178
movq %r14, %rdi
movq %rbx, %rsi
callq 0x51d0
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x24ec6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x5340
movq %rbx, %rdi
callq 0x55c0
// File: /workspace/github_cpp_makefile_star2_O1/rcolomina[P]the_charmed_house/src/objeto.cpp
// Function: bool Objeto::get_value<bool>(char const*)
bool Objeto::get_value<bool>(const char* pro)
{			 
    pBool pb=map_pBools[string(pro)];
    bool value=false; // TODO: Return false value by default 
    if(pb!=NULL)
    {
        value=pb->Value();
    }
#ifdef _DEBUG
    cout<<"get_value:"<<pro<<" valueProp:"<<value<<endl;
    cout<<"get_value:"<<pro<<" valueBool:"<<mapBool[string(pro)]<<endl;
#endif			 
    return value;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
leaq 0x7(%rsp), %rdx
movq %r14, %rdi
callq 0x1a044
addq $0xc8, %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2503e
movq (%rax), %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24f1a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
testq %rbx, %rbx
je 0x24f24
movb 0x20(%rbx), %al
jmp 0x24f26
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24f4c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
movq %rbx, %rdi
callq 0x55c0
// File: /workspace/github_cpp_makefile_star2_O1/rcolomina[P]the_charmed_house/src/objeto.cpp
// Function: int Objeto::get_value<int>(char const*)
int Objeto::get_value<int>(const char* pro)
{			 
    pInt pI=map_pInts[string(pro)];
    int value=0; 
    if(pI!=NULL)
    {
        value=pI->Value();
    }
#ifdef _DEBUG
    cout<<"get_value:"<<pro<<" valueProp:"<<value<<endl;
    cout<<"get_value:"<<pro<<" valueInts:"<<map_pInts[string(pro)]<<endl;
#endif			 
    return value;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
leaq 0x7(%rsp), %rdx
movq %r14, %rdi
callq 0x1a044
addq $0x128, %rbx            # imm = 0x128
movq %rbx, %rdi
movq %r14, %rsi
callq 0x251b2
movq (%rax), %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24fa0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
testq %rbx, %rbx
je 0x24faa
movl 0x20(%rbx), %eax
jmp 0x24fac
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24fd2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
movq %rbx, %rdi
callq 0x55c0
// File: /workspace/github_cpp_makefile_star2_O1/rcolomina[P]the_charmed_house/src/operaciones.cpp
// Function: Ayuda::execute()
void Ayuda::execute(){

    cout<<"Comandos disponibles:"<<endl;
				 
    for(vector<string>::iterator it=v_comandos.begin();
        it!=v_comandos.end();
        it++)
    {
        cout<<*it<<" ";
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x1550e(%rip), %r14     # 0x3afc0
leaq 0x92d6(%rip), %rsi      # 0x2ed8f
movl $0x15, %edx
movq %r14, %rdi
callq 0x53a0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5300
movsbl %al, %esi
movq %r14, %rdi
callq 0x5050
movq %rax, %rdi
callq 0x5230
movq 0x28(%rbx), %r12
cmpq 0x30(%rbx), %r12
je 0x25b30
movq 0x154c2(%rip), %r14     # 0x3afc0
leaq 0x9b03(%rip), %r15      # 0x2f608
movq (%r12), %rsi
movq 0x8(%r12), %rdx
movq %r14, %rdi
callq 0x53a0
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x53a0
addq $0x20, %r12
cmpq 0x30(%rbx), %r12
jne 0x25b05
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/rcolomina[P]the_charmed_house/src/operaciones.cpp
// Function: Ver::execute()
void Ver::execute(){

    Logger::instance().log("Entering into Ver::execute() method ", Logger::kLogLevelInfo);

    cout<<"escenario actual address: "<<escena_actual<<endl;
    //cout<<escena_actual->
        
        
    string descripcion=(*escena_actual)->examine();
    descripcion+="\n";
    if((*escena_actual)->get_objetos_disponibles()!="")
    {
        descripcion+="Puedes ver los siguiente: ";
        descripcion+=(*escena_actual)->get_objetos_disponibles();
    }
    cout<<Color::cyan<<descripcion<<Color::def;	 
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
callq 0x20d18
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x9244(%rip), %rsi      # 0x2eda5
leaq 0x9261(%rip), %rdx      # 0x2edc9
leaq 0x8(%rsp), %rdi
callq 0x1a08c
leaq 0x1a79f(%rip), %rdx     # 0x40318
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x20f00
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x25b9d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0x1541c(%rip), %r14     # 0x3afc0
leaq 0x921f(%rip), %rsi      # 0x2edca
movl $0x1a, %edx
movq %r14, %rdi
callq 0x53a0
movq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0x5290
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5300
movsbl %al, %esi
movq %r14, %rdi
callq 0x5050
movq %rax, %rdi
callq 0x5230
movq 0x28(%rbx), %rax
movq (%rax), %rax
leaq 0x8(%rsp), %r14
movq %r15, (%r14)
movq 0x48(%rax), %rsi
movq 0x50(%rax), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x1a300
leaq 0x8a0b(%rip), %rsi      # 0x2e622
movq %r14, %rdi
callq 0x5620
movq 0x28(%rbx), %rax
movq (%rax), %rsi
leaq 0x28(%rsp), %rdi
callq 0x1affa
leaq 0x89ec(%rip), %rsi      # 0x2e623
leaq 0x28(%rsp), %r14
movq %r14, %rdi
callq 0x5110
movl %eax, %ebp
movq (%r14), %rdi
leaq 0x38(%rsp), %r14
cmpq %r14, %rdi
je 0x25c60
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5340
testl %ebp, %ebp
je 0x25cb1
leaq 0x917a(%rip), %rsi      # 0x2ede5
leaq 0x8(%rsp), %rdi
callq 0x5620
movq 0x28(%rbx), %rax
movq (%rax), %rsi
leaq 0x28(%rsp), %rdi
callq 0x1affa
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rdi
callq 0x5120
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x25cb1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5340
movq 0x15308(%rip), %rdi     # 0x3afc0
leaq 0x1ca11(%rip), %rsi     # 0x426d0
callq 0x278e2
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rax, %rdi
callq 0x53a0
leaq 0x1c9e3(%rip), %rsi     # 0x426c0
movq %rax, %rdi
callq 0x278e2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x25cfc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x25d31
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5340
jmp 0x25d31
jmp 0x25d2e
jmp 0x25d2e
jmp 0x25d2e
movq %rax, %rbx
jmp 0x25d48
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x25d48
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5340
movq %rbx, %rdi
callq 0x55c0
// File: /workspace/github_cpp_makefile_star2_O1/iZhangHui[P]CppPrimer/CH16_TemplatesAndGenericProgramming/exercises/ex16_22_main.cc
// Function: runQueries(std::basic_ifstream<char, std::char_traits<char>>&)
void runQueries(ifstream& infile)
{
	// infile is an ifstream that is the file we want to query
	TextQuery tq(infile);  // store the file and build the query map
	// iterate with the user: prompt for a word to find and print results
	while (true) {
		cout << "enter word to look for, or q to quit: ";
		string s;
		// stop if we hit end-of-file on the input or if a 'q' is entered
		if (!(cin >> s) || s == "q")
			break;
		// run the query and print the results
		print(cout, tq.query(s)) << endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rdi, %rsi
leaq -0xc8(%rbp), %rdi
callq 0x2868
leaq -0x38(%rbp), %r15
movq 0x5b4e(%rip), %r14      # 0x7fc8
leaq -0x48(%rbp), %r13
leaq -0x88(%rbp), %rbx
movq %rbx, %r12
movl $0x26, %edx
movq %r14, %rdi
leaq 0x2b6d(%rip), %rsi      # 0x5004
callq 0x21d0
movq %r15, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movb $0x0, -0x38(%rbp)
movq 0x5b25(%rip), %rdi      # 0x7fd8
movq %r13, %rsi
callq 0x2200
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
je 0x24d0
xorl %ebx, %ebx
jmp 0x2564
movq %r13, %rdi
leaq 0x2b51(%rip), %rsi      # 0x502b
callq 0x2080
testl %eax, %eax
je 0x24c9
movq %rbx, %rdi
leaq -0xc8(%rbp), %rsi
movq %r13, %rdx
callq 0x2bd0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3022
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x2538
callq 0x2748
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
je 0x2546
callq 0x2748
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x2562
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x21a0
movb $0x1, %bl
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x2579
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21a0
testb %bl, %bl
movq %r12, %rbx
jne 0x2488
leaq -0xb8(%rbp), %rbx
movq %rbx, %rdi
callq 0x27c2
movq -0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x25a1
callq 0x2748
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x25cb
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
callq 0x26d4
jmp 0x25ce
movq %rax, %rbx
jmp 0x25e3
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x25e3
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x21a0
leaq -0xc8(%rbp), %rdi
callq 0x271e
movq %rbx, %rdi
callq 0x2280
// File: /workspace/github_cpp_makefile_star2_O1/iZhangHui[P]CppPrimer/CH16_TemplatesAndGenericProgramming/exercises/ex16_22_main.cc
// Function: main
int main(int argc, char const *argv[])
{
	// open the file from which user will query words
	ifstream infile;
	// open returns void, so we use the comma operator XREF(commaOp)
	// to check the state of infile after the open
	if (argc < 2 || !(infile.open(argv[1]), infile)) {
		cerr << "No input file!" << endl;
		return EXIT_FAILURE;
	}
	runQueries(infile);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x210, %rsp            # imm = 0x210
movq %rsi, %rbx
movl %edi, %r14d
leaq -0x218(%rbp), %rdi
callq 0x21c0
cmpl $0x2, %r14d
jl 0x2647
movq 0x8(%rbx), %rsi
leaq -0x218(%rbp), %rdi
movl $0x8, %edx
callq 0x20d0
movq -0x218(%rbp), %rax
movq -0x18(%rax), %rax
testb $0x5, -0x1f8(%rbp,%rax)
je 0x26ac
movq 0x59a2(%rip), %rbx      # 0x7ff0
leaq 0x29d8(%rip), %rsi      # 0x502d
movl $0xe, %edx
movq %rbx, %rdi
callq 0x21d0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq 0x5970(%rip), %rdi      # 0x7ff0
callq 0x2030
movl $0x1, %ebx
movq %rax, %rdi
callq 0x2110
leaq -0x218(%rbp), %rdi
callq 0x2060
movl %ebx, %eax
addq $0x210, %rsp            # imm = 0x210
popq %rbx
popq %r14
popq %rbp
retq
xorl %ebx, %ebx
leaq -0x218(%rbp), %rdi
callq 0x244c
jmp 0x2692
movq %rax, %rbx
leaq -0x218(%rbp), %rdi
callq 0x2060
movq %rbx, %rdi
callq 0x2280
nop
// File: /workspace/github_cpp_makefile_star2_O1/iZhangHui[P]CppPrimer/CH16_TemplatesAndGenericProgramming/exercises/TextQuery.cc
// Function: TextQuery::display_map()
void TextQuery::display_map()
{
	// auto iter = wm.cbegin();
	// auto iter_end = wm.cend();
	for (auto iter = wm.cbegin(); iter != wm.cend(); ++iter) {
		cout << "word: " << iter->first << " {";
		// fetch location vector as a cosnt reference to avoid coping it
		auto text_locs = iter->second;
		auto loc_iter = text_locs->cbegin();
		auto loc_iter_end = text_locs->cend();
		// print all line number for this word
		while (loc_iter != loc_iter_end) {
			cout << *loc_iter;

			if (++loc_iter != loc_iter_end)
				cout << ", ";
		}
		cout << "}\n";
	}

	cout << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq 0x28(%rdi), %r14
addq $0x18, %rdi
movq %rdi, -0x38(%rbp)
cmpq %rdi, %r14
je 0x2fcb
movq 0x50dd(%rip), %r15      # 0x7fc8
leaq 0x2154(%rip), %r13      # 0x5046
movl $0x6, %edx
movq %r15, %rdi
leaq 0x213b(%rip), %rsi      # 0x503c
callq 0x21d0
movq 0x20(%r14), %rsi
movq 0x28(%r14), %rdx
movq %r15, %rdi
callq 0x21d0
movl $0x2, %edx
movq %rax, %rdi
leaq 0x211e(%rip), %rsi      # 0x5043
callq 0x21d0
movq 0x40(%r14), %r12
movq 0x48(%r14), %rax
movq %rax, -0x30(%rbp)
testq %rax, %rax
je 0x2f58
movq 0x507e(%rip), %rax      # 0x7fc0
cmpb $0x0, (%rax)
je 0x2f50
movq -0x30(%rbp), %rax
incl 0x8(%rax)
jmp 0x2f58
movq -0x30(%rbp), %rax
lock
incl 0x8(%rax)
movq 0x18(%r12), %rbx
addq $0x8, %r12
cmpq %r12, %rbx
je 0x2f94
movq 0x20(%rbx), %rsi
movq %r15, %rdi
callq 0x2100
movq %rbx, %rdi
callq 0x21e0
movq %rax, %rbx
cmpq %r12, %rax
je 0x2f61
movl $0x2, %edx
movq %r15, %rdi
movq %r13, %rsi
callq 0x21d0
jmp 0x2f61
movl $0x2, %edx
movq %r15, %rdi
leaq 0x20a6(%rip), %rsi      # 0x5049
callq 0x21d0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x2fb6
callq 0x2748
movq %r14, %rdi
callq 0x21e0
movq %rax, %r14
cmpq -0x38(%rbp), %rax
jne 0x2ef2
movq 0x4ff6(%rip), %rbx      # 0x7fc8
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2110
jmp 0x3009
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x301a
callq 0x2748
movq %rbx, %rdi
callq 0x2280
// File: /workspace/github_cpp_makefile_star2_O1/iZhangHui[P]CppPrimer/CH16_TemplatesAndGenericProgramming/exercises/TextQuery.cc
// Function: print(std::ostream&, QueryResult const&)
ostream& print(ostream& os, const QueryResult& qr)
{
	os << qr.sought << " occurs " << qr.lines->size() << " "
	   << "time(s)" << endl;

	// print each line in chich the word appeared
	for (auto num : *qr.lines) {
		os << "\t(line " << num + 1 << ") "
		   << *(qr.file->begin() + num) << endl;
	}

	return os;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rsi
movq 0x8(%r14), %rdx
callq 0x21d0
movq %rax, %r15
leaq 0x2000(%rip), %rsi      # 0x504c
movl $0x8, %edx
movq %rax, %rdi
callq 0x21d0
movq 0x20(%r14), %rax
movq 0x28(%rax), %rsi
movq %r15, %rdi
callq 0x2100
movq %rax, %r15
leaq 0x1ff3(%rip), %rsi      # 0x5066
movl $0x1, %edx
movq %rax, %rdi
callq 0x21d0
leaq 0x1fce(%rip), %rsi      # 0x5055
movl $0x7, %edx
movq %r15, %rdi
callq 0x21d0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %r14, -0x30(%rbp)
movq 0x20(%r14), %r13
movq 0x18(%r13), %r15
addq $0x8, %r13
cmpq %r13, %r15
je 0x316d
movq 0x20(%r15), %r14
movl $0x7, %edx
movq %rbx, %rdi
leaq 0x1f76(%rip), %rsi      # 0x505d
callq 0x21d0
leaq 0x1(%r14), %rsi
movq %rbx, %rdi
callq 0x2100
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
leaq 0x1f5b(%rip), %rsi      # 0x5065
callq 0x21d0
movq -0x30(%rbp), %rax
movq 0x30(%rax), %rax
movq (%rax), %rax
shlq $0x5, %r14
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
movq %r12, %rdi
callq 0x21d0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movq %r15, %rdi
callq 0x21e0
movq %rax, %r15
cmpq %r13, %rax
jne 0x30d4
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/Program.cpp
// Function: Program::readFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string Program::readFile (string fileName){
  ifstream file;
  string fileData = "";
  fileName_ = fileName;
  file.open (fileName.c_str());
  if (file.is_open()) {
    while (!file.eof()) {
      string temp;
      getline (file,temp);
      fileData += temp + "\n";
    }
    file.close();
  }
  else {
    cerr << "El fichero no existe" << endl;
  }
  return fileData;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x50(%rsp), %rdi
callq 0x53c0
leaq 0x10(%rbx), %r12
movq %r12, (%rbx)
leaq 0x12adc(%rip), %rdx     # 0x191ce
movq %rbx, %rdi
movq %rdx, %rsi
callq 0x80b2
addq $0x30, %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x51e0
movq (%r14), %rsi
leaq 0x50(%rsp), %r14
movq %r14, %rdi
movl $0x8, %edx
callq 0x5230
leaq 0xc8(%rsp), %rdi
callq 0x50c0
testb %al, %al
je 0x681a
movq %r12, 0x8(%rsp)
movq 0x50(%rsp), %rax
movq -0x18(%rax), %rcx
testb $0x2, 0x70(%rsp,%rcx)
jne 0x6809
addq $-0x18, %rax
leaq 0x20(%rsp), %rbp
leaq 0x40(%rsp), %r15
leaq 0x30(%rsp), %r12
leaq 0x12a64(%rip), %r13     # 0x191cd
movq %rbp, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x0, 0x20(%rsp)
movq (%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %edx
movq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0x55f0
movq %r15, 0x30(%rsp)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x63d2
movq %r12, %rdi
movq %r13, %rsi
callq 0x5630
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq %rbx, %rdi
callq 0x5100
movq 0x30(%rsp), %rdi
cmpq %r15, %rdi
je 0x67e2
callq 0x5330
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x67f1
callq 0x5330
movq 0x50(%rsp), %rax
movq -0x18(%rax), %rcx
addq $-0x18, %rax
testb $0x2, 0x70(%rsp,%rcx)
je 0x6769
leaq 0x50(%rsp), %rdi
movq 0x8(%rsp), %r12
callq 0x50a0
jmp 0x6860
movq 0x1c7cf(%rip), %r14     # 0x22ff0
leaq 0x12b20(%rip), %rsi     # 0x19348
movl $0x14, %edx
movq %r14, %rdi
callq 0x53d0
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq 0x1c79d(%rip), %rdi     # 0x22ff0
callq 0x5040
movq %rax, %rdi
callq 0x5270
leaq 0x50(%rsp), %rdi
callq 0x50d0
movq %rbx, %rax
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
jmp 0x68c7
movq %r12, 0x8(%rsp)
movq %rax, %r14
jmp 0x68b8
jmp 0x68a6
jmp 0x6892
movq %rax, %r14
movq 0x30(%rsp), %rdi
cmpq %r15, %rdi
je 0x68a9
callq 0x5330
jmp 0x68a9
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x68b8
callq 0x5330
movq (%rbx), %rdi
cmpq 0x8(%rsp), %rdi
je 0x68c7
callq 0x5330
leaq 0x50(%rsp), %rdi
callq 0x50d0
movq %r14, %rdi
callq 0x55c0
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/Program.cpp
// Function: Program::getTagFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string Program::getTagFromString(string data) {
    string result = "noTag";
    //cout << "Analize string for tag : " << endl << data << endl;
    if (data.find(":") != string::npos) {                                    // If there is a tag
      for (int i = 0; i < data.size(); i++) {
        if (data[i] == ':'){                                              // When we detect Tag
          int it = i;                                                // we create iterator to go backwards
          string tag;
          while(data[--it] == ' ' || data[it] == '\t' || data[it] == ':');                         // until we search any character to save the tag name
          while(data[it] != ' '  &&                                          // then we continue saving characters backwards until we reach space again
                data[it] != '\t' && it >= 0) {                                          // or tabulator.
             //cout << "We push : data[" << it << "] = " << data[it] << endl;
              tag.push_back(data[it--]);
          }
          reverse(tag.rbegin(), tag.rend());
          result = tag;
        }
      }
    }
    return result;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %r14
leaq 0x10(%rdi), %rax
movq %rax, 0x30(%rsp)
movq %rax, (%rdi)
leaq 0x11c3e(%rip), %rsi     # 0x19398
leaq 0x11c3c(%rip), %rdx     # 0x1939d
movq %rdi, 0x8(%rsp)
callq 0x80b2
leaq 0x12d9a(%rip), %rsi     # 0x1a50c
movl $0x1, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x55b0
cmpq $-0x1, %rax
je 0x7873
cmpq $0x0, 0x8(%r14)
je 0x7873
movq $-0x1, %rbx
leaq 0x20(%rsp), %rbp
xorl %r12d, %r12d
leaq 0x10(%rsp), %r15
movabsq $0x400000100000200, %r13 # imm = 0x400000100000200
movq (%r14), %rax
cmpb $0x3a, (%rax,%r12)
jne 0x7863
movq %rbp, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x0, 0x20(%rsp)
movq %rbx, %rbp
movzbl (%rax,%rbp), %ecx
cmpq $0x3a, %rcx
ja 0x77fb
btq %rcx, %r13
jae 0x77fb
decq %rbp
jmp 0x77d8
decq %rbp
movsbl %al, %esi
movq %r15, %rdi
callq 0x52f0
movq (%r14), %rax
movb (%rax,%rbp), %al
cmpb $0x20, %al
je 0x780e
testq %rbp, %rbp
js 0x780e
cmpb $0x9, %al
jne 0x77ed
movq 0x18(%rsp), %rax
cmpq $0x2, %rax
jl 0x7842
movq 0x10(%rsp), %rcx
addq %rcx, %rax
addq $0x2, %rcx
movb -0x1(%rax), %dl
movb -0x2(%rcx), %sil
movb %sil, -0x1(%rax)
decq %rax
movb %dl, -0x2(%rcx)
leaq 0x1(%rcx), %rdx
cmpq %rax, %rcx
movq %rdx, %rcx
jb 0x7825
movq 0x8(%rsp), %rdi
movq %r15, %rsi
leaq 0x20(%rsp), %rbp
callq 0x51e0
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7863
callq 0x5330
incq %r12
incq %rbx
cmpq %r12, 0x8(%r14)
ja 0x77b4
movq 0x8(%rsp), %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7889
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x78a0
callq 0x5330
movq 0x8(%rsp), %rax
movq (%rax), %rdi
cmpq 0x30(%rsp), %rdi
je 0x78b4
callq 0x5330
movq %r14, %rdi
callq 0x55c0
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/./Instruction.h
// Function: Instruction::Instruction()
Instruction () {
    line_ = -1;
    tag_ = "";
    op_ = "";
    type_ = '\0';
    operand_ = "";
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r12
leaq 0x8(%rdi), %rbx
leaq 0x18(%rdi), %rax
movq %rax, (%rsp)
movq %rax, 0x8(%rdi)
xorl %eax, %eax
movq %rax, 0x10(%rdi)
movb %al, 0x18(%rdi)
leaq 0x28(%rdi), %r14
leaq 0x38(%rdi), %rbp
movq %rbp, 0x28(%rdi)
movq %rax, 0x30(%rdi)
movb %al, 0x38(%rdi)
leaq 0x50(%rdi), %r15
leaq 0x60(%rdi), %r13
movq %r13, 0x50(%rdi)
movq %rax, 0x58(%rdi)
movb %al, 0x60(%rdi)
movl $0xffffffff, (%rdi)     # imm = 0xFFFFFFFF
leaq 0x113e2(%rip), %rcx     # 0x191ce
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %r8d, %r8d
callq 0x5520
movq 0x30(%r12), %rdx
leaq 0x113c7(%rip), %rcx     # 0x191ce
movq %r14, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
callq 0x5520
movb $0x0, 0x48(%r12)
movq 0x58(%r12), %rdx
leaq 0x113a8(%rip), %rcx     # 0x191ce
movq %r15, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
callq 0x5520
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r12
movq (%r15), %rdi
cmpq %r13, %rdi
je 0x7e52
callq 0x5330
movq (%r14), %rdi
cmpq %rbp, %rdi
je 0x7e5f
callq 0x5330
movq (%rbx), %rdi
cmpq (%rsp), %rdi
je 0x7e6d
callq 0x5330
movq %r12, %rdi
callq 0x55c0
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/RamMachine.cpp
// Function: RamMachine::RamMachine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int)
RamMachine::RamMachine(string in, string out, string program, int size)
{
  pc_ = 0;
  inTape_ = new ITape(in);
  outTape_ = new OTape(out);
  program_ = new Program(program);
  memory_ = new Memory(size);
  error_ = false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movl %r8d, 0x4(%rsp)
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %r13
movq %rdi, %r14
movl $0x0, 0x20(%rdi)
movl $0x40, %edi
callq 0x5350
movq %rax, %rbx
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x63d2
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x175b8
movq %rbx, (%r14)
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x156b8
callq 0x5330
movl $0x40, %edi
callq 0x5350
movq %rax, %rbx
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r12), %rsi
movq 0x8(%r12), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x63d2
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x17954
movq %rbx, 0x8(%r14)
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x15704
callq 0x5330
movl $0x50, %edi
callq 0x5350
movq %rax, %rbx
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x63d2
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x6464
movq %rbx, 0x18(%r14)
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1574f
callq 0x5330
movl $0x18, %edi
callq 0x5350
movq %rax, %rbx
movq %rax, %rdi
movl 0x4(%rsp), %esi
callq 0x17cbc
movq %rbx, 0x10(%r14)
movb $0x0, 0x24(%r14)
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x157b8
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
jne 0x157b1
jmp 0x157bb
jmp 0x157b8
movq %rax, %r14
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
jne 0x157b1
jmp 0x157bb
jmp 0x157b8
movq %rax, %r14
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x157bb
callq 0x5330
jmp 0x157bb
movq %rax, %r14
movq %rbx, %rdi
callq 0x5330
movq %r14, %rdi
callq 0x55c0
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/RamMachine.cpp
// Function: RamMachine::~RamMachine()
RamMachine::~RamMachine() {
  delete memory_;
  delete inTape_;
  delete outTape_;
  delete program_;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x10(%rdi), %r14
testq %r14, %r14
je 0x157ec
movq %r14, %rdi
callq 0x17cfa
movq %r14, %rdi
callq 0x5330
movq (%rbx), %r14
testq %r14, %r14
je 0x15804
movq %r14, %rdi
callq 0x1775a
movq %r14, %rdi
callq 0x5330
movq 0x8(%rbx), %r14
testq %r14, %r14
je 0x1581d
movq %r14, %rdi
callq 0x1798a
movq %r14, %rdi
callq 0x5330
movq 0x18(%rbx), %rbx
testq %rbx, %rbx
je 0x1583d
movq %rbx, %rdi
callq 0x6608
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x5330
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/RamMachine.cpp
// Function: RamMachine::jumpManager(Instruction*)
void RamMachine::jumpManager (Instruction* actual) {
  pc_ = program_->getLineByTag (actual->getOperand());
  if (pc_ == -1) {
    cout << "el Tag " << actual->getOperand () << " no se encuentra en el programa.\nSaliendo al menu..." << endl;
    error_ = true;
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x18(%rdi), %r15
leaq 0x30(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x50(%rsi), %rsi
movq 0x58(%r14), %rdx
addq %rsi, %rdx
leaq 0x20(%rsp), %r12
movq %r12, %rdi
callq 0x63d2
movq %r15, %rdi
movq %r12, %rsi
callq 0x7c5e
movl %eax, 0x20(%rbx)
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x16fe1
callq 0x5330
cmpl $-0x1, 0x20(%rbx)
jne 0x17085
movq 0xbfbe(%rip), %r15      # 0x22fb0
leaq 0x3555(%rip), %rsi      # 0x1a54e
movl $0x7, %edx
movq %r15, %rdi
callq 0x53d0
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x50(%r14), %rsi
movq 0x58(%r14), %rdx
addq %rsi, %rdx
movq %rsp, %r14
movq %r14, %rdi
callq 0x63d2
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %r15, %rdi
callq 0x53d0
movq %rax, %r14
leaq 0x3517(%rip), %rsi      # 0x1a556
movl $0x34, %edx
movq %rax, %rdi
callq 0x53d0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5270
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x17081
callq 0x5330
movb $0x1, 0x24(%rbx)
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
jne 0x170ae
jmp 0x170b3
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x170b3
callq 0x5330
movq %rbx, %rdi
callq 0x55c0
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/RamMachine.cpp
// Function: RamMachine::showActualState(Instruction*)
void RamMachine::showActualState (Instruction* actual) {
  cout << "Input tape:" << endl;
  inTape_->show();
  actual->show();
  memory_->show();
  cout << "Contenido de la cinta de salida: " ;
  outTape_->show();
  cout << endl << endl << "Pulse Enter para continuar..." << endl;
  cin.get();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r15
movq %rdi, %r14
movq 0xbee2(%rip), %rbx      # 0x22fb0
leaq 0x342d(%rip), %rsi      # 0x1a502
movl $0xb, %edx
movq %rbx, %rdi
callq 0x53d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5270
movq (%r14), %rdi
callq 0x17b88
movq %r15, %rdi
callq 0x7f8c
movq 0x10(%r14), %rdi
callq 0x17d54
leaq 0x33e5(%rip), %rsi      # 0x1a50e
movl $0x21, %edx
movq %rbx, %rdi
callq 0x53d0
movq 0x8(%r14), %rdi
callq 0x17b88
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5270
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5270
movq %rax, %rbx
leaq 0x3396(%rip), %rsi      # 0x1a530
movl $0x1d, %edx
movq %rax, %rdi
callq 0x53d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5270
movq 0xbe03(%rip), %rdi      # 0x22fd8
popq %rbx
popq %r14
popq %r15
jmp 0x5410
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/RamMachine.cpp
// Function: RamMachine::saveToOutputTape()
void RamMachine::saveToOutputTape () {
  outTape_->saveToFile();
  cout << "Pulse Enter para volver al menu..." << endl;
  cin.get();
  cin.get();
  system("clear");
}

// Assembly:
pushq %rbx
movq 0x8(%rdi), %rdi
callq 0x179de
movq 0xbdbf(%rip), %rbx      # 0x22fb0
leaq 0x2227(%rip), %rsi      # 0x1941f
movl $0x22, %edx
movq %rbx, %rdi
callq 0x53d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5270
movq 0xbda5(%rip), %rbx      # 0x22fd8
movq %rbx, %rdi
callq 0x5410
movq %rbx, %rdi
callq 0x5410
leaq 0x1ed3(%rip), %rdi      # 0x1911d
popq %rbx
jmp 0x52e0
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/ITape.cpp
// Function: ITape::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void ITape::load(string fileName) {
  inx_ = 0;
  fstream file;
  int num;
  fileName_ = fileName;
  file.open(fileName.c_str(), ios::in );

  if(file.is_open()) {
      nodes_.clear();
    while(file >> num){
      nodes_.push_back(num);
    }
    file.close();
  }
  else{
      cerr << "El fichero no existe" << endl;
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x220, %rsp            # imm = 0x220
movq %rsi, %r14
movq %rdi, %rbx
movl $0x0, 0x18(%rdi)
leaq 0x10(%rsp), %rdi
callq 0x5400
leaq 0x20(%rbx), %rdi
movq %r14, %rsi
callq 0x51e0
movq (%r14), %rsi
leaq 0x10(%rsp), %rdi
movl $0x8, %edx
callq 0x5320
leaq 0x90(%rsp), %rdi
callq 0x50c0
testb %al, %al
je 0x176d9
movq (%rbx), %rax
cmpq %rax, 0x8(%rbx)
je 0x1768f
movq %rax, 0x8(%rbx)
leaq 0x10(%rsp), %r14
leaq 0xc(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x5210
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x17721
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x176cc
movl 0xc(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x17699
movq %rbx, %rdi
movq %r15, %rdx
callq 0x1781e
jmp 0x17699
movq 0xb910(%rip), %rbx      # 0x22ff0
leaq 0x1c61(%rip), %rsi      # 0x19348
movl $0x14, %edx
movq %rbx, %rdi
callq 0x53d0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq 0xb8de(%rip), %rdi      # 0x22ff0
callq 0x5040
movq %rax, %rdi
callq 0x5270
jmp 0x1772b
leaq 0x10(%rsp), %rdi
callq 0x5080
leaq 0x10(%rsp), %rdi
callq 0x50b0
addq $0x220, %rsp            # imm = 0x220
popq %rbx
popq %r14
popq %r15
retq
jmp 0x17744
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x50b0
movq %rbx, %rdi
callq 0x55c0
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/ITape.cpp
// Function: ITape::read()
int ITape::read()
{
  if (inx_ < nodes_.size())
      return nodes_[inx_++];
  else
      return 0;
}

// Assembly:
movl 0x18(%rdi), %ecx
movq (%rdi), %rdx
movq 0x8(%rdi), %rsi
subq %rdx, %rsi
sarq $0x2, %rsi
xorl %eax, %eax
cmpq %rcx, %rsi
jbe 0x17795
leal 0x1(%rcx), %eax
movl %eax, 0x18(%rdi)
movl (%rdx,%rcx,4), %eax
retq
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/OTape.cpp
// Function: OTape::saveToFile()
void OTape::saveToFile() {
  ofstream outFile;
  outFile.open(fileName_.c_str());
  char option;
  cout << "¿Desea ver el contenido que se va a volcar en la cinta de salida? (s/n): " ;
  cin >> option;
  if (option == 's')
     show();

  for(int i = 0; i < nodes_.size(); i++) {
    outFile << nodes_[i] << " ";
  }
  outFile.close();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x5580
movq 0x20(%rbx), %rsi
movq %r14, %rdi
movl $0x10, %edx
callq 0x5070
movq 0xb59c(%rip), %rdi      # 0x22fb0
leaq 0x2b75(%rip), %rsi      # 0x1a590
movl $0x4a, %edx
callq 0x53d0
movq 0xb5ac(%rip), %rdi      # 0x22fd8
leaq 0x7(%rsp), %rsi
callq 0x5460
cmpb $0x73, 0x7(%rsp)
jne 0x17a45
movq %rbx, %rdi
callq 0x17b88
movq (%rbx), %rax
cmpq %rax, 0x8(%rbx)
je 0x17a8f
xorl %r12d, %r12d
leaq 0x8(%rsp), %r14
leaq 0x2b96(%rip), %r15      # 0x1a5f3
movl (%rax,%r12,4), %esi
movq %r14, %rdi
callq 0x55a0
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x53d0
incq %r12
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %r12, %rcx
ja 0x17a5d
leaq 0x8(%rsp), %rdi
callq 0x54a0
movq 0xb4f0(%rip), %rax      # 0x22f90
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x10(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x8(%rsp,%rcx)
callq 0x52d0
leaq 0x100(%rsp), %rdi
callq 0x5120
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x17ade
jmp 0x17ade
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x54f0
movq %rbx, %rdi
callq 0x55c0
nop
// File: /workspace/github_cpp_makefile_star2_O1/Cicko[P]Ram-Machine/Tape.cpp
// Function: Tape::show()
void Tape::show()
{
  cout << "[" ;
  for (int i = 0; i < nodes_.size(); i++)
  {
    cout << " " << nodes_[i];
    if (i < nodes_.size()-1) {
      cout << ",";
    }
  }
  cout << "]" << endl;
  cout << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0xb413(%rip), %rbx      # 0x22fb0
leaq 0x18b5(%rip), %rsi      # 0x19459
movl $0x1, %edx
movq %rbx, %rdi
callq 0x53d0
movq 0x8(%r14), %rax
cmpq (%r14), %rax
je 0x17c25
xorl %ebp, %ebp
movq 0xb3ed(%rip), %r15      # 0x22fb0
leaq 0x2a29(%rip), %r12      # 0x1a5f3
leaq 0x2a0a(%rip), %r13      # 0x1a5db
movl $0x1, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x53d0
movq (%r14), %rax
movl (%rax,%rbp,4), %esi
movq %r15, %rdi
callq 0x55a0
movq 0x8(%r14), %rax
subq (%r14), %rax
sarq $0x2, %rax
decq %rax
cmpq %rbp, %rax
jbe 0x17c12
movl $0x1, %edx
movq %r15, %rdi
movq %r13, %rsi
callq 0x53d0
incq %rbp
movq 0x8(%r14), %rax
subq (%r14), %rax
sarq $0x2, %rax
cmpq %rbp, %rax
ja 0x17bd1
leaq 0x1776(%rip), %rsi      # 0x193a2
movl $0x1, %edx
movq %rbx, %rdi
callq 0x53d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5270
nop
// File: /workspace/github_cpp_makefile_star2_O1/Nallantli[P]Rossa/main/rossa/parser/parser.cpp
// Function: parser_t::compileCode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::filesystem::__cxx11::path const&)
const ptr_node_t parser_t::compileCode(const std::string &code, const std::filesystem::path &currentFile)
{
	auto tokens = lexString(code, currentFile);
	node_parser_t testnp(tokens, currentFile);
	auto n = testnp.parse(&this->scopes, &this->consts);
	// fold twice (temporary) to refold constants
	return n->fold(this->consts)->fold(this->consts);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rcx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x28(%rsp), %r12
movq %r12, %rdi
movq %rdx, %rsi
movq %rcx, %rdx
callq 0x2391f
leaq 0x40(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x255c8
leaq 0x18(%r14), %rdx
leaq 0x18(%rsp), %rdi
leaq 0x40(%rsp), %rsi
movq %r14, %rcx
callq 0x37146
movq 0x18(%rsp), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
movq %r14, %rdx
callq *0x18(%rax)
movq 0x8(%rsp), %rsi
movq (%rsi), %rax
movq %rbx, %rdi
movq %r14, %rdx
callq *0x18(%rax)
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1f2d3
callq 0x1e6ee
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1f2e2
callq 0x1e6ee
leaq 0x100(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1f303
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0xd0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1f324
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x103d0
leaq 0x98(%rsp), %rdi
callq 0x1d736
leaq 0x68(%rsp), %rdi
callq 0x1d736
leaq 0x50(%rsp), %rdi
callq 0x20ba4
leaq 0x28(%rsp), %rdi
callq 0x20ba4
movq %rbx, %rax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1f378
callq 0x1e6ee
jmp 0x1f378
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1f38c
callq 0x1e6ee
jmp 0x1f38c
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x20b44
jmp 0x1f39b
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x20ba4
movq %rbx, %rdi
callq 0x106f0
nop
// File: /workspace/github_cpp_makefile_star2_O1/Nallantli[P]Rossa/main/rossa/function/function.cpp
// Function: function_evaluate_vargs(std::shared_ptr<function_t> const&, std::vector<symbol_t, std::allocator<symbol_t>> const&, token_t const*, std::vector<std::pair<token_t, function_t>, std::allocator<std::pair<token_t, function_t>>>&)
const symbol_t function_evaluate_vargs(const ptr_function_t &function, const std::vector<symbol_t> &paramValues, const token_t *token, trace_t &stack_trace)
{
	object_t p(function->parent, object_type_enum::OBJECT_WEAK);
	const object_t newScope(&p, 0);

	newScope.createVariable(parser_t::HASH_VAR_ARGS, symbol_t::Array(paramValues), token);

	for (const std::pair<const hash_ull, const symbol_t> &e : function->captures)
	{
		newScope.createVariable(e.first, e.second, token);
	}

	symbol_t temp = function->body->evaluate(&newScope, stack_trace);

	if (temp.getSymbolType() == symbol_t::type_t::ID_REFER)
	{
		temp.setSymbolType(symbol_t::type_t::ID_CASUAL);

		stack_trace.pop_back();
		return temp;
	}

	const symbol_t ret = symbol_t();
	ret.set(&temp, token, stack_trace);

	stack_trace.pop_back();
	return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %r8, %r14
movq %rcx, %r15
movq %rdx, %r13
movq %rsi, %r12
movq %rdi, %rbx
movq (%rsi), %rax
movq 0x18(%rax), %rsi
leaq 0x18(%rsp), %rdx
movl $0x0, (%rdx)
leaq 0x38(%rsp), %rbp
movq %rbp, %rdi
callq 0x3cee4
leaq 0x8(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x3cf90
leaq 0x8(%rsp), %rdi
movq %r13, %rsi
callq 0x40474
movq %rbx, 0x28(%rsp)
leaq 0x92b32(%rip), %rsi     # 0xb79f8
leaq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rdx
movq %r15, %rcx
callq 0x3d512
leaq 0x8(%rsp), %rdi
callq 0x404da
movq (%r12), %rbx
movq 0x60(%rbx), %r13
addq $0x50, %rbx
cmpq %rbx, %r13
je 0x24f1b
leaq 0x18(%rsp), %rbp
leaq 0x20(%r13), %rsi
leaq 0x28(%r13), %rdx
movq %rbp, %rdi
movq %r15, %rcx
callq 0x3d512
movq %r13, %rdi
callq 0x104b0
movq %rax, %r13
cmpq %rbx, %rax
jne 0x24ef8
movq (%r12), %rax
movq 0x38(%rax), %rsi
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movq %r14, %rcx
callq *(%rax)
leaq 0x8(%rsp), %rdi
callq 0x40b02
movq 0x28(%rsp), %rbx
cmpl $0x4, %eax
jne 0x24f81
leaq 0x34(%rsp), %rsi
movl $0x3, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x40b06
movq $-0x100, %rdi
addq 0x8(%r14), %rdi
movq %rdi, 0x8(%r14)
callq 0x1ecd8
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x404c8
jmp 0x24fb0
movq %rbx, %rdi
callq 0x400a4
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x40674
movq $-0x100, %rdi
addq 0x8(%r14), %rdi
movq %rdi, 0x8(%r14)
callq 0x1ecd8
leaq 0x8(%rsp), %rdi
callq 0x404da
leaq 0x18(%rsp), %rdi
callq 0x3d168
leaq 0x38(%rsp), %rdi
callq 0x3d168
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq %rbx, %rdi
callq 0x404da
jmp 0x24ffd
jmp 0x24ffa
jmp 0x25009
jmp 0x24ffa
jmp 0x25009
movq %rax, %r14
jmp 0x25016
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x404da
jmp 0x2500c
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x3d168
leaq 0x38(%rsp), %rdi
callq 0x3d168
movq %r14, %rdi
callq 0x106f0
// File: /workspace/github_cpp_makefile_star2_O1/Nallantli[P]Rossa/main/rossa/node_parser/node_parser.cpp
// Function: node_parser_t::nextToken()
void node_parser_t::nextToken()
{
	if (index < this->tokens.size())
		currentToken = this->tokens.at(index++);
	else
		currentToken = token_t();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rdi, %rbx
movl 0x50(%rdi), %r15d
movq 0x10(%rdi), %r12
movq 0x18(%rdi), %rax
subq %r12, %rax
sarq $0x7, %rax
cmpq %r15, %rax
jbe 0x256e7
leal 0x1(%r15), %eax
movl %eax, 0x50(%rbx)
shlq $0x7, %r15
leaq (%r12,%r15), %rsi
leaq 0x58(%rbx), %rdi
callq 0x105c0
leaq 0x80(%rbx), %rdi
leaq (%r12,%r15), %r14
addq $0x28, %r14
movq %r14, %rsi
callq 0x10210
movups 0x20(%r14), %xmm0
movups %xmm0, 0xa0(%rbx)
leaq 0xb0(%rbx), %rdi
leaq (%r12,%r15), %r14
addq $0x58, %r14
movq %r14, %rsi
callq 0x10210
movl 0x20(%r14), %eax
movl %eax, 0xd0(%rbx)
jmp 0x257d6
xorps %xmm0, %xmm0
movq %rsp, %r12
movaps %xmm0, 0x70(%r12)
movaps %xmm0, 0x60(%r12)
movaps %xmm0, 0x50(%r12)
movaps %xmm0, 0x40(%r12)
movaps %xmm0, 0x30(%r12)
movaps %xmm0, 0x20(%r12)
movaps %xmm0, 0x10(%r12)
movaps %xmm0, (%r12)
movq %r12, %rdi
callq 0x251b8
leaq 0x28(%rsp), %r14
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
xorl %eax, %eax
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0x58(%rsp), %r15
leaq 0x68(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rax, -0x8(%rbp)
movb %al, (%rbp)
movl $0x0, 0x10(%rbp)
leaq 0x58(%rbx), %rdi
cmpq %rdi, %r12
je 0x2576c
movq %rsp, %rsi
movq %rbx, %rdx
callq 0x1089c
leaq 0x80(%rbx), %rdi
movq %r14, %rsi
callq 0x104f0
movups 0x48(%rsp), %xmm0
movups %xmm0, 0xa0(%rbx)
leaq 0xb0(%rbx), %rdi
movq %r15, %rsi
callq 0x104f0
movl 0x78(%rsp), %eax
movl %eax, 0xd0(%rbx)
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x257b7
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x103d0
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x257ce
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x103d0
movq %rsp, %rdi
callq 0x1d736
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/Nallantli[P]Rossa/main/rossa/node_parser/node_parser.cpp
// Function: node_parser_t::parseBIDNode(std::vector<node_scope_t, std::allocator<node_scope_t>>*)
ptr_node_t node_parser_t::parseBIDNode(std::vector<node_scope_t> *scopes)
{
	if (currentToken.type == TOK_IDF)
	{
		return parseIDNode(scopes);
	}
	auto n = std::make_shared<BIDNode>(*scopes, currentToken.valueString, currentToken);
	nextToken();
	return n;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdx, %rcx
movq %rsi, %r14
movq %rdi, %rbx
cmpl $-0x2, 0xd0(%rsi)
jne 0x25e65
movq %rbx, %rdi
movq %r14, %rsi
movq %rcx, %rdx
callq 0x25d4e
jmp 0x25eb0
leaq 0x58(%r14), %r9
leaq 0xb0(%r14), %r8
leaq 0x10(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x8(%rsp), %rsi
leaq 0x7(%rsp), %rdx
callq 0x38150
movq %r14, %rdi
callq 0x2565a
movq 0x8(%rsp), %rax
movq %rax, (%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq 0x10(%rsp), %rcx
movq %rax, 0x10(%rsp)
movq %rcx, 0x8(%rbx)
movq %rbx, %rax
addq $0x18, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x25ecd
callq 0x1e6ee
movq %rbx, %rdi
callq 0x106f0
nop