LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: menhits[P]phplus/src/Actions/BoolOpAction.cpp
// Function: AndAction::addToProg(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>, CppProgram*)
void addToProg(Action inLeft, Action inRight, CppProgram* prog)
	{
		prog->pushExpr();
			firstAction->addToProg(voidAction, voidAction, prog);
		prog->popExpr();
		
		prog->code(" && ");
		
		prog->pushExpr();
			secondAction->addToProg(voidAction, voidAction, prog);
		prog->popExpr();
	}

// Assembly:
subq $0xf8, %rsp
movq %rdi, 0xf0(%rsp)
movq %rsi, 0xe8(%rsp)
movq %rdx, 0xe0(%rsp)
movq %rcx, 0xd8(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0xd8(%rsp), %rdi
callq 0x97930
movq 0x38(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, 0x48(%rsp)
leaq 0x658bd(%rip), %rsi     # 0x118418
movq %rsi, 0x40(%rsp)
leaq 0xc8(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x1ac60
movq 0x40(%rsp), %rsi
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x1ac60
movq 0x48(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
movq 0xd8(%rsp), %rcx
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
jmp 0xb2bab
leaq 0xb8(%rsp), %rdi
callq 0x1acc0
leaq 0xc8(%rsp), %rdi
callq 0x1acc0
movq 0xd8(%rsp), %rdi
callq 0x97a00
movq 0xd8(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xb690
movq 0x30(%rsp), %rdx
leaq 0x24295(%rip), %rsi     # 0xd6e92
leaq 0x88(%rsp), %rdi
callq 0xb4c0
jmp 0xb2c0c
movq 0x28(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x96750
jmp 0xb2c20
leaq 0x88(%rsp), %rdi
callq 0xb6e8
leaq 0x87(%rsp), %rdi
callq 0xb3f0
movq 0xd8(%rsp), %rdi
callq 0x97930
movq 0x38(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, 0x10(%rsp)
leaq 0x657b4(%rip), %rsi     # 0x118418
movq %rsi, 0x8(%rsp)
leaq 0x70(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1ac60
movq 0x8(%rsp), %rsi
leaq 0x60(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x1ac60
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0xd8(%rsp), %rcx
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
jmp 0xb2cae
leaq 0x60(%rsp), %rdi
callq 0x1acc0
leaq 0x70(%rsp), %rdi
callq 0x1acc0
movq 0xd8(%rsp), %rdi
callq 0x97a00
addq $0xf8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x1acc0
leaq 0xc8(%rsp), %rdi
callq 0x1acc0
jmp 0xb2d75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
jmp 0xb2d3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
leaq 0x88(%rsp), %rdi
callq 0xb6e8
leaq 0x87(%rsp), %rdi
callq 0xb3f0
jmp 0xb2d75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x1acc0
leaq 0x70(%rsp), %rdi
callq 0x1acc0
movq 0xb0(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: menhits[P]phplus/src/Actions/BranchAction.cpp
// Function: RightBranchAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		void* rightData=rightInput->execute(nullptr, nullptr);
		void* outData=action->execute(nullptr, rightData);
		free(rightData);
		return outData;
	}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq %rdi, 0x8(%rsp)
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq 0x8(%rsp), %rdi
movq %rax, 0x18(%rsp)
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x18(%rsp), %rdx
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %esi
callq *0x20(%rax)
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0xb430
movq 0x10(%rsp), %rax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: menhits[P]phplus/src/Actions/BranchAction.cpp
// Function: RightBranchAction::addToProg(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>, CppProgram*)
void addToProg(Action inLeft, Action inRight, CppProgram* prog)
	{
		Action rightInTmp = rightInput;
		
		if (rightInTmp->getReturnType()!=action->getInRightType())
			rightInTmp=cppTupleCastAction(rightInTmp, action->getInRightType());
		
		action->addToProg(voidAction, rightInTmp, prog);
	}

// Assembly:
subq $0xc8, %rsp
movq %rdi, 0xc0(%rsp)
movq %rsi, 0xb8(%rsp)
movq %rdx, 0xb0(%rsp)
movq %rcx, 0xa8(%rsp)
movq 0xc0(%rsp), %rsi
movq %rsi, 0x28(%rsp)
addq $0x88, %rsi
leaq 0x98(%rsp), %rdi
callq 0x1ac60
leaq 0x98(%rsp), %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq 0x28(%rsp), %rdi
movq %rax, 0x30(%rsp)
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x3f070
movq 0x30(%rsp), %rdi
movq %rax, %rsi
callq 0x1be90
testb $0x1, %al
jne 0xb654e
jmp 0xb6605
leaq 0x78(%rsp), %rdi
movq %rdi, 0x18(%rsp)
leaq 0x98(%rsp), %rsi
callq 0x1ac60
movq 0x28(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x3f070
movq %rax, %rsi
leaq 0x68(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x1a920
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
leaq 0x88(%rsp), %rdi
callq 0xc02c0
jmp 0xb65a6
leaq 0x98(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x1ac90
leaq 0x88(%rsp), %rdi
callq 0x1acc0
leaq 0x68(%rsp), %rdi
callq 0x1a950
leaq 0x78(%rsp), %rdi
callq 0x1acc0
jmp 0xb6605
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x68(%rsp), %rdi
callq 0x1a950
leaq 0x78(%rsp), %rdi
callq 0x1acc0
jmp 0xb66b0
movq 0x28(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, (%rsp)
leaq 0x61dfa(%rip), %rsi     # 0x118418
leaq 0x48(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x1ac60
leaq 0x38(%rsp), %rdi
movq %rdi, 0x10(%rsp)
leaq 0x98(%rsp), %rsi
callq 0x1ac60
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0xa8(%rsp), %rcx
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
jmp 0xb6665
leaq 0x38(%rsp), %rdi
callq 0x1acc0
leaq 0x48(%rsp), %rdi
callq 0x1acc0
leaq 0x98(%rsp), %rdi
callq 0x1acc0
addq $0xc8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x1acc0
leaq 0x48(%rsp), %rdi
callq 0x1acc0
leaq 0x98(%rsp), %rdi
callq 0x1acc0
movq 0x60(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)
// File: menhits[P]phplus/src/Actions/BranchAction.cpp
// Function: LeftBranchAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		void* leftData=leftInput->execute(nullptr, nullptr);
		void* outData=action->execute(leftData, nullptr);
		free(leftData);
		return outData;
	}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq %rdi, 0x8(%rsp)
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq 0x8(%rsp), %rdi
movq %rax, 0x18(%rsp)
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x18(%rsp), %rsi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
callq *0x20(%rax)
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
callq 0xb430
movq 0x10(%rsp), %rax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: menhits[P]phplus/src/Actions/BranchAction.cpp
// Function: LeftBranchAction::addToProg(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>, CppProgram*)
void addToProg(Action inLeft, Action inRight, CppProgram* prog)
	{
		Action leftInTmp = leftInput;
		
		if (leftInTmp->getReturnType()!=action->getInLeftType())
			leftInTmp=cppTupleCastAction(leftInTmp, action->getInLeftType());
		
		action->addToProg(leftInTmp, voidAction, prog);
	}

// Assembly:
subq $0xc8, %rsp
movq %rdi, 0xc0(%rsp)
movq %rsi, 0xb8(%rsp)
movq %rdx, 0xb0(%rsp)
movq %rcx, 0xa8(%rsp)
movq 0xc0(%rsp), %rsi
movq %rsi, 0x28(%rsp)
addq $0x78, %rsi
leaq 0x98(%rsp), %rdi
callq 0x1ac60
leaq 0x98(%rsp), %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq 0x28(%rsp), %rdi
movq %rax, 0x30(%rsp)
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x3f060
movq 0x30(%rsp), %rdi
movq %rax, %rsi
callq 0x1be90
testb $0x1, %al
jne 0xb6b3e
jmp 0xb6bf8
leaq 0x78(%rsp), %rdi
movq %rdi, 0x18(%rsp)
leaq 0x98(%rsp), %rsi
callq 0x1ac60
movq 0x28(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x3f060
movq %rax, %rsi
leaq 0x68(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x1a920
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
leaq 0x88(%rsp), %rdi
callq 0xc02c0
jmp 0xb6b99
leaq 0x98(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x1ac90
leaq 0x88(%rsp), %rdi
callq 0x1acc0
leaq 0x68(%rsp), %rdi
callq 0x1a950
leaq 0x78(%rsp), %rdi
callq 0x1acc0
jmp 0xb6bf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x68(%rsp), %rdi
callq 0x1a950
leaq 0x78(%rsp), %rdi
callq 0x1acc0
jmp 0xb6ca6
movq 0x28(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, (%rsp)
leaq 0x48(%rsp), %rdi
movq %rdi, 0x8(%rsp)
leaq 0x98(%rsp), %rsi
callq 0x1ac60
leaq 0x617ed(%rip), %rsi     # 0x118418
leaq 0x38(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x1ac60
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0xa8(%rsp), %rcx
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
jmp 0xb6c5b
leaq 0x38(%rsp), %rdi
callq 0x1acc0
leaq 0x48(%rsp), %rdi
callq 0x1acc0
leaq 0x98(%rsp), %rdi
callq 0x1acc0
addq $0xc8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x1acc0
leaq 0x48(%rsp), %rdi
callq 0x1acc0
leaq 0x98(%rsp), %rdi
callq 0x1acc0
movq 0x60(%rsp), %rdi
callq 0xb680
nopl (%rax)
// File: menhits[P]phplus/src/Actions/BranchAction.cpp
// Function: BranchAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		void* leftData=leftInput->execute(nullptr, nullptr);
		void* rightData=rightInput->execute(nullptr, nullptr);
		void* outData=action->execute(leftData, rightData);
		free(leftData);
		free(rightData);
		return outData;
	}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq %rdi, (%rsp)
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq (%rsp), %rdi
movq %rax, 0x18(%rsp)
addq $0x98, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq (%rsp), %rdi
movq %rax, 0x10(%rsp)
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq (%rdi), %rax
callq *0x20(%rax)
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
callq 0xb430
movq 0x10(%rsp), %rdi
callq 0xb430
movq 0x8(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: menhits[P]phplus/src/Actions/FunctionAction.cpp
// Function: FunctionAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		if (!action)
			resolveAction();
		
		void * oldStackPtr=stackPtr;
		
		stackPtr=malloc(stackFame->getSize());
		
		if (inLeft)
			memcpy((char*)stackPtr+stackFame->getLeftOffset(), inLeft, getInLeftType()->getSize());
		
		if (inRight)
			memcpy((char*)stackPtr+stackFame->getRightOffset(), inRight, getInRightType()->getSize());
		
		void* out=action->execute(nullptr, nullptr);
		
		free(stackPtr);
		stackPtr=oldStackPtr;
		
		return out;
	}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq %rdx, 0x50(%rsp)
movq 0x60(%rsp), %rdi
movq %rdi, 0x38(%rsp)
addq $0x88, %rdi
callq 0x1be40
testb $0x1, %al
jne 0xb8b07
movq 0x38(%rsp), %rdi
callq 0xb9400
movq 0x38(%rsp), %rdi
leaq 0x5f96d(%rip), %rax     # 0x118480
movq (%rax), %rax
movq %rax, 0x48(%rsp)
addq $0x78, %rdi
callq 0x3ea80
movq %rax, %rdi
callq 0x3ed10
movq %rax, %rdi
callq 0xb4a0
movq %rax, %rcx
leaq 0x5f942(%rip), %rax     # 0x118480
movq %rcx, (%rax)
cmpq $0x0, 0x58(%rsp)
je 0xb8bb5
movq 0x38(%rsp), %rdi
leaq 0x5f92b(%rip), %rax     # 0x118480
movq (%rax), %rax
movq %rax, 0x20(%rsp)
addq $0x78, %rdi
callq 0x3ea80
movq %rax, %rdi
callq 0x9c290
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movq 0x20(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x28(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x30(%rsp)
callq 0x3f060
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq %rax, %rdx
callq 0xb310
cmpq $0x0, 0x50(%rsp)
je 0xb8c29
movq 0x38(%rsp), %rdi
leaq 0x5f8b7(%rip), %rax     # 0x118480
movq (%rax), %rax
movq %rax, 0x8(%rsp)
addq $0x78, %rdi
callq 0x3ea80
movq %rax, %rdi
callq 0x9c390
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movq 0x8(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x10(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x18(%rsp)
callq 0x3f070
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rax, %rdx
callq 0xb310
movq 0x38(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, 0x40(%rsp)
leaq 0x5f82a(%rip), %rax     # 0x118480
movq (%rax), %rdi
callq 0xb430
movq 0x48(%rsp), %rcx
leaq 0x5f816(%rip), %rax     # 0x118480
movq %rcx, (%rax)
movq 0x40(%rsp), %rax
addq $0x68, %rsp
retq
nopw (%rax,%rax)
// File: menhits[P]phplus/src/Actions/IfAction.cpp
// Function: IfAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		void* conditionOut=condition->execute(nullptr, nullptr);
		if (*((bool*)conditionOut))
		{
			free(ifAction->execute(nullptr, nullptr));
		}
		free(conditionOut);
		return nullptr;
	}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movq %rdi, (%rsp)
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
testb $0x1, (%rax)
je 0xbaefc
movq (%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, %rdi
callq 0xb430
movq 0x8(%rsp), %rdi
callq 0xb430
xorl %eax, %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: menhits[P]phplus/src/Actions/IfAction.cpp
// Function: IfAction::addToProg(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>, CppProgram*)
void addToProg(Action inLeft, Action inRight, CppProgram* prog)
	{
		prog->code("if ");
		prog->pushExpr();
		condition->addToProg(voidAction, voidAction, prog);
		prog->popExpr();
		prog->pushBlock();
		ifAction->addToProg(voidAction, voidAction, prog);
		prog->endln();
		prog->popBlock();
	}

// Assembly:
subq $0xf8, %rsp
movq %rdi, 0xf0(%rsp)
movq %rsi, 0xe8(%rsp)
movq %rdx, 0xe0(%rsp)
movq %rcx, 0xd8(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0xd8(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xb690
movq 0x58(%rsp), %rdx
leaq 0x1c460(%rip), %rsi     # 0xd73cf
leaq 0xb8(%rsp), %rdi
callq 0xb4c0
jmp 0xbaf7e
movq 0x50(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x96750
jmp 0xbaf92
leaq 0xb8(%rsp), %rdi
callq 0xb6e8
leaq 0xb7(%rsp), %rdi
callq 0xb3f0
movq 0xd8(%rsp), %rdi
callq 0x97930
movq 0x48(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, 0x30(%rsp)
leaq 0x5d445(%rip), %rsi     # 0x118418
movq %rsi, 0x28(%rsp)
leaq 0x90(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x1ac60
movq 0x28(%rsp), %rsi
leaq 0x80(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x1ac60
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0xd8(%rsp), %rcx
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
jmp 0xbb023
leaq 0x80(%rsp), %rdi
callq 0x1acc0
leaq 0x90(%rsp), %rdi
callq 0x1acc0
movq 0xd8(%rsp), %rdi
callq 0x97a00
movq 0xd8(%rsp), %rdi
callq 0x99d80
movq 0x48(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, 0x10(%rsp)
leaq 0x5d3a4(%rip), %rsi     # 0x118418
movq %rsi, 0x8(%rsp)
leaq 0x70(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1ac60
movq 0x8(%rsp), %rsi
leaq 0x60(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x1ac60
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0xd8(%rsp), %rcx
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
jmp 0xbb0be
leaq 0x60(%rsp), %rdi
callq 0x1acc0
leaq 0x70(%rsp), %rdi
callq 0x1acc0
movq 0xd8(%rsp), %rdi
callq 0x99d60
movq 0xd8(%rsp), %rdi
callq 0x99da0
addq $0xf8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0xbb12b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0xb6e8
leaq 0xb7(%rsp), %rdi
callq 0xb3f0
jmp 0xbb192
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x1acc0
leaq 0x90(%rsp), %rdi
callq 0x1acc0
jmp 0xbb192
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x1acc0
leaq 0x70(%rsp), %rdi
callq 0x1acc0
movq 0xa8(%rsp), %rdi
callq 0xb680
nop
// File: menhits[P]phplus/src/Actions/IfAction.cpp
// Function: IfElseAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		void* out;
		void* conditionOut=condition->execute(nullptr, nullptr);
		if (*((bool*)conditionOut))
		{
			out=ifAction->execute(nullptr, nullptr);
		}
		else
		{
			out=elseAction->execute(nullptr, nullptr);
		}
		free(conditionOut);
		if (returnVal)
		{
			return out;
		}
		else
		{
			free(out);
			return nullptr;
		}
	}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movq %rdi, (%rsp)
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
testb $0x1, (%rax)
je 0xbb83b
movq (%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, 0x10(%rsp)
jmp 0xbb860
movq (%rsp), %rdi
addq $0x98, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, 0x10(%rsp)
movq 0x8(%rsp), %rdi
callq 0xb430
movq (%rsp), %rax
testb $0x1, 0xa8(%rax)
je 0xbb883
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0xbb896
movq 0x10(%rsp), %rdi
callq 0xb430
movq $0x0, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
// File: menhits[P]phplus/src/Actions/ListAction.cpp
// Function: listAction(std::vector<std::shared_ptr<ActionData>, std::allocator<std::shared_ptr<ActionData>>> const&, std::vector<std::shared_ptr<ActionData>, std::allocator<std::shared_ptr<ActionData>>> const&)
Action listAction(const vector<Action>& actionsIn, const vector<Action>& destroyersIn)
{
	if (actionsIn.size()==0 && destroyersIn.size()==0)
	{
		return voidAction;
	}
	else if (actionsIn.size()==1 && destroyersIn.size()==0)
	{
		return actionsIn[0];
	}
	else
	{
		return Action(new ListAction(actionsIn, destroyersIn));
	}
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x10(%rsp)
movq %rdi, %rax
movq %rax, 0x18(%rsp)
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movq 0x38(%rsp), %rdi
callq 0x22290
cmpq $0x0, %rax
jne 0xbc6a6
movq 0x30(%rsp), %rdi
callq 0x22290
cmpq $0x0, %rax
jne 0xbc6a6
movq 0x10(%rsp), %rdi
leaq 0x5bd7c(%rip), %rsi     # 0x118418
callq 0x1ac60
jmp 0xbc734
movq 0x38(%rsp), %rdi
callq 0x22290
cmpq $0x1, %rax
jne 0xbc6e3
movq 0x30(%rsp), %rdi
callq 0x22290
cmpq $0x0, %rax
jne 0xbc6e3
movq 0x38(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xbcfb0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x1ac60
jmp 0xbc734
movl $0xa8, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdx
callq 0xbcfd0
jmp 0xbc709
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdi
callq 0xbd4c0
jmp 0xbc734
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x28(%rsp)
movl %eax, 0x24(%rsp)
callq 0xb350
jmp 0xbc73e
movq 0x18(%rsp), %rax
addq $0x48, %rsp
retq
movq 0x28(%rsp), %rdi
callq 0xb680
nopl (%rax,%rax)
// File: menhits[P]phplus/src/Actions/ListAction.cpp
// Function: ListAction::getDescription[abi:cxx11]()
string getDescription()
	{
		vector<string> data;
		
		for (auto i=actions.begin(); i!=actions.end(); ++i)
		{
			if (*i)
				data.push_back((*i)->getDescription());
			else
				data.push_back(str::putStringInTreeNodeBox("[null action]"));
		}
		
		return str::makeList(data);
		/*
		string out;
		out+="\n{";
		
		for (auto i=actions.begin(); i!=actions.end(); ++i)
		{
			out+="\n\t";
			
			string str;
			
			if (*i)
				str=(*i)->getDescription();
			else
				str="[null action]";
			
			for (unsigned j=0; j<str.size(); ++j)
			{
				out+=str[j];
				
				if (str[j]=='\n')
					out+='\t';
			}
			
			out+="\n";
		}
		
		out+="}\n";
		
		return out;
		*/
	}

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0x10(%rsp)
movq %rdi, %rax
movq %rax, 0x18(%rsp)
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movq 0xc8(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x1a570
movq 0x20(%rsp), %rdi
addq $0x78, %rdi
callq 0x221a0
movq %rax, 0xa8(%rsp)
movq 0x20(%rsp), %rdi
addq $0x78, %rdi
callq 0x22010
movq %rax, 0xa0(%rsp)
leaq 0xa8(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0xbd540
testb $0x1, %al
jne 0xbda88
jmp 0xbdbfb
leaq 0xa8(%rsp), %rdi
callq 0xbd580
movq %rax, %rdi
callq 0x1be40
testb $0x1, %al
jne 0xbdaa6
jmp 0xbdb2d
leaq 0xa8(%rsp), %rdi
callq 0xbd580
movq %rax, %rdi
callq 0x1bb50
movq %rax, %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq 0x80(%rsp), %rdi
callq *%rax
jmp 0xbdad1
leaq 0xb0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x1a5a0
jmp 0xbdae8
leaq 0x80(%rsp), %rdi
callq 0xb6e8
jmp 0xbdbe7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0xbdc29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x80(%rsp), %rdi
callq 0xb6e8
jmp 0xbdc29
leaq 0x2f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xb690
movq 0x8(%rsp), %rdx
leaq 0x19a66(%rip), %rsi     # 0xd75ae
leaq 0x30(%rsp), %rdi
callq 0xb4c0
jmp 0xbdb54
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0xca100
jmp 0xbdb65
leaq 0xb0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1a5a0
jmp 0xbdb79
leaq 0x50(%rsp), %rdi
callq 0xb6e8
leaq 0x30(%rsp), %rdi
callq 0xb6e8
leaq 0x2f(%rsp), %rdi
callq 0xb3f0
jmp 0xbdbe7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0xbdbdb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0xbdbd1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x50(%rsp), %rdi
callq 0xb6e8
leaq 0x30(%rsp), %rdi
callq 0xb6e8
leaq 0x2f(%rsp), %rdi
callq 0xb3f0
jmp 0xbdc29
jmp 0xbdbe9
leaq 0xa8(%rsp), %rdi
callq 0xbd610
jmp 0xbda54
movq 0x10(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0xca210
jmp 0xbdc0f
leaq 0xb0(%rsp), %rdi
callq 0x1a600
movq 0x18(%rsp), %rax
addq $0xd8, %rsp
retq
leaq 0xb0(%rsp), %rdi
callq 0x1a600
movq 0x78(%rsp), %rdi
callq 0xb680
// File: menhits[P]phplus/src/Actions/ListAction.cpp
// Function: ListAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		auto i=actions.begin();
		
		for (; i!=std::prev(actions.end()); ++i)
		{
			free((*i)->execute(nullptr, nullptr));
		}
		
		void* returnVal=(*i)->execute(nullptr, nullptr);
		
		for (auto j: destroyers)
		{
			free(j->execute(nullptr, nullptr));
		}
		
		return returnVal;
	}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq %rdx, 0x70(%rsp)
movq 0x80(%rsp), %rdi
movq %rdi, 0x10(%rsp)
addq $0x78, %rdi
callq 0x221a0
movq %rax, 0x68(%rsp)
movq 0x10(%rsp), %rdi
addq $0x78, %rdi
callq 0x22010
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
movl $0x1, %esi
callq 0xbe8c0
movq %rax, 0x60(%rsp)
leaq 0x68(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0xbd540
testb $0x1, %al
jne 0xbdcb0
jmp 0xbdce6
leaq 0x68(%rsp), %rdi
callq 0xbd580
movq %rax, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, %rdi
callq 0xb430
leaq 0x68(%rsp), %rdi
callq 0xbd610
jmp 0xbdc74
leaq 0x68(%rsp), %rdi
callq 0xbd580
movq %rax, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x50(%rsp)
addq $0x90, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x221a0
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x22010
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0xbd540
testb $0x1, %al
jne 0xbdd53
jmp 0xbddcb
leaq 0x40(%rsp), %rdi
callq 0xbd580
movq %rax, %rsi
leaq 0x28(%rsp), %rdi
movq %rdi, (%rsp)
callq 0x1ac60
movq (%rsp), %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *%rax
movq %rax, 0x8(%rsp)
jmp 0xbdd91
movq 0x8(%rsp), %rdi
callq 0xb430
leaq 0x28(%rsp), %rdi
callq 0x1acc0
leaq 0x40(%rsp), %rdi
callq 0xbd610
jmp 0xbdd3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x20(%rsp)
movl %eax, 0x1c(%rsp)
leaq 0x28(%rsp), %rdi
callq 0x1acc0
jmp 0xbddd8
movq 0x50(%rsp), %rax
addq $0x88, %rsp
retq
movq 0x20(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: menhits[P]phplus/src/Actions/LoopAction.cpp
// Function: LoopAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		void* conditionOut;
		
		while (true)
		{
			conditionOut=condition->execute(nullptr, nullptr);
			if (!(*((bool*)conditionOut)))
				break;
			free(conditionOut);
			free(loopAction->execute(nullptr, nullptr));
			free(endAction->execute(nullptr, nullptr));
		}
		
		free(conditionOut);
		
		return nullptr;
	}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
testb $0x1, (%rax)
jne 0xbfa2a
jmp 0xbfa89
movq 0x8(%rsp), %rdi
callq 0xb430
movq (%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, %rdi
callq 0xb430
movq (%rsp), %rdi
addq $0x98, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, %rdi
callq 0xb430
jmp 0xbf9fc
movq 0x8(%rsp), %rdi
callq 0xb430
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: menhits[P]phplus/src/Actions/LoopAction.cpp
// Function: LoopAction::addToProg(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>, CppProgram*)
void addToProg(Action inLeft, Action inRight, CppProgram* prog)
	{
		prog->code("while ");
		
		prog->pushExpr();
			condition->addToProg(prog);
		prog->popExpr();
		
		prog->pushBlock();
			loopAction->addToProg(prog);
			prog->endln();
			if (endAction!=voidAction)
			{
				endAction->addToProg(prog);
				prog->endln();
			}
		prog->popBlock();
	}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
movq %rcx, 0x58(%rsp)
movq 0x70(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x37(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xb690
movq 0x18(%rsp), %rdx
leaq 0x17bfd(%rip), %rsi     # 0xd76e4
leaq 0x38(%rsp), %rdi
callq 0xb4c0
jmp 0xbfaf3
movq 0x10(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x96750
jmp 0xbfb04
leaq 0x38(%rsp), %rdi
callq 0xb6e8
leaq 0x37(%rsp), %rdi
callq 0xb3f0
movq 0x58(%rsp), %rdi
callq 0x97930
movq 0x8(%rsp), %rdi
addq $0x78, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x58(%rsp), %rsi
callq 0x97950
movq 0x58(%rsp), %rdi
callq 0x97a00
movq 0x58(%rsp), %rdi
callq 0x99d80
movq 0x8(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x58(%rsp), %rsi
callq 0x97950
movq 0x58(%rsp), %rdi
callq 0x99d60
movq 0x8(%rsp), %rdi
addq $0x98, %rdi
leaq 0x5888c(%rip), %rsi     # 0x118418
callq 0xbfc10
testb $0x1, %al
jne 0xbfb97
jmp 0xbfbf5
movq 0x8(%rsp), %rdi
addq $0x98, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0x58(%rsp), %rsi
callq 0x97950
movq 0x58(%rsp), %rdi
callq 0x99d60
jmp 0xbfbf5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x28(%rsp)
movl %eax, 0x24(%rsp)
jmp 0xbfbe9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x28(%rsp)
movl %eax, 0x24(%rsp)
leaq 0x38(%rsp), %rdi
callq 0xb6e8
leaq 0x37(%rsp), %rdi
callq 0xb3f0
jmp 0xbfc04
movq 0x58(%rsp), %rdi
callq 0x99da0
addq $0x78, %rsp
retq
movq 0x28(%rsp), %rdi
callq 0xb680
nop
// File: menhits[P]phplus/src/Actions/MakeTupleAction.cpp
// Function: MakeTupleAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		void* out=malloc(getReturnType()->getSize());
		size_t offset=0;
		
		for (auto i=sourceActions.begin(); i!=sourceActions.end(); ++i)
		{
			void* val=(*i)->execute(nullptr, nullptr);
			memcpy((char*)out+offset, val, (*i)->getReturnType()->getSize());
			free(val);
			offset+=(*i)->getReturnType()->getSize();
		}
		
		return out;
	}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq 0x50(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, %rdi
callq 0xb4a0
movq 0x10(%rsp), %rdi
movq %rax, 0x38(%rsp)
movq $0x0, 0x30(%rsp)
addq $0x78, %rdi
callq 0x221a0
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rdi
addq $0x78, %rdi
callq 0x22010
movq %rax, 0x20(%rsp)
leaq 0x28(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xbd540
testb $0x1, %al
jne 0xc15e7
jmp 0xc16b0
leaq 0x28(%rsp), %rdi
callq 0xbd580
movq %rax, %rdi
callq 0x1bb50
movq %rax, %rdi
movq (%rdi), %rax
xorl %ecx, %ecx
movl %ecx, %edx
movq %rdx, %rsi
callq *0x20(%rax)
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rax
addq 0x30(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x28(%rsp), %rdi
callq 0xbd580
movq %rax, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq %rax, %rdx
callq 0xb310
movq 0x18(%rsp), %rdi
callq 0xb430
leaq 0x28(%rsp), %rdi
callq 0xbd580
movq %rax, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq %rax, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
addq 0x30(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x28(%rsp), %rdi
callq 0xbd610
jmp 0xc15bc
movq 0x38(%rsp), %rax
addq $0x58, %rsp
retq
nopw (%rax,%rax)
// File: menhits[P]phplus/src/Actions/MakeTupleAction.cpp
// Function: MakeTupleAction::addToProg(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>, CppProgram*)
void addToProg(Action inLeft, Action inRight, CppProgram* prog)
	{
		if (sourceActions.size()==1)
		{
			sourceActions[0]->addToProg(prog);
			return;
		}
		
		prog->code(prog->getTypeCode(getReturnType()));
		prog->pushExpr();
		bool start=true;
		for (auto i: sourceActions)
		{
			if (!start) prog->code(", ");
			start=false;
			
			i->addToProg(prog);
		}
		prog->popExpr();
	}

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movq %rdx, 0xc0(%rsp)
movq %rcx, 0xb8(%rsp)
movq 0xd0(%rsp), %rdi
movq %rdi, 0x20(%rsp)
addq $0x78, %rdi
callq 0x22290
cmpq $0x1, %rax
jne 0xc1732
movq 0x20(%rsp), %rdi
addq $0x78, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3ef30
movq %rax, %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0xb8(%rsp), %rsi
callq 0x97950
jmp 0xc1957
movq 0x20(%rsp), %rdi
movq 0xb8(%rsp), %rax
movq %rax, 0x10(%rsp)
callq 0x1bed0
movq %rax, %rsi
leaq 0x88(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1a920
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x98(%rsp), %rdi
callq 0x285b0
jmp 0xc1777
movq 0x10(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x96750
jmp 0xc178b
leaq 0x98(%rsp), %rdi
callq 0xb6e8
leaq 0x88(%rsp), %rdi
callq 0x1a950
movq 0xb8(%rsp), %rdi
callq 0x97930
movq 0x20(%rsp), %rax
movb $0x1, 0x7b(%rsp)
addq $0x78, %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rdi
callq 0x221a0
movq %rax, 0x68(%rsp)
movq 0x70(%rsp), %rdi
callq 0x22010
movq %rax, 0x60(%rsp)
leaq 0x68(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0xbd540
testb $0x1, %al
jne 0xc17fb
jmp 0xc194a
leaq 0x68(%rsp), %rdi
callq 0xbd580
movq %rax, %rsi
leaq 0x50(%rsp), %rdi
callq 0x1ac60
testb $0x1, 0x7b(%rsp)
jne 0xc18f3
movq 0xb8(%rsp), %rax
movq %rax, (%rsp)
leaq 0x2f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xb690
movq 0x8(%rsp), %rdx
leaq 0x13ea6(%rip), %rsi     # 0xd56ea
leaq 0x30(%rsp), %rdi
callq 0xb4c0
jmp 0xc1850
movq (%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x96750
jmp 0xc1860
leaq 0x30(%rsp), %rdi
callq 0xb6e8
leaq 0x2f(%rsp), %rdi
callq 0xb3f0
jmp 0xc18f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x80(%rsp)
movl %eax, 0x7c(%rsp)
jmp 0xc18a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x80(%rsp)
movl %eax, 0x7c(%rsp)
leaq 0x98(%rsp), %rdi
callq 0xb6e8
leaq 0x88(%rsp), %rdi
callq 0x1a950
jmp 0xc195f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x80(%rsp)
movl %eax, 0x7c(%rsp)
jmp 0xc18e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x80(%rsp)
movl %eax, 0x7c(%rsp)
leaq 0x30(%rsp), %rdi
callq 0xb6e8
leaq 0x2f(%rsp), %rdi
callq 0xb3f0
jmp 0xc193e
movb $0x0, 0x7b(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x1bb50
movq %rax, %rdi
movq 0xb8(%rsp), %rsi
callq 0x97950
jmp 0xc1914
leaq 0x50(%rsp), %rdi
callq 0x1acc0
leaq 0x68(%rsp), %rdi
callq 0xbd610
jmp 0xc17e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x80(%rsp)
movl %eax, 0x7c(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x1acc0
jmp 0xc195f
movq 0xb8(%rsp), %rdi
callq 0x97a00
addq $0xd8, %rsp
retq
movq 0x80(%rsp), %rdi
callq 0xb680
nopl (%rax)
// File: menhits[P]phplus/src/Actions/VarAction.cpp
// Function: VarGetAction::execute(void*, void*)
void* execute(void* inLeft, void* inRight)
	{
		if (!(*stackPtrPtr))
		{
			throw PhplusError("something fucked up big time. VarGetAction::execute called while stack pointer is still null", RUNTIME_ERROR);
		}
		
		void* out=malloc(returnType->getSize());
		memcpy(out, (char*)(*stackPtrPtr)+offset, returnType->getSize());
		return out;
	}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movq %rsi, 0x98(%rsp)
movq %rdx, 0x90(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x78(%rax), %rax
cmpq $0x0, (%rax)
jne 0xc5e06
movb $0x1, 0x47(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x20(%rsp)
leaq 0x6f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xb690
movq 0x28(%rsp), %rdx
leaq 0x11d00(%rip), %rsi     # 0xd7a59
leaq 0x70(%rsp), %rdi
callq 0xb4c0
jmp 0xc5d65
xorl %eax, %eax
movl %eax, %esi
leaq 0x48(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xfbe0
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rcx
leaq 0x70(%rsp), %rsi
movl $0x4, %edx
callq 0x35600
jmp 0xc5d93
movq 0x20(%rsp), %rdi
movb $0x0, 0x47(%rsp)
leaq 0x4f824(%rip), %rsi     # 0x1155c8
leaq -0xab73b(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0xc5e87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0xc5de7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x48(%rsp), %rdi
callq 0xfc00
leaq 0x70(%rsp), %rdi
callq 0xb6e8
leaq 0x6f(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x47(%rsp)
jne 0xc5dfa
jmp 0xc5e04
movq 0x20(%rsp), %rdi
callq 0xb2d0
jmp 0xc5e7d
movq 0x30(%rsp), %rdi
addq $0x28, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, %rdi
callq 0xb4a0
movq 0x30(%rsp), %rdi
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x78(%rdi), %rax
movq (%rax), %rax
addq 0x80(%rdi), %rax
movq %rax, 0x10(%rsp)
addq $0x28, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0xb310
movq 0x38(%rsp), %rax
addq $0xa8, %rsp
retq
movq 0x60(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)
// File: menhits[P]phplus/src/Actions/VarAction.cpp
// Function: VarGetAction::addToProg(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>, CppProgram*)
void addToProg(Action inLeft, Action inRight, CppProgram* prog)
	{
		/*
		if ((nameHint=="me" || nameHint=="in") && getReturnType()->getType()==TypeBase::TUPLE)
		{
			prog->code(prog->getTypeCode(getReturnType()));
			prog->pushExpr();
				bool isFirst=true;
				for (auto i: *getReturnType()->getAllSubTypes())
				{
					if (!isFirst)
						prog->code(", ");
					isFirst=false;
					prog->name(i.name);
				}
			prog->popExpr();
		}
		else
		*/
		{
			prog->declareVar(nameHint, getReturnType());
			prog->name(nameHint);
		}
	}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq %rdx, 0x70(%rsp)
movq %rcx, 0x68(%rsp)
movq 0x80(%rsp), %rdi
movq %rdi, (%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rdi, %rax
addq $0x8, %rax
movq %rax, 0x10(%rsp)
callq 0x1bed0
movq %rax, %rsi
leaq 0x58(%rsp), %rdi
callq 0x1a920
leaq 0x37(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xb690
movq 0x18(%rsp), %rdx
leaq 0xbb22(%rip), %rsi      # 0xd1a1f
leaq 0x38(%rsp), %rdi
callq 0xb4c0
jmp 0xc5f09
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
leaq 0x58(%rsp), %rdx
leaq 0x38(%rsp), %rcx
callq 0x29fe0
jmp 0xc5f24
leaq 0x38(%rsp), %rdi
callq 0xb6e8
leaq 0x37(%rsp), %rdi
callq 0xb3f0
leaq 0x58(%rsp), %rdi
callq 0x1a950
movq (%rsp), %rsi
movq 0x68(%rsp), %rdi
addq $0x8, %rsi
callq 0x96790
addq $0x88, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x28(%rsp)
movl %eax, 0x24(%rsp)
jmp 0xc5f84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x28(%rsp)
movl %eax, 0x24(%rsp)
leaq 0x38(%rsp), %rdi
callq 0xb6e8
leaq 0x37(%rsp), %rdi
callq 0xb3f0
leaq 0x58(%rsp), %rdi
callq 0x1a950
movq 0x28(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: menhits[P]phplus/src/Actions/VarAction.cpp
// Function: VarSetAction::execute(void*, void*)
void* execute(void* left, void* right)
	{
		if (!(*stackPtrPtr))
		{
			throw PhplusError("something fucked up big time. VarSetAction::execute called while stack pointer is still null", RUNTIME_ERROR);
		}
		
		//copy data on to the stack location of the var
		memcpy((char*)(*stackPtrPtr)+offset, right, inRightType->getSize());
		
		//return a new copy of the data
		void* out=malloc(returnType->getSize());
		memcpy(out, (char*)(*stackPtrPtr)+offset, inRightType->getSize());
		//return out;
		return nullptr;
	}

// Assembly:
subq $0xb8, %rsp
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq %rdx, 0xa0(%rsp)
movq 0xb0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x78(%rax), %rax
cmpq $0x0, (%rax)
jne 0xc6192
movb $0x1, 0x57(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x30(%rsp)
leaq 0x7f(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdx
leaq 0x119e2(%rip), %rsi     # 0xd7abb
leaq 0x80(%rsp), %rdi
callq 0xb4c0
jmp 0xc60e8
xorl %eax, %eax
movl %eax, %esi
leaq 0x58(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xfbe0
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rcx
leaq 0x80(%rsp), %rsi
movl $0x4, %edx
callq 0x35600
jmp 0xc6119
movq 0x30(%rsp), %rdi
movb $0x0, 0x57(%rsp)
leaq 0x4f49e(%rip), %rsi     # 0x1155c8
leaq -0xabac1(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0xc6259
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
jmp 0xc6170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x58(%rsp), %rdi
callq 0xfc00
leaq 0x80(%rsp), %rdi
callq 0xb6e8
leaq 0x7f(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x57(%rsp)
jne 0xc6183
jmp 0xc618d
movq 0x30(%rsp), %rdi
callq 0xb2d0
jmp 0xc624f
movq 0x40(%rsp), %rdi
movq 0x78(%rdi), %rax
movq (%rax), %rax
addq 0x80(%rdi), %rax
movq %rax, 0x8(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x10(%rsp)
addq $0x48, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
callq 0xb310
movq 0x40(%rsp), %rdi
addq $0x28, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, %rdi
callq 0xb4a0
movq 0x40(%rsp), %rdi
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x78(%rdi), %rax
movq (%rax), %rax
addq 0x80(%rdi), %rax
movq %rax, 0x20(%rsp)
addq $0x48, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq %rax, %rdx
callq 0xb310
xorl %eax, %eax
addq $0xb8, %rsp
retq
movq 0x70(%rsp), %rdi
callq 0xb680
nopl (%rax)
// File: menhits[P]phplus/src/utils/fileUtils.cpp
// Function: loadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
void loadFile(string filepath, string& contents)
{
	std::fstream inFile;
	
	inFile.open(filepath);
	
	if (!inFile.is_open())
	{
		throw "tidak bisa membuka '"+filepath+"'";
	}
	else
	{
		stringstream strStream;
		strStream << inFile.rdbuf();//read the file
		contents = strStream.str();//str holds the content of the file
		inFile.close();
	}
}

// Assembly:
subq $0x438, %rsp            # imm = 0x438
movq %rdi, 0x28(%rsp)
movq %rdi, 0x430(%rsp)
movq %rsi, 0x428(%rsp)
leaq 0x218(%rsp), %rdi
callq 0xb420
movl $0x8, %edi
movl $0x10, %esi
callq 0xadd70
movl %eax, 0x34(%rsp)
jmp 0xc790e
movl 0x34(%rsp), %edx
movq 0x28(%rsp), %rsi
leaq 0x218(%rsp), %rdi
callq 0xb4d0
jmp 0xc7926
leaq 0x218(%rsp), %rdi
callq 0xb660
movb %al, 0x27(%rsp)
jmp 0xc7939
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0xc7a24
jmp 0xc7947
movb $0x1, 0x1e7(%rsp)
movl $0x20, %edi
callq 0xb1f0
movq 0x28(%rsp), %rdx
movq %rax, 0x18(%rsp)
leaq 0x102fd(%rip), %rsi     # 0xd7c67
leaq 0x1e8(%rsp), %rdi
callq 0xfab0
jmp 0xc7979
movq 0x18(%rsp), %rdi
leaq 0xf115(%rip), %rdx      # 0xd6a9a
leaq 0x1e8(%rsp), %rsi
callq 0xfa60
jmp 0xc7994
movq 0x18(%rsp), %rdi
movb $0x0, 0x1e7(%rsp)
leaq 0x4efa8(%rip), %rsi     # 0x116950
movq 0x505d9(%rip), %rdx     # 0x117f88
callq 0xb640
jmp 0xc7af9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x210(%rsp)
movl %eax, 0x20c(%rsp)
jmp 0xc7adf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x210(%rsp)
movl %eax, 0x20c(%rsp)
jmp 0xc7a09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x210(%rsp)
movl %eax, 0x20c(%rsp)
leaq 0x1e8(%rsp), %rdi
callq 0xb6e8
testb $0x1, 0x1e7(%rsp)
jne 0xc7a15
jmp 0xc7a1f
movq 0x18(%rsp), %rdi
callq 0xb2d0
jmp 0xc7adf
leaq 0x58(%rsp), %rdi
callq 0xb2b0
jmp 0xc7a30
leaq 0x68(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x218(%rsp), %rdi
callq 0xb3d0
movq %rax, 0x10(%rsp)
jmp 0xc7a4e
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0xb0d0
jmp 0xc7a5f
leaq 0x38(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0xb370
jmp 0xc7a70
movq 0x428(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movq %rsi, (%rsp)
callq 0xb450
movq (%rsp), %rdi
callq 0xb6e8
leaq 0x218(%rsp), %rdi
callq 0xb060
jmp 0xc7a9e
leaq 0x58(%rsp), %rdi
callq 0xb2e0
jmp 0xc7aca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x210(%rsp)
movl %eax, 0x20c(%rsp)
leaq 0x58(%rsp), %rdi
callq 0xb2e0
jmp 0xc7adf
leaq 0x218(%rsp), %rdi
callq 0xb0e0
addq $0x438, %rsp            # imm = 0x438
retq
leaq 0x218(%rsp), %rdi
callq 0xb0e0
movq 0x210(%rsp), %rdi
callq 0xb680
nopl (%rax)
// File: menhits[P]phplus/src/utils/fileUtils.cpp
// Function: writeFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void writeFile(string filepath, const string& contents)
{
	std::ofstream outFile;
	
	outFile.open(filepath);
	
	if (!outFile.is_open())
	{
		throw "error writing to '"+filepath+"'";
	}
	else
	{
		outFile << contents;
		
		outFile.close();
	}
}

// Assembly:
subq $0x268, %rsp            # imm = 0x268
movq %rdi, 0x18(%rsp)
movq %rdi, 0x260(%rsp)
movq %rsi, 0x258(%rsp)
leaq 0x58(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xb630
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movl $0x10, %edx
callq 0xb1e0
jmp 0xc7b41
leaq 0x58(%rsp), %rdi
callq 0xb2f0
movb %al, 0xf(%rsp)
jmp 0xc7b51
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0xc7c0e
jmp 0xc7b5f
movb $0x1, 0x27(%rsp)
movl $0x20, %edi
callq 0xb1f0
movq 0x18(%rsp), %rdx
movq %rax, (%rsp)
leaq 0x100fe(%rip), %rsi     # 0xd7c7c
leaq 0x28(%rsp), %rdi
callq 0xfab0
jmp 0xc7b8a
movq (%rsp), %rdi
leaq 0xef05(%rip), %rdx      # 0xd6a9a
leaq 0x28(%rsp), %rsi
callq 0xfa60
jmp 0xc7ba1
movq (%rsp), %rdi
movb $0x0, 0x27(%rsp)
leaq 0x4ed9f(%rip), %rsi     # 0x116950
movq 0x503d0(%rip), %rdx     # 0x117f88
callq 0xb640
jmp 0xc7c56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0xc7c42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0xc7bfa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x28(%rsp), %rdi
callq 0xb6e8
testb $0x1, 0x27(%rsp)
jne 0xc7c03
jmp 0xc7c0c
movq (%rsp), %rdi
callq 0xb2d0
jmp 0xc7c42
movq 0x258(%rsp), %rsi
leaq 0x58(%rsp), %rdi
callq 0xb340
jmp 0xc7c22
leaq 0x58(%rsp), %rdi
callq 0xb550
jmp 0xc7c2e
jmp 0xc7c30
leaq 0x58(%rsp), %rdi
callq 0xb570
addq $0x268, %rsp            # imm = 0x268
retq
leaq 0x58(%rsp), %rdi
callq 0xb570
movq 0x50(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
// File: menhits[P]phplus/src/utils/stringArray.cpp
// Function: str::getMaxWidth(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
int getMaxWidth(vector<string>& in)
{
	int out=0;
	
	for (int i=0; i<(int)in.size(); i++)
	{
		int w=getWidth(in[i]);
		
		if (w>out)
			out=w;
	}
	
	return out;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
movl 0x8(%rsp), %eax
movl %eax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x1bbb0
movq %rax, %rcx
movl (%rsp), %eax
cmpl %ecx, %eax
jge 0xc7cd0
movq 0x10(%rsp), %rdi
movslq 0x8(%rsp), %rsi
callq 0x1bbd0
movq %rax, %rdi
callq 0xc7ff0
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
cmpl 0xc(%rsp), %eax
jle 0xc7cc1
movl 0x4(%rsp), %eax
movl %eax, 0xc(%rsp)
jmp 0xc7cc3
movl 0x8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8(%rsp)
jmp 0xc7c79
movl 0xc(%rsp), %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: menhits[P]phplus/src/utils/stringArray.cpp
// Function: str::padWidths(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&, int, str::StringPadAlignment, 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>>)
void padWidths(vector<string>& out, int size, StringPadAlignment alignment, string pad, string leftCap, string rightCap)
{
	if (size<0)
	{
		size=getMaxWidth(out);
	}
	
	for (int i=0; i<(int)out.size(); i++)
	{
		out[i]=str::pad(out[i], size, alignment, pad, leftCap, rightCap);
	}
}

// Assembly:
subq $0xf8, %rsp
movq %rcx, 0x20(%rsp)
movq %r8, 0x28(%rsp)
movq %r9, 0x30(%rsp)
movq %rdi, 0xf0(%rsp)
movl %esi, 0xec(%rsp)
movl %edx, 0xe8(%rsp)
movq %rcx, 0xe0(%rsp)
movq %r8, 0xd8(%rsp)
movq %r9, 0xd0(%rsp)
cmpl $0x0, 0xec(%rsp)
jge 0xc7d42
movq 0xf0(%rsp), %rdi
callq 0xc7c60
movl %eax, 0xec(%rsp)
movl $0x0, 0xcc(%rsp)
movl 0xcc(%rsp), %eax
movl %eax, 0x1c(%rsp)
movq 0xf0(%rsp), %rdi
callq 0x1bbb0
movq %rax, %rcx
movl 0x1c(%rsp), %eax
cmpl %ecx, %eax
jge 0xc7ec6
movq 0xf0(%rsp), %rdi
movslq 0xcc(%rsp), %rsi
callq 0x1bbd0
movq 0x20(%rsp), %rsi
movq %rax, 0x8(%rsp)
movl 0xec(%rsp), %eax
movl %eax, 0x14(%rsp)
movl 0xe8(%rsp), %eax
movl %eax, 0x18(%rsp)
leaq 0x88(%rsp), %rdi
callq 0xb1a0
movq 0x28(%rsp), %rsi
leaq 0x68(%rsp), %rdi
callq 0xb1a0
jmp 0xc7dc7
movq 0x30(%rsp), %rsi
leaq 0x38(%rsp), %rdi
callq 0xb1a0
jmp 0xc7dd8
movl 0x18(%rsp), %ecx
movl 0x14(%rsp), %edx
movq 0x8(%rsp), %rsi
movq %rsp, %rax
leaq 0x38(%rsp), %rdi
movq %rdi, (%rax)
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %r8
leaq 0x68(%rsp), %r9
callq 0xcffb0
jmp 0xc7e0c
movq 0xf0(%rsp), %rdi
movslq 0xcc(%rsp), %rsi
callq 0x1bbd0
movq %rax, %rdi
leaq 0xa8(%rsp), %rsi
callq 0xb450
leaq 0xa8(%rsp), %rdi
callq 0xb6e8
leaq 0x38(%rsp), %rdi
callq 0xb6e8
leaq 0x68(%rsp), %rdi
callq 0xb6e8
leaq 0x88(%rsp), %rdi
callq 0xb6e8
movl 0xcc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xcc(%rsp)
jmp 0xc7d4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0xc7eb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0xc7ead
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x38(%rsp), %rdi
callq 0xb6e8
leaq 0x68(%rsp), %rdi
callq 0xb6e8
leaq 0x88(%rsp), %rdi
callq 0xb6e8
jmp 0xc7ece
addq $0xf8, %rsp
retq
movq 0x60(%rsp), %rdi
callq 0xb680
nopl (%rax,%rax)