LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: dannycalegari[P]circle_pack/./Trigonometry_routine.cc
// Function: Matrix::operator*(Matrix)
Matrix operator*(Matrix M){
			Matrix N;
			int i,j;
			vector<double> row;
			for(i=0;i<3;i++){
				row.clear();
				for(j=0;j<3;j++){
					row.push_back(e[i][0]*M.e[0][j]+e[i][1]*M.e[1][j]+e[i][2]*M.e[2][j]);
				};
				N.e.push_back(row);
			};
			return(N);
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdx, -0x78(%rbp)
movq %rdi, -0x70(%rbp)
movq %rdi, %rax
movq %rax, -0x68(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movb $0x0, -0x19(%rbp)
callq 0xa290
leaq -0x40(%rbp), %rdi
callq 0xa2d0
movl $0x0, -0x20(%rbp)
cmpl $0x3, -0x20(%rbp)
jge 0xabea
leaq -0x40(%rbp), %rdi
callq 0xa2f0
movl $0x0, -0x24(%rbp)
cmpl $0x3, -0x24(%rbp)
jge 0xabcb
movq -0x60(%rbp), %rdi
movslq -0x20(%rbp), %rsi
callq 0xa250
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0xb8(%rbp)
callq 0xa270
movq -0xb8(%rbp), %rsi
movq -0x78(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xa0(%rbp)
callq 0xa250
movq %rax, %rdi
movslq -0x24(%rbp), %rsi
callq 0xa270
movq -0x60(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x98(%rbp)
movslq -0x20(%rbp), %rsi
callq 0xa250
movq %rax, %rdi
movl $0x1, %esi
movq %rsi, -0xb0(%rbp)
callq 0xa270
movq -0xb0(%rbp), %rsi
movq -0x78(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0xa8(%rbp)
callq 0xa250
movq %rax, %rdi
movslq -0x24(%rbp), %rsi
callq 0xa270
movsd -0xa8(%rbp), %xmm1
movsd -0xa0(%rbp), %xmm0
movsd -0x98(%rbp), %xmm2
movq -0x60(%rbp), %rdi
movsd (%rax), %xmm3
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movslq -0x20(%rbp), %rsi
callq 0xa250
movq %rax, %rdi
movl $0x2, %esi
movq %rsi, -0x90(%rbp)
callq 0xa270
movq -0x78(%rbp), %rdi
movq -0x90(%rbp), %rsi
movsd (%rax), %xmm0
movsd %xmm0, -0x88(%rbp)
callq 0xa250
movq %rax, %rdi
movslq -0x24(%rbp), %rsi
callq 0xa270
movsd -0x88(%rbp), %xmm0
movsd -0x80(%rbp), %xmm1
movsd (%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xa310
jmp 0xab9b
jmp 0xab9d
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xaa51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xa3b0
movq -0x70(%rbp), %rdi
callq 0xa410
jmp 0xac13
movq -0x70(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xa340
jmp 0xabda
jmp 0xabdc
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xaa37
movb $0x1, -0x19(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xa3b0
testb $0x1, -0x19(%rbp)
jne 0xac06
movq -0x70(%rbp), %rdi
callq 0xa410
movq -0x68(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x23c0
nopl (%rax)
// File: dannycalegari[P]circle_pack/./Trigonometry_routine.cc
// Function: Matrix::hyp_inv()
Matrix hyp_inv(){	// inverse of M is JM^TJ
			Matrix N;
			int i;
			N=transpose();
			for(i=0;i<3;i++){
				N.e[i][2]=-N.e[i][2];
			};
			for(i=0;i<3;i++){
				N.e[2][i]=-N.e[2][i];
			};
			return(N);
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x58(%rbp)
movq %rdi, %rax
movq %rax, -0x50(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movb $0x0, -0x11(%rbp)
callq 0xa290
movq -0x48(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0xc550
jmp 0xac8b
movq -0x58(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xa690
leaq -0x30(%rbp), %rdi
callq 0xa410
movl $0x0, -0x18(%rbp)
cmpl $0x3, -0x18(%rbp)
jge 0xad34
movq -0x58(%rbp), %rdi
movslq -0x18(%rbp), %rsi
callq 0xa250
movq %rax, %rdi
movl $0x2, %esi
callq 0xa270
movq -0x58(%rbp), %rdi
movsd (%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x60(%rbp)
movslq -0x18(%rbp), %rsi
callq 0xa250
movq %rax, %rdi
movl $0x2, %esi
callq 0xa270
movsd -0x60(%rbp), %xmm0
movsd %xmm0, (%rax)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xaca8
movq -0x58(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
callq 0xa410
jmp 0xadc6
movl $0x0, -0x18(%rbp)
cmpl $0x3, -0x18(%rbp)
jge 0xada9
movq -0x58(%rbp), %rdi
movl $0x2, %esi
callq 0xa250
movq %rax, %rdi
movslq -0x18(%rbp), %rsi
callq 0xa270
movq -0x58(%rbp), %rdi
movsd (%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0x68(%rbp)
movl $0x2, %esi
callq 0xa250
movq %rax, %rdi
movslq -0x18(%rbp), %rsi
callq 0xa270
movsd -0x68(%rbp), %xmm0
movsd %xmm0, (%rax)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xad3b
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0xadbc
movq -0x58(%rbp), %rdi
callq 0xa410
movq -0x50(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x23c0
nop
// File: dannycalegari[P]circle_pack/./Packing.cc
// Function: Packing::toggle_verbose()
void toggle_verbose(){			// toggle verbose flag
			if(verbose==true){
				verbose=false;
			} else {
				verbose=true;
			};
			cout << "verbose is " << verbose << ".\n";
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movb 0xb8(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0xaeb1
movq -0x10(%rbp), %rax
movb $0x0, 0xb8(%rax)
jmp 0xaebc
movq -0x10(%rbp), %rax
movb $0x1, 0xb8(%rax)
movq 0xd10d(%rip), %rdi      # 0x17fd0
leaq 0x6bbb(%rip), %rsi      # 0x11a85
callq 0x21f0
movq %rax, %rdi
movq -0x10(%rbp), %rax
movb 0xb8(%rax), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x23d0
movq %rax, %rdi
leaq 0x63fe(%rip), %rsi      # 0x112ee
callq 0x21f0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: dannycalegari[P]circle_pack/./Trigonometry_routine.cc
// Function: Matrix::transpose()
Matrix transpose(){
			Matrix N;
			int i,j;
			vector<double> row;
			for(i=0;i<3;i++){
				row.clear();
				for(j=0;j<3;j++){	// ith column of matrix
					row.push_back(e[j][i]);
				};
				N.e.push_back(row);	// is made into ith row of result
			};
			return(N);
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x60(%rbp)
movq %rdi, %rax
movq %rax, -0x58(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movb $0x0, -0x11(%rbp)
callq 0xa290
leaq -0x38(%rbp), %rdi
callq 0xa2d0
movl $0x0, -0x18(%rbp)
cmpl $0x3, -0x18(%rbp)
jge 0xc61f
leaq -0x38(%rbp), %rdi
callq 0xa2f0
movl $0x0, -0x1c(%rbp)
cmpl $0x3, -0x1c(%rbp)
jge 0xc600
movq -0x50(%rbp), %rdi
movslq -0x1c(%rbp), %rsi
callq 0xa250
movq %rax, %rdi
movslq -0x18(%rbp), %rsi
callq 0xa270
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0xa430
jmp 0xc5d3
jmp 0xc5d5
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xc5a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xa3b0
movq -0x60(%rbp), %rdi
callq 0xa410
jmp 0xc645
movq -0x60(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0xa340
jmp 0xc60f
jmp 0xc611
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xc58c
movb $0x1, -0x11(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xa3b0
testb $0x1, -0x11(%rbp)
jne 0xc63b
movq -0x60(%rbp), %rdi
callq 0xa410
movq -0x58(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x23c0
nop
// File: rcolomina[P]the_charmed_house/src/abstract_creator.cpp
// Function: AbstractGameCreator::getInfoList[abi:cxx11](TiXmlNode* const&, InfoClass const&)
vector<std::string> AbstractGameCreator::getInfoList(const pNode &parent,const InfoClass &info)
{

     std::vector<std::string> output;
     pNode child = 0;
     while((child = parent->IterateChildren(child)))
     {
	  string value_text;
	  if(info==Name)
	       value_text = child->Value();
	  else if(info==Text){
	       pElem temp = child->ToElement();
	       value_text = temp->GetText();
	  }								 
	  output.push_back(value_text);
     }
     return output;	  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x78(%rbp)
movq %rdi, %rax
movq %rax, -0x70(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movb $0x0, -0x21(%rbp)
callq 0x297d0
movq $0x0, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x30(%rbp), %rsi
callq 0x297f0
movq %rax, -0x80(%rbp)
jmp 0x294cd
movq -0x80(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x295b1
leaq -0x60(%rbp), %rdi
callq 0x5540
movq -0x20(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x29542
movq -0x30(%rbp), %rdi
callq 0x29820
movq %rax, -0x88(%rbp)
jmp 0x29503
movq -0x88(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x5530
jmp 0x29515
jmp 0x29594
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x295d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5748
jmp 0x295d1
movq -0x20(%rbp), %rax
cmpl $0x1, (%rax)
jne 0x29592
movq -0x30(%rbp), %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movq %rax, -0x90(%rbp)
jmp 0x29561
movq -0x90(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x48ec0
movq %rax, -0x98(%rbp)
jmp 0x2957e
movq -0x98(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x5530
jmp 0x29590
jmp 0x29592
jmp 0x29594
movq -0x78(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x29840
jmp 0x295a3
leaq -0x60(%rbp), %rdi
callq 0x5748
jmp 0x294b7
movb $0x1, -0x21(%rbp)
testb $0x1, -0x21(%rbp)
jne 0x295c4
movq -0x78(%rbp), %rdi
callq 0x298b0
movq -0x70(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x78(%rbp), %rdi
callq 0x298b0
movq -0x38(%rbp), %rdi
callq 0x56c0
nopw %cs:(%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/abstract_creator.cpp
// Function: AbstractGameCreator::searchForGame(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
pElem AbstractGameCreator::searchForGame(const string &name){
     // Looking for the Element Items
     pNode node=NULL;
     node = xmlDoc.FirstChild("games");
     assert(node);	  
     TiXmlHandle docHandle(node);
     pElem elem = docHandle.FirstChild("game").FirstChild(name.c_str()).ToElement();
     return elem;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq $0x0, -0x18(%rbp)
addq $0x8, %rdi
leaq 0x269ed(%rip), %rsi     # 0x50004
callq 0x29910
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x29629
jmp 0x29648
leaq 0x269da(%rip), %rdi     # 0x5000a
leaq 0x269d8(%rip), %rsi     # 0x5000f
movl $0x1a, %edx
leaq 0x269e5(%rip), %rcx     # 0x50028
callq 0x5250
movq -0x18(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x29940
leaq -0x38(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq 0x269fd(%rip), %rdx     # 0x50061
callq 0x4a8e0
movq -0x10(%rbp), %rdi
callq 0x5170
movq %rax, %rdx
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x4a8e0
leaq -0x30(%rbp), %rdi
callq 0x29960
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: rcolomina[P]the_charmed_house/src/abstract_creator.cpp
// Function: AbstractGameCreator::searchForId(TiXmlElement* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
pElem AbstractGameCreator::searchForId(const pElem &parent,const std::string &id){

     pNode child = 0;
     while((child = parent->IterateChildren(child)))
     {
	  pElem temp = child->ToElement();
	  string value_attribute = temp->Attribute("id");
	  if(id.compare(value_attribute)==0 )
	  {
	       return temp;
	  }
     }	  
     return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x28(%rbp), %rsi
callq 0x297f0
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x297a4
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
leaq 0x26994(%rip), %rsi     # 0x5008d
callq 0x48430
movq %rax, -0x78(%rbp)
leaq -0x51(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x56d0
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
leaq -0x50(%rbp), %rdi
callq 0x299c0
jmp 0x29722
leaq -0x51(%rbp), %rdi
callq 0x5420
movq -0x20(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x5050
movl %eax, -0x7c(%rbp)
jmp 0x2973d
movl -0x7c(%rbp), %eax
cmpl $0x0, %eax
jne 0x29784
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x1, -0x68(%rbp)
jmp 0x2978b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x51(%rbp), %rdi
callq 0x5420
jmp 0x297b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5748
jmp 0x297b9
movl $0x0, -0x68(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5748
movl -0x68(%rbp), %eax
testl %eax, %eax
je 0x2979f
jmp 0x2979d
jmp 0x297ac
jmp 0x296bf
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x56c0
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: rcolomina[P]the_charmed_house/src/distance.cpp
// Function: DistLevenshtein::calculate()
int DistLevenshtein::calculate()
{
    const char *s=s1.c_str();
    const char *t=s2.c_str();
    const int len_s = s1.size();
    const int len_t = s2.size();
			
    return this->LevenshteinDistance(s,len_s,t,len_t);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x28(%rbp)
callq 0x5170
movq -0x28(%rbp), %rdi
movq %rax, -0x10(%rbp)
addq $0x20, %rdi
callq 0x5170
movq -0x28(%rbp), %rdi
movq %rax, -0x18(%rbp)
callq 0x5290
movq -0x28(%rbp), %rdi
movl %eax, -0x1c(%rbp)
addq $0x20, %rdi
callq 0x5290
movq -0x28(%rbp), %rdi
movl %eax, -0x20(%rbp)
movq -0x10(%rbp), %rsi
movl -0x1c(%rbp), %edx
movq -0x18(%rbp), %rcx
movl -0x20(%rbp), %r8d
callq 0x2c2f0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/distance.cpp
// Function: DistLevenshtein::LevenshteinDistance(char const*, int, char const*, int)
int DistLevenshtein::LevenshteinDistance(const char *s, const int len_s, const char *t, const int len_t)
{
    int cost;

    /* base case: empty strings */
    if (len_s == 0)
        return len_t;
    if (len_t == 0)
        return len_s;

    /* test if last characters of the strings match */
    if (s[len_s-1] == t[len_t-1])
        cost = 0;
    else
        cost = 1;

    /* return minimum of delete char from s, delete char from t, and delete char from both */
    return min(this->LevenshteinDistance(s,len_s-1,t,len_t)+1, min(
                   this->LevenshteinDistance(s,len_s,t,len_t-1)+1,
                   this->LevenshteinDistance(s,len_s-1,t,len_t-1)+cost));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movl %r8d, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x2c324
movl -0x2c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x2c3f1
cmpl $0x0, -0x2c(%rbp)
jne 0x2c335
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x2c3f1
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movq -0x28(%rbp), %rcx
movl -0x2c(%rbp), %edx
subl $0x1, %edx
movslq %edx, %rdx
movsbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
jne 0x2c364
movl $0x0, -0x30(%rbp)
jmp 0x2c36b
movl $0x1, -0x30(%rbp)
movq -0x48(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %edx
subl $0x1, %edx
movq -0x28(%rbp), %rcx
movl -0x2c(%rbp), %r8d
callq 0x2c2f0
movq -0x48(%rbp), %rdi
addl $0x1, %eax
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %edx
movq -0x28(%rbp), %rcx
movl -0x2c(%rbp), %r8d
subl $0x1, %r8d
callq 0x2c2f0
movq -0x48(%rbp), %rdi
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %edx
subl $0x1, %edx
movq -0x28(%rbp), %rcx
movl -0x2c(%rbp), %r8d
subl $0x1, %r8d
callq 0x2c2f0
addl -0x30(%rbp), %eax
movl %eax, -0x3c(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
callq 0x2c400
movq %rax, %rsi
leaq -0x34(%rbp), %rdi
callq 0x2c400
movl (%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/escenario.cpp
// Function: Escenario::get_existe_objeto_escenario(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool Escenario::get_existe_objeto_escenario(string nombre){
	 
     for(auto it=objetos.begin();
	 it!=objetos.end();
	 it++)
     {
	  bool matchName = (it->first==nombre);
	  bool isVisible =it->second->get_value<bool>("visibility");
			 
	  if(matchName and isVisible)
	       return true;
			 
//	 		 if(it->first==nombre and it->second->get_value<bool>("visibility"))
//					return true;
     }
     return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rsi, -0x48(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x40(%rbp)
addq $0xe8, %rdi
callq 0x2d650
movq %rax, -0x20(%rbp)
movq -0x40(%rbp), %rdi
addq $0xe8, %rdi
callq 0x2d6b0
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x2c853
jmp 0x2c8b3
leaq -0x20(%rbp), %rdi
callq 0x2d770
movq -0x48(%rbp), %rsi
movq %rax, %rdi
callq 0x2d6e0
andb $0x1, %al
movb %al, -0x29(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rdi
leaq 0x23838(%rip), %rsi     # 0x500b9
callq 0x41690
andb $0x1, %al
movb %al, -0x2a(%rbp)
testb $0x1, -0x29(%rbp)
je 0x2c89d
testb $0x1, -0x2a(%rbp)
je 0x2c89d
movb $0x1, -0x1(%rbp)
jmp 0x2c8b7
jmp 0x2c89f
leaq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x2d790
movq %rax, -0x38(%rbp)
jmp 0x2c82c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/escenario.cpp
// Function: Escenario::get_objetos_disponibles[abi:cxx11]()
string Escenario::get_objetos_disponibles(){

     string lista_objetos="";
     //Recorrer map
     for(map<string,Objeto*>::iterator it=objetos.begin();
	 it!=objetos.end();it++)
     {
	  if(it!=objetos.begin())
	  {
	       lista_objetos+=",";
	  }	  
	       
	  if(it->second->get_value<bool>("visibility"))
	       lista_objetos+=it->first;
     }
     if(lista_objetos=="")
	  return string("");
     else
	  return lista_objetos;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x90(%rbp)
movq %rdi, %rax
movq %rax, -0x88(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x56d0
movq -0x78(%rbp), %rdx
leaq 0x23d27(%rip), %rsi     # 0x5063b
leaq -0x30(%rbp), %rdi
callq 0x299c0
jmp 0x2c91f
leaq -0x31(%rbp), %rdi
callq 0x5420
movq -0x80(%rbp), %rdi
addq $0xe8, %rdi
callq 0x2d650
movq %rax, -0x50(%rbp)
movq -0x80(%rbp), %rdi
addq $0xe8, %rdi
callq 0x2d6b0
movq %rax, -0x58(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x2c966
jmp 0x2ca28
movq -0x80(%rbp), %rdi
addq $0xe8, %rdi
callq 0x2d650
movq %rax, -0x60(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x2c98d
jmp 0x2c9cc
leaq 0x23c8a(%rip), %rsi     # 0x5061e
leaq -0x30(%rbp), %rdi
callq 0x5380
jmp 0x2c99f
jmp 0x2c9cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x5420
jmp 0x2cada
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x2cad1
leaq -0x50(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rdi
leaq 0x236d9(%rip), %rsi     # 0x500b9
callq 0x41690
movb %al, -0x91(%rbp)
jmp 0x2c9ed
movb -0x91(%rbp), %al
testb $0x1, %al
jne 0x2c9f9
jmp 0x2ca12
leaq -0x50(%rbp), %rdi
callq 0x2d770
movq %rax, %rsi
leaq -0x30(%rbp), %rdi
callq 0x5500
jmp 0x2ca10
jmp 0x2ca12
jmp 0x2ca14
leaq -0x50(%rbp), %rdi
xorl %esi, %esi
callq 0x2d790
movq %rax, -0x68(%rbp)
jmp 0x2c93c
leaq 0x23c0c(%rip), %rsi     # 0x5063b
leaq -0x30(%rbp), %rdi
callq 0x2d7d0
movb %al, -0x92(%rbp)
jmp 0x2ca40
movb -0x92(%rbp), %al
testb $0x1, %al
jne 0x2ca4c
jmp 0x2caa1
leaq -0x69(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x56d0
movq -0x90(%rbp), %rdi
movq -0xa0(%rbp), %rdx
leaq 0x23bca(%rip), %rsi     # 0x5063b
callq 0x299c0
jmp 0x2ca78
leaq -0x69(%rbp), %rdi
callq 0x5420
movl $0x1, -0x70(%rbp)
jmp 0x2cab8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x69(%rbp), %rdi
callq 0x5420
jmp 0x2cad1
movq -0x90(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x5210
movl $0x1, -0x70(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5748
movq -0x88(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x5748
movq -0x40(%rbp), %rdi
callq 0x56c0
nopw %cs:(%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/escenario.cpp
// Function: Escenario::pintar()
void Escenario::pintar(){

     fstream fs;
     string fileImagetext=pathFileImageText;
     fs.open(fileImagetext.c_str(),fstream::in);
     string line;
     if(fs.is_open()){
	  while(getline(fs,line)){
	       cout<<line<<endl;
	  }
	  fs.close(); 
     }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x5490
movq -0x270(%rbp), %rsi
addq $0x118, %rsi            # imm = 0x118
leaq -0x238(%rbp), %rdi
callq 0x5180
jmp 0x2cc52
leaq -0x238(%rbp), %rdi
callq 0x5170
movq %rax, %rsi
leaq -0x218(%rbp), %rdi
movl $0x8, %edx
callq 0x5370
jmp 0x2cc74
leaq -0x268(%rbp), %rdi
callq 0x5540
leaq -0x218(%rbp), %rdi
callq 0x56a0
movb %al, -0x271(%rbp)
jmp 0x2cc94
movb -0x271(%rbp), %al
testb $0x1, %al
jne 0x2cca3
jmp 0x2cd76
jmp 0x2cca5
leaq -0x218(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x50f0
movq %rax, -0x280(%rbp)
jmp 0x2ccc1
movq -0x280(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x54e0
movb %al, -0x281(%rbp)
jmp 0x2ccdf
movb -0x281(%rbp), %al
testb $0x1, %al
jne 0x2cceb
jmp 0x2cd66
movq 0x442c6(%rip), %rdi     # 0x70fb8
leaq -0x268(%rbp), %rsi
callq 0x5350
movq %rax, -0x290(%rbp)
jmp 0x2cd07
movq -0x290(%rbp), %rdi
movq 0x4427b(%rip), %rsi     # 0x70f90
callq 0x5400
jmp 0x2cd1c
jmp 0x2cca5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x2cdaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x2cda3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x5748
jmp 0x2cda3
leaq -0x218(%rbp), %rdi
callq 0x50a0
jmp 0x2cd74
jmp 0x2cd76
leaq -0x268(%rbp), %rdi
callq 0x5748
leaq -0x238(%rbp), %rdi
callq 0x5748
leaq -0x218(%rbp), %rdi
callq 0x5100
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
leaq -0x238(%rbp), %rdi
callq 0x5748
leaq -0x218(%rbp), %rdi
callq 0x5100
movq -0x240(%rbp), %rdi
callq 0x56c0
nopw (%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/escenario.cpp
// Function: Escenario::salidasDisponibles[abi:cxx11]()
string Escenario::salidasDisponibles(){
	  
     string lista_salidas="";
     map<string,pScene> salidas=this->get_salidas();

     for(map<string,pScene>::iterator it=salidas.begin();
	 it!=salidas.end();it++)
     {
	  string coordenada=it->first;
	  if(estadoSalidas[coordenada]==true)
	  {
	       lista_salidas+=it->first;
	       lista_salidas+=" ";				  
	  }		  
     }
     return lista_salidas;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0xa0(%rbp)
movq %rdi, %rax
movq %rax, -0xb0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
movb $0x0, -0x11(%rbp)
leaq -0x12(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x56d0
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0x23723(%rip), %rsi     # 0x5063b
callq 0x299c0
jmp 0x2cf1f
leaq -0x12(%rbp), %rdi
callq 0x5420
movq -0xa8(%rbp), %rsi
leaq -0x58(%rbp), %rdi
callq 0x2db30
jmp 0x2cf3a
leaq -0x58(%rbp), %rdi
callq 0x2db70
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x2dbd0
movq %rax, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x2dba0
testb $0x1, %al
jne 0x2cf6a
jmp 0x2d065
leaq -0x60(%rbp), %rdi
callq 0x2dc00
movq %rax, %rsi
leaq -0x88(%rbp), %rdi
callq 0x5180
jmp 0x2cf84
movq -0xa8(%rbp), %rdi
addq $0xb8, %rdi
leaq -0x88(%rbp), %rsi
callq 0x2da50
movq %rax, -0xb8(%rbp)
jmp 0x2cfa7
movq -0xb8(%rbp), %rax
movb (%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2d042
leaq -0x60(%rbp), %rdi
callq 0x2dc00
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
callq 0x5500
jmp 0x2cfd8
movq -0xa0(%rbp), %rdi
leaq 0x2464a(%rip), %rsi     # 0x51630
callq 0x5380
jmp 0x2cfed
jmp 0x2d042
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x12(%rbp), %rdi
callq 0x5420
jmp 0x2d0ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x2d0a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x2d07a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x5748
jmp 0x2d07a
leaq -0x88(%rbp), %rdi
callq 0x5748
leaq -0x60(%rbp), %rdi
xorl %esi, %esi
callq 0x2dc20
movq %rax, -0x90(%rbp)
jmp 0x2cf47
movb $0x1, -0x11(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x2d630
testb $0x1, -0x11(%rbp)
jne 0x2d091
jmp 0x2d085
leaq -0x58(%rbp), %rdi
callq 0x2d630
jmp 0x2d0a1
movq -0xa0(%rbp), %rdi
callq 0x5748
movq -0xb0(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
movq -0xa0(%rbp), %rdi
callq 0x5748
movq -0x20(%rbp), %rdi
callq 0x56c0
nopw %cs:(%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/escenario.cpp
// Function: Escenario::get_description[abi:cxx11]()
string Escenario::get_description(){
     string descripcion=this->examine();
     descripcion+="\n";
     if(this->get_objetos_disponibles()!="")
     {
	  descripcion+="Puedes ver lo siguiente : \n";
	  descripcion+=this->get_objetos_disponibles();	  
     }
     return descripcion;	  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x70(%rbp)
movq %rdi, %rax
movq %rax, -0x80(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x78(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x2dc60
movq -0x70(%rbp), %rdi
leaq 0x23540(%rip), %rsi     # 0x5063a
callq 0x5380
jmp 0x2d101
movq -0x78(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x2c8d0
jmp 0x2d110
leaq 0x23524(%rip), %rsi     # 0x5063b
leaq -0x48(%rbp), %rdi
callq 0x2d830
movb %al, -0x81(%rbp)
jmp 0x2d128
leaq -0x48(%rbp), %rdi
callq 0x5748
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x2d13d
jmp 0x2d1b4
movq -0x70(%rbp), %rdi
leaq 0x234d8(%rip), %rsi     # 0x50620
callq 0x5380
jmp 0x2d14f
movq -0x78(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x2c8d0
jmp 0x2d15e
movq -0x70(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x5500
jmp 0x2d16d
leaq -0x68(%rbp), %rdi
callq 0x5748
jmp 0x2d1b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x2d1d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5748
jmp 0x2d1d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5748
jmp 0x2d1d4
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x2d1c7
movq -0x70(%rbp), %rdi
callq 0x5748
movq -0x80(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x5748
movq -0x20(%rbp), %rdi
callq 0x56c0
nopw %cs:(%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/escenario.cpp
// Function: Escenario::salidas[abi:cxx11]()
string Escenario::salidas(){
     string lista_salidas;
     map<string,pScene> salidas=this->get_salidas();
     for(map<string,pScene>::iterator it=salidas.begin();
	 it!=salidas.end();it++)
     {
	  lista_salidas+=it->first;
	  lista_salidas+=" ";
     }
     return lista_salidas;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x88(%rbp)
movq %rdi, %rax
movq %rax, -0x80(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x5540
movq -0x78(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x2db30
jmp 0x2d231
leaq -0x48(%rbp), %rdi
callq 0x2db70
movq %rax, -0x60(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x2dbd0
movq %rax, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x2dba0
testb $0x1, %al
jne 0x2d25e
jmp 0x2d2c5
leaq -0x60(%rbp), %rdi
callq 0x2dc00
movq -0x88(%rbp), %rdi
movq %rax, %rsi
callq 0x5500
jmp 0x2d278
movq -0x88(%rbp), %rdi
leaq 0x243aa(%rip), %rsi     # 0x51630
callq 0x5380
jmp 0x2d28d
jmp 0x2d28f
leaq -0x60(%rbp), %rdi
xorl %esi, %esi
callq 0x2dc20
movq %rax, -0x70(%rbp)
jmp 0x2d23e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2d2f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x2d630
jmp 0x2d2f1
movb $0x1, -0x11(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x2d630
testb $0x1, -0x11(%rbp)
jne 0x2d2e4
movq -0x88(%rbp), %rdi
callq 0x5748
movq -0x80(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x88(%rbp), %rdi
callq 0x5748
movq -0x50(%rbp), %rdi
callq 0x56c0
nopw %cs:(%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/event.cpp
// Function: EventOpenConnection::activate[abi:cxx11]()
const string EventOpenConnection::activate(){

    assert(scene!=NULL);
    scene->set_estado_salida(cardinal,true);
    /// TODO: If something goes wrong this should return an error messages
//	  return string("message");
    return postMessage;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x58(%rbp)
movq %rdi, %rax
movq %rax, -0x50(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, 0x8(%rax)
je 0x330bc
jmp 0x330db
leaq 0x1d57a(%rip), %rdi     # 0x5063d
leaq 0x1d57f(%rip), %rsi     # 0x50649
movl $0x6, %edx
leaq 0x1d581(%rip), %rcx     # 0x50657
callq 0x5250
movq -0x48(%rbp), %rsi
movq 0x8(%rsi), %rax
movq %rax, -0x68(%rbp)
addq $0x10, %rsi
leaq -0x30(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x5180
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
movl $0x1, %edx
callq 0x2ce50
jmp 0x3310c
leaq -0x30(%rbp), %rdi
callq 0x5748
movq -0x48(%rbp), %rsi
movq -0x58(%rbp), %rdi
addq $0x30, %rsi
callq 0x5180
movq -0x50(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5748
movq -0x38(%rbp), %rdi
callq 0x56c0
nop
// File: rcolomina[P]the_charmed_house/src/eventsqueue.cpp
// Function: EventsQueue::fire()
void EventsQueue::fire(){
    if(!eventsQueue.empty())
    {
        IEvent *event=eventsQueue.front();
        assert(event!=NULL);
//			 cout<<event->message()<<endl;
        cout<<event->activate()<<std::endl;
        eventsQueue.pop();
    }	  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x332b0
testb $0x1, %al
jne 0x33270
movq -0x48(%rbp), %rdi
callq 0x332d0
movq (%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x331ea
jmp 0x33209
leaq 0x1d4b9(%rip), %rdi     # 0x506aa
leaq 0x1d4be(%rip), %rsi     # 0x506b6
movl $0xf, %edx
leaq 0x1d4c6(%rip), %rcx     # 0x506ca
callq 0x5250
movq -0x10(%rbp), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x30(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq *%rax
movq -0x58(%rbp), %rsi
movq 0x3dd90(%rip), %rdi     # 0x70fb8
callq 0x5350
movq %rax, -0x50(%rbp)
jmp 0x33233
movq -0x50(%rbp), %rdi
movq 0x3dd52(%rip), %rsi     # 0x70f90
callq 0x5400
jmp 0x33245
leaq -0x30(%rbp), %rdi
callq 0x5748
movq -0x48(%rbp), %rdi
callq 0x332f0
jmp 0x33270
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5748
jmp 0x33276
addq $0x60, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x56c0
nop
// File: rcolomina[P]the_charmed_house/src/factory.cpp
// Function: FactoryGame::getNameListFromNode[abi:cxx11](TiXmlNode*)
vector<string> FactoryGame::getNameListFromNode(pNode parent){

     vector<string> output;
     pNode child = 0;
     while((child = parent->IterateChildren(child)))
     {
	  string value_text = child->Value();
	  output.push_back(value_text);
     }
     return output;	  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x70(%rbp)
movq %rdi, %rax
movq %rax, -0x68(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
callq 0x297d0
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x297f0
movq %rax, -0x78(%rbp)
jmp 0x36456
movq -0x78(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x364fc
movq -0x28(%rbp), %rdi
callq 0x29820
movq %rax, -0x80(%rbp)
jmp 0x36477
leaq -0x59(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x56d0
movq -0x80(%rbp), %rsi
movq -0x88(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x299c0
jmp 0x3649d
leaq -0x59(%rbp), %rdi
callq 0x5420
movq -0x70(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x29840
jmp 0x364b5
leaq -0x58(%rbp), %rdi
callq 0x5748
jmp 0x36443
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x3651c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x59(%rbp), %rdi
callq 0x5420
jmp 0x3651c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5748
jmp 0x3651c
movb $0x1, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
jne 0x3650f
movq -0x70(%rbp), %rdi
callq 0x298b0
movq -0x68(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x298b0
movq -0x30(%rbp), %rdi
callq 0x56c0
nop
// File: rcolomina[P]the_charmed_house/src/factory.cpp
// Function: FactoryGame::getTextListFromNode[abi:cxx11](TiXmlNode*)
vector<string> FactoryGame::getTextListFromNode(pNode parent){

     vector<string> output;
     pNode child = 0;
     while((child = parent->IterateChildren(child)))
     {
	  pElem temp = child->ToElement();
	  string value_text = temp->GetText();
	  output.push_back(value_text);
     }
     return output;	  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x78(%rbp)
movq %rdi, %rax
movq %rax, -0x70(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
callq 0x297d0
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x297f0
movq %rax, -0x80(%rbp)
jmp 0x36576
movq -0x80(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x36646
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movq %rax, -0x88(%rbp)
jmp 0x3659e
movq -0x88(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x48ec0
movq %rax, -0x90(%rbp)
jmp 0x365bb
leaq -0x61(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x56d0
movq -0x90(%rbp), %rsi
movq -0x98(%rbp), %rdx
leaq -0x60(%rbp), %rdi
callq 0x299c0
jmp 0x365e4
leaq -0x61(%rbp), %rdi
callq 0x5420
movq -0x78(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x29840
jmp 0x365fc
leaq -0x60(%rbp), %rdi
callq 0x5748
jmp 0x36563
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x36666
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x61(%rbp), %rdi
callq 0x5420
jmp 0x36666
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5748
jmp 0x36666
movb $0x1, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
jne 0x36659
movq -0x78(%rbp), %rdi
callq 0x298b0
movq -0x70(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x78(%rbp), %rdi
callq 0x298b0
movq -0x30(%rbp), %rdi
callq 0x56c0
nopl (%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/factory.cpp
// Function: FactoryGame::getGameElement(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
pElem FactoryGame::getGameElement(string name){

    // TODO: Depending on data origin setup work on JSON, XML or SQL table
    
    // Looking for the Element Items
    pNode node=NULL;
    node = xmlDoc.FirstChild("games");
    assert(node);	  
    TiXmlHandle docHandle(node);
    pElem elem = docHandle.FirstChild("game").FirstChild(name.c_str()).ToElement();
    return elem;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rsi, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq $0x0, -0x18(%rbp)
addq $0x20, %rdi
leaq 0x19959(%rip), %rsi     # 0x50004
callq 0x29910
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x366bd
jmp 0x366dc
leaq 0x19946(%rip), %rdi     # 0x5000a
leaq 0x1a22c(%rip), %rsi     # 0x508f7
movl $0x8f, %edx
leaq 0x1a230(%rip), %rcx     # 0x50907
callq 0x5250
movq -0x18(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x29940
leaq -0x38(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq 0x19969(%rip), %rdx     # 0x50061
callq 0x4a8e0
movq -0x40(%rbp), %rdi
callq 0x5170
movq %rax, %rdx
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x4a8e0
leaq -0x30(%rbp), %rdi
callq 0x29960
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: rcolomina[P]the_charmed_house/src/factory.cpp
// Function: FactoryGame::searchForElementId(TiXmlElement*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
pElem FactoryGame::searchForElementId(pElem parent,string id){

     pNode child = 0;
     while((child = parent->IterateChildren(child)))
     {
	  pElem temp = child->ToElement();
	  string value_attribute = temp->Attribute("id");
	  if(id.compare(value_attribute)==0 )
	  {
	       return temp;
	  }
     }	  
     return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdx, -0x70(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x297f0
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x3683b
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
leaq 0x19903(%rip), %rsi     # 0x5008d
callq 0x48430
movq %rax, -0x80(%rbp)
leaq -0x51(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x56d0
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
leaq -0x50(%rbp), %rdi
callq 0x299c0
jmp 0x367b3
leaq -0x51(%rbp), %rdi
callq 0x5420
movq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x5050
movl %eax, -0x84(%rbp)
jmp 0x367d1
movl -0x84(%rbp), %eax
cmpl $0x0, %eax
jne 0x3681b
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x1, -0x68(%rbp)
jmp 0x36822
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x51(%rbp), %rdi
callq 0x5420
jmp 0x36850
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5748
jmp 0x36850
movl $0x0, -0x68(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5748
movl -0x68(%rbp), %eax
testl %eax, %eax
je 0x36836
jmp 0x36834
jmp 0x36843
jmp 0x36753
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x56c0
nopl (%rax)
// File: rcolomina[P]the_charmed_house/src/inventario.cpp
// Function: Inventario::listar[abi:cxx11]()
string Inventario::listar(){
    string lista_inventario=string("");
    //Recorrer map
    for(map<string,Objeto*>::iterator it=objetos_inventario.begin();
        it!=objetos_inventario.end();it++){
        lista_inventario+=" ";			
        lista_inventario+=it->second->Name();
    }
    if(lista_inventario=="")
        lista_inventario="Tu inventario está vacío.";
	 
    return lista_inventario;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x70(%rbp)
movq %rdi, %rax
movq %rax, -0x80(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movb $0x0, -0x11(%rbp)
leaq -0x12(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x56d0
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0x18235(%rip), %rsi     # 0x5063b
callq 0x299c0
jmp 0x3840d
leaq -0x12(%rbp), %rdi
callq 0x5420
movq -0x78(%rbp), %rdi
callq 0x2d650
movq %rax, -0x30(%rbp)
movq -0x78(%rbp), %rdi
callq 0x2d6b0
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x38446
jmp 0x384d8
movq -0x70(%rbp), %rdi
leaq 0x191df(%rip), %rsi     # 0x51630
callq 0x5380
jmp 0x38458
leaq -0x30(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rsi
leaq -0x58(%rbp), %rdi
callq 0x2d800
jmp 0x38470
movq -0x70(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x5500
jmp 0x3847f
leaq -0x58(%rbp), %rdi
callq 0x5748
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
callq 0x2d790
movq %rax, -0x60(%rbp)
jmp 0x38423
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x12(%rbp), %rdi
callq 0x5420
jmp 0x38539
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x38530
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5748
jmp 0x38530
movq -0x70(%rbp), %rdi
leaq 0x18158(%rip), %rsi     # 0x5063b
callq 0x2d7d0
movb %al, -0x81(%rbp)
jmp 0x384f0
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x384fc
jmp 0x38510
movq -0x70(%rbp), %rdi
leaq 0x1857b(%rip), %rsi     # 0x50a82
callq 0x5530
jmp 0x3850e
jmp 0x38510
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x38523
movq -0x70(%rbp), %rdi
callq 0x5748
movq -0x80(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x5748
movq -0x20(%rbp), %rdi
callq 0x56c0
nopw %cs:(%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/inventario.cpp
// Function: Inventario::get_existe_objeto(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool Inventario::get_existe_objeto(string nombre){
    for(map<string,Objeto*>::iterator it=objetos_inventario.begin();
        it!=objetos_inventario.end();it++){
        if(it->first==nombre)
            return true;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rsi, -0x40(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x38(%rbp)
callq 0x2d650
movq %rax, -0x20(%rbp)
movq -0x38(%rbp), %rdi
callq 0x2d6b0
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x38595
jmp 0x385c9
leaq -0x20(%rbp), %rdi
callq 0x2d770
movq -0x40(%rbp), %rsi
movq %rax, %rdi
callq 0x2d6e0
testb $0x1, %al
jne 0x385b0
jmp 0x385b6
movb $0x1, -0x1(%rbp)
jmp 0x385cd
jmp 0x385b8
leaq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x2d790
movq %rax, -0x30(%rbp)
jmp 0x38575
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: rcolomina[P]the_charmed_house/src/inventario.cpp
// Function: Inventario::posee_alcanzador()
bool Inventario::posee_alcanzador(){
    map<string,Objeto*>::iterator it;
    for(it=objetos_inventario.begin();it!=objetos_inventario.end();it++)
    {
        if(it->second->get_value<bool>("reacher"))
            return true;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x38970
movq -0x38(%rbp), %rdi
callq 0x2d650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x38(%rbp), %rdi
callq 0x2d6b0
movq %rax, -0x28(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x38662
jmp 0x3869a
leaq -0x18(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rdi
leaq 0x18428(%rip), %rsi     # 0x50a9e
callq 0x41690
testb $0x1, %al
jne 0x38681
jmp 0x38687
movb $0x1, -0x1(%rbp)
jmp 0x3869e
jmp 0x38689
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x2d790
movq %rax, -0x30(%rbp)
jmp 0x38642
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: rcolomina[P]the_charmed_house/src/inventario.cpp
// Function: Inventario::tomar_alcanzador()
Objeto* Inventario::tomar_alcanzador(){
    map<string,Objeto*>::iterator it;
    for(it=objetos_inventario.begin();it!=objetos_inventario.end();it++)
    {
        if(it->second->get_value<bool>("reacher"))
            return it->second;
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x38970
movq -0x38(%rbp), %rdi
callq 0x2d650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x38(%rbp), %rdi
callq 0x2d6b0
movq %rax, -0x28(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x38702
jmp 0x38747
leaq -0x18(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rdi
leaq 0x18388(%rip), %rsi     # 0x50a9e
callq 0x41690
testb $0x1, %al
jne 0x38721
jmp 0x38734
leaq -0x18(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x3874f
jmp 0x38736
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x2d790
movq %rax, -0x30(%rbp)
jmp 0x386e2
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: rcolomina[P]the_charmed_house/src/inventario.cpp
// Function: Inventario::posee_desatascador()
bool Inventario::posee_desatascador(){
    map<string,Objeto*>::iterator it;
    for(it=objetos_inventario.begin();it!=objetos_inventario.end();it++)
    {
        if(it->second->get_value<bool>("desatascador"))
            return true;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x38970
movq -0x38(%rbp), %rdi
callq 0x2d650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x38(%rbp), %rdi
callq 0x2d6b0
movq %rax, -0x28(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x387b2
jmp 0x387ea
leaq -0x18(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rdi
leaq 0x1872c(%rip), %rsi     # 0x50ef2
callq 0x41690
testb $0x1, %al
jne 0x387d1
jmp 0x387d7
movb $0x1, -0x1(%rbp)
jmp 0x387ee
jmp 0x387d9
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x2d790
movq %rax, -0x30(%rbp)
jmp 0x38792
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: rcolomina[P]the_charmed_house/src/inventario.cpp
// Function: Inventario::tomar_desatascador()
Objeto* Inventario::tomar_desatascador(){
    map<string,Objeto*>::iterator it;
    for(it=objetos_inventario.begin();it!=objetos_inventario.end();it++)
    {
        if(it->second->get_value<bool>("desatascador"))
            return it->second;
    }
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x38970
movq -0x38(%rbp), %rdi
callq 0x2d650
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x38(%rbp), %rdi
callq 0x2d6b0
movq %rax, -0x28(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2d680
testb $0x1, %al
jne 0x38852
jmp 0x38897
leaq -0x18(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rdi
leaq 0x1868c(%rip), %rsi     # 0x50ef2
callq 0x41690
testb $0x1, %al
jne 0x38871
jmp 0x38884
leaq -0x18(%rbp), %rdi
callq 0x2d770
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x3889f
jmp 0x38886
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x2d790
movq %rax, -0x30(%rbp)
jmp 0x38832
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: rcolomina[P]the_charmed_house/src/item_creator.cpp
// Function: ItemGameCreator::ItemGameCreator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
ItemGameCreator::ItemGameCreator(const string xmlGameSpecs)
{
    bool loadOkay = xmlDoc.LoadFile(xmlGameSpecs.c_str());
    if (!loadOkay)
    {
        printf("Could not load test xml file. Error='%s'. Exiting.\n", xmlDoc.ErrorDesc());
        exit(1);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rsi, -0x38(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x3a9c0
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rdi
leaq 0x363d0(%rip), %rcx     # 0x704a0
movq %rcx, (%rax)
addq $0x8, %rax
movq %rax, -0x30(%rbp)
callq 0x5170
movq -0x30(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x49270
movb %al, -0x25(%rbp)
jmp 0x3a0f3
movb -0x25(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x3a149
movq -0x40(%rbp), %rdi
addq $0x8, %rdi
callq 0x36860
movq %rax, -0x48(%rbp)
jmp 0x3a114
movq -0x48(%rbp), %rsi
leaq 0x165f4(%rip), %rdi     # 0x50713
xorl %eax, %eax
callq 0x5080
jmp 0x3a128
movl $0x1, %edi
callq 0x54a0
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x3a9f0
jmp 0x3a14f
addq $0x50, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x56c0
nopl (%rax,%rax)