LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstNodeBase::getAction()
Action getAction()
	{
		if (!action)
		{
			if (!ns)
			{
				throw PhplusError("tried to get action from AST node when input had not been set", INTERNAL_ERROR, getToken());
			}
			
			resolveAction();
			
			if (!nameHint.empty())
				action->nameHint=nameHint;
		}
		
		return action;
	}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x20(%rsp)
movq %rdi, %rax
movq %rax, 0x28(%rsp)
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
movq 0x88(%rsp), %rdi
movq %rdi, 0x30(%rsp)
addq $0x48, %rdi
callq 0x1be40
testb $0x1, %al
jne 0x1ac30
movq 0x30(%rsp), %rdi
addq $0x70, %rdi
callq 0x1d730
testb $0x1, %al
jne 0x1abe6
movb $0x1, 0x3f(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x10(%rsp)
leaq 0x67(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xb690
movq 0x18(%rsp), %rdx
leaq 0xb6a14(%rip), %rsi     # 0xd153b
leaq 0x68(%rsp), %rdi
callq 0xb4c0
jmp 0x1ab33
movq 0x30(%rsp), %rsi
movq (%rsi), %rax
movq 0x38(%rax), %rax
leaq 0x40(%rsp), %rdi
callq *%rax
jmp 0x1ab48
movq 0x10(%rsp), %rdi
leaq 0x68(%rsp), %rsi
movl $0x3, %edx
leaq 0x40(%rsp), %rcx
callq 0x35600
jmp 0x1ab63
movq 0x10(%rsp), %rdi
movb $0x0, 0x3f(%rsp)
leaq 0xfaa54(%rip), %rsi     # 0x1155c8
leaq -0x50b(%rip), %rdx      # 0x1a670
callq 0xb640
jmp 0x1ac5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x1abc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x1abbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
leaq 0x40(%rsp), %rdi
callq 0xfc00
leaq 0x68(%rsp), %rdi
callq 0xb6e8
leaq 0x67(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x3f(%rsp)
jne 0x1abda
jmp 0x1abe4
movq 0x10(%rsp), %rdi
callq 0xb2d0
jmp 0x1ac50
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
callq *0x50(%rax)
movq 0x30(%rsp), %rdi
addq $0x8, %rdi
callq 0xb610
testb $0x1, %al
jne 0x1ac2e
movq 0x30(%rsp), %rdi
movq %rdi, %rax
addq $0x8, %rax
movq %rax, 0x8(%rsp)
addq $0x48, %rdi
callq 0x1bb50
movq 0x8(%rsp), %rsi
movq %rax, %rdi
addq $0x8, %rdi
callq 0xb050
jmp 0x1ac30
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rsi
addq $0x48, %rsi
callq 0x1ac60
movq 0x28(%rsp), %rax
addq $0x98, %rsp
retq
movq 0x58(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstFuncBody::setTypesInput()
void setTypesInput()
	{
		if (!typesInputSet)
		{
			leftTypeNode->setInput(ns, false, Void, Void);
			rightTypeNode->setInput(ns, false, Void, Void);
			returnTypeNode->setInput(ns, false, Void, Void);
			typesInputSet=true;
		}
	}

// Assembly:
subq $0x128, %rsp            # imm = 0x128
movq %rdi, 0x120(%rsp)
movq 0x120(%rsp), %rax
movq %rax, 0x78(%rsp)
testb $0x1, 0xa8(%rax)
jne 0x1ba30
movq 0x78(%rsp), %rdi
addq $0x88, %rdi
callq 0x1a5f0
movq 0x78(%rsp), %rsi
movq %rax, 0x58(%rsp)
addq $0x70, %rsi
leaq 0x110(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x1a8f0
leaq 0xfcd07(%rip), %rsi     # 0x1184a8
movq %rsi, 0x50(%rsp)
leaq 0x100(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x1a920
movq 0x50(%rsp), %rsi
leaq 0xf0(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x1a920
movq 0x58(%rsp), %rdi
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rcx
movq 0x70(%rsp), %r8
xorl %edx, %edx
callq 0x1a6f0
jmp 0x1b7ec
leaq 0xf0(%rsp), %rdi
callq 0x1a950
leaq 0x100(%rsp), %rdi
callq 0x1a950
leaq 0x110(%rsp), %rdi
callq 0x1a6e0
movq 0x78(%rsp), %rdi
addq $0x90, %rdi
callq 0x1a5f0
movq 0x78(%rsp), %rsi
movq %rax, 0x30(%rsp)
addq $0x70, %rsi
leaq 0xd0(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x1a8f0
leaq 0xfcc5d(%rip), %rsi     # 0x1184a8
movq %rsi, 0x28(%rsp)
leaq 0xc0(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x1a920
movq 0x28(%rsp), %rsi
leaq 0xb0(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x1a920
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rcx
movq 0x48(%rsp), %r8
xorl %edx, %edx
callq 0x1a6f0
jmp 0x1b896
leaq 0xb0(%rsp), %rdi
callq 0x1a950
leaq 0xc0(%rsp), %rdi
callq 0x1a950
leaq 0xd0(%rsp), %rdi
callq 0x1a6e0
movq 0x78(%rsp), %rdi
addq $0x98, %rdi
callq 0x1a5f0
movq 0x78(%rsp), %rsi
movq %rax, 0x8(%rsp)
addq $0x70, %rsi
leaq 0xa0(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x1a8f0
leaq 0xfcbb3(%rip), %rsi     # 0x1184a8
movq %rsi, (%rsp)
leaq 0x90(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1a920
movq (%rsp), %rsi
leaq 0x80(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x1a920
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %r8
xorl %edx, %edx
callq 0x1a6f0
jmp 0x1b93e
leaq 0x80(%rsp), %rdi
callq 0x1a950
leaq 0x90(%rsp), %rdi
callq 0x1a950
leaq 0xa0(%rsp), %rdi
callq 0x1a6e0
movq 0x78(%rsp), %rax
movb $0x1, 0xa8(%rax)
jmp 0x1ba30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0x1a950
leaq 0x100(%rsp), %rdi
callq 0x1a950
leaq 0x110(%rsp), %rdi
callq 0x1a6e0
jmp 0x1ba38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x1a950
leaq 0xc0(%rsp), %rdi
callq 0x1a950
leaq 0xd0(%rsp), %rdi
callq 0x1a6e0
jmp 0x1ba38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x1a950
leaq 0x90(%rsp), %rdi
callq 0x1a950
leaq 0xa0(%rsp), %rdi
callq 0x1a6e0
jmp 0x1ba38
addq $0x128, %rsp            # imm = 0x128
retq
movq 0xe8(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
nop
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstList::makeCopy(bool)
AstNode makeCopy(bool copyCache)
	{
		auto out=new AstList;
		copyToNode(out, copyCache);
		for (int i=0; i<(int)nodes.size(); i++)
		{
			out->nodes.push_back(nodes[i]->makeCopy(copyCache));
		}
		return AstNode(out);
	}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x20(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x28(%rsp)
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
andb $0x1, %al
movb %al, 0x67(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x30(%rsp)
movl $0xa0, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x38(%rsp)
callq 0x1ea80
jmp 0x1c109
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rsi
movb 0x67(%rsp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x12880
movl $0x0, 0x48(%rsp)
movq 0x30(%rsp), %rdi
movl 0x48(%rsp), %eax
movl %eax, 0x1c(%rsp)
addq $0x88, %rdi
callq 0x1a580
movq %rax, %rcx
movl 0x1c(%rsp), %eax
cmpl %ecx, %eax
jge 0x1c206
movq 0x30(%rsp), %rdi
movq 0x58(%rsp), %rax
addq $0x88, %rax
movq %rax, 0x8(%rsp)
addq $0x88, %rdi
movslq 0x48(%rsp), %rsi
callq 0x1a5d0
movq %rax, %rdi
callq 0x1a5f0
movq %rax, %rsi
movq (%rsi), %rax
movq 0x20(%rax), %rax
movzbl 0x67(%rsp), %edx
andl $0x1, %edx
leaq 0x40(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq *%rax
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1eac0
jmp 0x1c1b8
leaq 0x40(%rsp), %rdi
callq 0x1b3f0
movl 0x48(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x48(%rsp)
jmp 0x1c133
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
callq 0xb350
jmp 0x1c21f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x1b3f0
jmp 0x1c21f
movq 0x20(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x1dd40
movq 0x28(%rsp), %rax
addq $0x78, %rsp
retq
movq 0x50(%rsp), %rdi
callq 0xb680
nopl (%rax)
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstToken::makeCopy(bool)
AstNode makeCopy(bool copyCache)
	{
		auto out=new AstToken;
		copyToNode(out, copyCache);
		out->token=token;
		return AstNode(out);
	}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x8(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x10(%rsp)
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
andb $0x1, %al
movb %al, 0x47(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
movl $0x98, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x20(%rsp)
callq 0x1f430
jmp 0x1c3b9
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rsi
movb 0x47(%rsp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x12880
movq 0x18(%rsp), %rsi
addq $0x88, %rsi
movq 0x38(%rsp), %rdi
addq $0x88, %rdi
callq 0x1f470
movq 0x8(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x1dd40
movq 0x10(%rsp), %rax
addq $0x58, %rsp
retq
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x30(%rsp)
movl %eax, 0x2c(%rsp)
callq 0xb350
movq 0x30(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstFuncBody::makeCopy(bool)
AstNode makeCopy(bool copyCache)
	{
		auto out=new AstFuncBody;
		copyToNode(out, copyCache);
		out->leftTypeNode=leftTypeNode->makeCopy(copyCache);
		out->rightTypeNode=rightTypeNode->makeCopy(copyCache);
		out->returnTypeNode=returnTypeNode->makeCopy(copyCache);
		out->bodyNode=bodyNode->makeCopy(copyCache);
		out->typesInputSet=typesInputSet;
		return AstNode(out);
	}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x8(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x10(%rsp)
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
andb $0x1, %al
movb %al, 0x67(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x18(%rsp)
movl $0xb0, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x20(%rsp)
callq 0x1e270
jmp 0x1c4b9
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rsi
movb 0x67(%rsp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x12880
movq 0x18(%rsp), %rdi
addq $0x88, %rdi
callq 0x1a5f0
movq %rax, %rsi
movb 0x67(%rsp), %cl
movq (%rsi), %rax
leaq 0x40(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
movq 0x58(%rsp), %rdi
addq $0x88, %rdi
leaq 0x40(%rsp), %rsi
callq 0x1b3c0
leaq 0x40(%rsp), %rdi
callq 0x1b3f0
movq 0x18(%rsp), %rdi
addq $0x90, %rdi
callq 0x1a5f0
movq %rax, %rsi
movb 0x67(%rsp), %cl
movq (%rsi), %rax
leaq 0x38(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
movq 0x58(%rsp), %rdi
addq $0x90, %rdi
leaq 0x38(%rsp), %rsi
callq 0x1b3c0
leaq 0x38(%rsp), %rdi
callq 0x1b3f0
movq 0x18(%rsp), %rdi
addq $0x98, %rdi
callq 0x1a5f0
movq %rax, %rsi
movb 0x67(%rsp), %cl
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
movq 0x58(%rsp), %rdi
addq $0x98, %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b3c0
leaq 0x30(%rsp), %rdi
callq 0x1b3f0
movq 0x18(%rsp), %rdi
addq $0xa0, %rdi
callq 0x1a5f0
movq %rax, %rsi
movb 0x67(%rsp), %cl
movq (%rsi), %rax
leaq 0x28(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
movq 0x58(%rsp), %rdi
addq $0xa0, %rdi
leaq 0x28(%rsp), %rsi
callq 0x1b3c0
leaq 0x28(%rsp), %rdi
callq 0x1b3f0
movq 0x18(%rsp), %rax
movq 0x8(%rsp), %rdi
movb 0xa8(%rax), %cl
movq 0x58(%rsp), %rax
andb $0x1, %cl
movb %cl, 0xa8(%rax)
movq 0x58(%rsp), %rsi
callq 0x1dd40
movq 0x10(%rsp), %rax
addq $0x78, %rsp
retq
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
callq 0xb350
movq 0x50(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstFuncBody::canBeWhatev()
bool canBeWhatev()
	{
		setTypesInput();
		
		return
			leftTypeNode->getReturnType()->isWhatev() ||
			rightTypeNode->getReturnType()->isWhatev() ||
			returnTypeNode->getReturnType()->isWhatev();
	
	}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x68(%rsp)
movq 0x68(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x1b740
movq 0x8(%rsp), %rdi
addq $0x88, %rdi
callq 0x1a5f0
movq %rax, %rsi
leaq 0x58(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x1aec0
movq 0x10(%rsp), %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
movb $0x0, 0x37(%rsp)
movb $0x0, 0x1f(%rsp)
callq *%rax
movb %al, 0x1e(%rsp)
jmp 0x1c6c1
movb 0x1e(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x7(%rsp)
jne 0x1c773
jmp 0x1c6d6
movq 0x8(%rsp), %rdi
addq $0x90, %rdi
callq 0x1a5f0
movq %rax, %rsi
leaq 0x38(%rsp), %rdi
callq 0x1aec0
jmp 0x1c6f6
movb $0x1, 0x37(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movb %al, 0x6(%rsp)
jmp 0x1c717
movb 0x6(%rsp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x7(%rsp)
jne 0x1c773
jmp 0x1c728
movq 0x8(%rsp), %rdi
addq $0x98, %rdi
callq 0x1a5f0
movq %rax, %rsi
leaq 0x20(%rsp), %rdi
callq 0x1aec0
jmp 0x1c748
movb $0x1, 0x1f(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movb %al, 0x5(%rsp)
jmp 0x1c769
movb 0x5(%rsp), %al
movb %al, 0x7(%rsp)
jmp 0x1c773
movb 0x7(%rsp), %al
andb $0x1, %al
movb %al, 0x77(%rsp)
testb $0x1, 0x1f(%rsp)
jne 0x1c786
jmp 0x1c790
leaq 0x20(%rsp), %rdi
callq 0x1a950
testb $0x1, 0x37(%rsp)
jne 0x1c799
jmp 0x1c7a3
leaq 0x38(%rsp), %rdi
callq 0x1a950
leaq 0x58(%rsp), %rdi
callq 0x1a950
movb 0x77(%rsp), %al
andb $0x1, %al
addq $0x78, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x1c810
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
jmp 0x1c7fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
testb $0x1, 0x1f(%rsp)
jne 0x1c7ef
jmp 0x1c7f9
leaq 0x20(%rsp), %rdi
callq 0x1a950
jmp 0x1c7fb
testb $0x1, 0x37(%rsp)
jne 0x1c804
jmp 0x1c80e
leaq 0x38(%rsp), %rdi
callq 0x1a950
jmp 0x1c810
leaq 0x58(%rsp), %rdi
callq 0x1a950
movq 0x50(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
nop
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstExpression::makeCopy(bool)
AstNode makeCopy(bool copyCache)
	{
		auto out=new AstExpression;
		copyToNode(out, copyCache);
		out->leftIn=leftIn->makeCopy(copyCache);
		out->center=center->makeCopy(copyCache);
		out->rightIn=rightIn->makeCopy(copyCache);
		return AstNode(out);
	}

// Assembly:
subq $0x68, %rsp
movq %rdi, (%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x8(%rsp)
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
andb $0x1, %al
movb %al, 0x57(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
movl $0xa0, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x18(%rsp)
callq 0x1f4e0
jmp 0x1c8c8
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rsi
movb 0x57(%rsp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x12880
movq 0x10(%rsp), %rdi
addq $0x88, %rdi
callq 0x1a5f0
movq %rax, %rsi
movb 0x57(%rsp), %cl
movq (%rsi), %rax
leaq 0x30(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
movq 0x48(%rsp), %rdi
addq $0x88, %rdi
leaq 0x30(%rsp), %rsi
callq 0x1b3c0
leaq 0x30(%rsp), %rdi
callq 0x1b3f0
movq 0x10(%rsp), %rdi
addq $0x90, %rdi
callq 0x1a5f0
movq %rax, %rsi
movb 0x57(%rsp), %cl
movq (%rsi), %rax
leaq 0x28(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
movq 0x48(%rsp), %rdi
addq $0x90, %rdi
leaq 0x28(%rsp), %rsi
callq 0x1b3c0
leaq 0x28(%rsp), %rdi
callq 0x1b3f0
movq 0x10(%rsp), %rdi
addq $0x98, %rdi
callq 0x1a5f0
movq %rax, %rsi
movb 0x57(%rsp), %cl
movq (%rsi), %rax
leaq 0x20(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
movq 0x48(%rsp), %rdi
addq $0x98, %rdi
leaq 0x20(%rsp), %rsi
callq 0x1b3c0
leaq 0x20(%rsp), %rdi
callq 0x1b3f0
movq (%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x1dd40
movq 0x8(%rsp), %rax
addq $0x68, %rsp
retq
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x40(%rsp)
movl %eax, 0x3c(%rsp)
callq 0xb350
movq 0x40(%rsp), %rdi
callq 0xb680
nop
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstConstExpression::makeCopy(bool)
AstNode makeCopy(bool copyCache)
	{
		auto out=new AstConstExpression;
		copyToNode(out, copyCache);
		out->center=unique_ptr<AstToken>((AstToken*)center->makeCopy(copyCache).release());;
		out->rightIn=center->makeCopy(copyCache);
		return AstNode(out);
	}

// Assembly:
subq $0x68, %rsp
movq %rdi, (%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x8(%rsp)
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
andb $0x1, %al
movb %al, 0x57(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
movl $0x98, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x18(%rsp)
callq 0x1f550
jmp 0x1ca98
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rsi
movb 0x57(%rsp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x12880
movq 0x10(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb60
movq %rax, %rsi
movb 0x57(%rsp), %cl
movq (%rsi), %rax
leaq 0x28(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
leaq 0x28(%rsp), %rdi
callq 0x1f5b0
movq %rax, %rsi
leaq 0x30(%rsp), %rdi
callq 0x1f5c0
movq 0x48(%rsp), %rdi
addq $0x88, %rdi
leaq 0x30(%rsp), %rsi
callq 0x1f5f0
leaq 0x30(%rsp), %rdi
callq 0x1f620
leaq 0x28(%rsp), %rdi
callq 0x1b3f0
movq 0x10(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb60
movq %rax, %rsi
movb 0x57(%rsp), %cl
movq (%rsi), %rax
leaq 0x20(%rsp), %rdi
andb $0x1, %cl
movzbl %cl, %edx
callq *0x20(%rax)
movq 0x48(%rsp), %rdi
addq $0x90, %rdi
leaq 0x20(%rsp), %rsi
callq 0x1b3c0
leaq 0x20(%rsp), %rdi
callq 0x1b3f0
movq (%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x1dd40
movq 0x8(%rsp), %rax
addq $0x68, %rsp
retq
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x40(%rsp)
movl %eax, 0x3c(%rsp)
callq 0xb350
movq 0x40(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstOpWithInput::makeCopy(bool)
AstNode makeCopy(bool copyCache)
	{
		auto out=new AstOpWithInput;
		copyToNode(out, copyCache);
		out->token=token;
		for (int i=0; i<(int)leftIn.size(); i++)
		{
			out->leftIn.push_back(leftIn[i]->makeCopy(copyCache));
		}
		for (int i=0; i<(int)rightIn.size(); i++)
		{
			out->rightIn.push_back(rightIn[i]->makeCopy(copyCache));
		}
		return AstNode(out);
	}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x30(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x38(%rsp)
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
andb $0x1, %al
movb %al, 0x87(%rsp)
movq 0x88(%rsp), %rax
movq %rax, 0x40(%rsp)
movl $0xc8, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x48(%rsp)
callq 0x1fa60
jmp 0x1cc78
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rsi
movb 0x87(%rsp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x12880
movq 0x40(%rsp), %rsi
addq $0x88, %rsi
movq 0x78(%rsp), %rdi
addq $0x88, %rdi
callq 0x1f470
movl $0x0, 0x68(%rsp)
movq 0x40(%rsp), %rdi
movl 0x68(%rsp), %eax
movl %eax, 0x2c(%rsp)
addq $0x98, %rdi
callq 0x1a580
movq %rax, %rcx
movl 0x2c(%rsp), %eax
cmpl %ecx, %eax
jge 0x1cd9e
movq 0x40(%rsp), %rdi
movq 0x78(%rsp), %rax
addq $0x98, %rax
movq %rax, 0x18(%rsp)
addq $0x98, %rdi
movslq 0x68(%rsp), %rsi
callq 0x1a5d0
movq %rax, %rdi
callq 0x1a5f0
movq %rax, %rsi
movq (%rsi), %rax
movq 0x20(%rax), %rax
movzbl 0x87(%rsp), %edx
andl $0x1, %edx
leaq 0x60(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq *%rax
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1eac0
jmp 0x1cd4a
leaq 0x60(%rsp), %rdi
callq 0x1b3f0
movl 0x68(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x68(%rsp)
jmp 0x1ccc2
movq 0x48(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
callq 0xb350
jmp 0x1ce7c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x1b3f0
jmp 0x1ce7c
movl $0x0, 0x5c(%rsp)
movq 0x40(%rsp), %rdi
movl 0x5c(%rsp), %eax
movl %eax, 0x14(%rsp)
addq $0xb0, %rdi
callq 0x1a580
movq %rax, %rcx
movl 0x14(%rsp), %eax
cmpl %ecx, %eax
jge 0x1ce60
movq 0x40(%rsp), %rdi
movq 0x78(%rsp), %rax
addq $0xb0, %rax
movq %rax, (%rsp)
addq $0xb0, %rdi
movslq 0x5c(%rsp), %rsi
callq 0x1a5d0
movq %rax, %rdi
callq 0x1a5f0
movq %rax, %rsi
movq (%rsi), %rax
movq 0x20(%rax), %rax
movzbl 0x87(%rsp), %edx
andl $0x1, %edx
leaq 0x50(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq *%rax
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x1eac0
jmp 0x1ce2c
leaq 0x50(%rsp), %rdi
callq 0x1b3f0
movl 0x5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5c(%rsp)
jmp 0x1cda6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x1b3f0
jmp 0x1ce7c
movq 0x30(%rsp), %rdi
movq 0x78(%rsp), %rsi
callq 0x1dd40
movq 0x38(%rsp), %rax
addq $0x98, %rsp
retq
movq 0x70(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstTupleType::makeCopy(bool)
AstNode makeCopy(bool copyCache)
	{
		auto out=new AstTupleType;
		copyToNode(out, copyCache);
		for (int i=0; i<(int)subTypes.size(); i++)
		{
			out->subTypes.push_back({subTypes[i].name, unique_ptr<AstType>((AstType*)subTypes[i].type->makeCopy(copyCache).release())});
		}
		return AstNode(out);
	}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0x30(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x38(%rsp)
movq %rdi, 0xa0(%rsp)
movq %rsi, 0x98(%rsp)
andb $0x1, %al
movb %al, 0x97(%rsp)
movq 0x98(%rsp), %rax
movq %rax, 0x40(%rsp)
movl $0xa0, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x48(%rsp)
callq 0x1fb50
jmp 0x1d328
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
movq %rax, 0x88(%rsp)
movq 0x88(%rsp), %rsi
movb 0x97(%rsp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x12880
movl $0x0, 0x78(%rsp)
movq 0x40(%rsp), %rdi
movl 0x78(%rsp), %eax
movl %eax, 0x2c(%rsp)
addq $0x88, %rdi
callq 0x1c010
movq %rax, %rcx
movl 0x2c(%rsp), %eax
cmpl %ecx, %eax
jge 0x1d4cb
movq 0x40(%rsp), %rdi
movq 0x88(%rsp), %rax
addq $0x88, %rax
movq %rax, 0x8(%rsp)
leaq 0x60(%rsp), %rax
movq %rax, 0x10(%rsp)
addq $0x88, %rdi
movq %rdi, 0x18(%rsp)
movslq 0x78(%rsp), %rsi
callq 0x1c030
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x1bc90
movq 0x18(%rsp), %rdi
movb $0x1, 0x57(%rsp)
leaq 0x70(%rsp), %rax
movq %rax, 0x20(%rsp)
movslq 0x78(%rsp), %rsi
callq 0x1c030
movq %rax, %rdi
addq $0x10, %rdi
callq 0x1c070
movq %rax, %rsi
movq (%rsi), %rax
movq 0x20(%rax), %rax
movzbl 0x97(%rsp), %edx
andl $0x1, %edx
leaq 0x58(%rsp), %rdi
callq *%rax
jmp 0x1d410
leaq 0x58(%rsp), %rdi
callq 0x1f5b0
movq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x1fbc0
movq 0x8(%rsp), %rdi
movb $0x0, 0x57(%rsp)
leaq 0x60(%rsp), %rsi
callq 0x1fb90
jmp 0x1d43d
leaq 0x60(%rsp), %rdi
callq 0x1fbf0
leaq 0x58(%rsp), %rdi
callq 0x1b3f0
movl 0x78(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78(%rsp)
jmp 0x1d35b
movq 0x48(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x80(%rsp)
movl %eax, 0x7c(%rsp)
callq 0xb350
jmp 0x1d4ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x80(%rsp)
movl %eax, 0x7c(%rsp)
jmp 0x1d4b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x80(%rsp)
movl %eax, 0x7c(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x1fbf0
leaq 0x58(%rsp), %rdi
callq 0x1b3f0
testb $0x1, 0x57(%rsp)
jne 0x1d4bf
jmp 0x1d4c9
movq 0x10(%rsp), %rdi
callq 0xfc00
jmp 0x1d4ea
movq 0x30(%rsp), %rdi
movq 0x88(%rsp), %rsi
callq 0x1dd40
movq 0x38(%rsp), %rax
addq $0xa8, %rsp
retq
movq 0x80(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)
// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstTypeType::makeCopy(bool)
AstNode makeCopy(bool copyCache)
	{
		auto out=new AstTypeType;
		copyToNode(out, copyCache);
		out->returnType=returnType;
		return AstNode(out);
	}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x8(%rsp)
movb %dl, %al
movq %rdi, %rcx
movq %rcx, 0x10(%rsp)
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
andb $0x1, %al
movb %al, 0x47(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
movl $0x98, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x20(%rsp)
callq 0x1d8f0
jmp 0x1da49
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rsi
movb 0x47(%rsp), %al
andb $0x1, %al
movzbl %al, %edx
callq 0x12880
movq 0x18(%rsp), %rsi
addq $0x58, %rsi
movq 0x38(%rsp), %rdi
addq $0x58, %rdi
callq 0x1a4e0
movq 0x8(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x1dd40
movq 0x10(%rsp), %rax
addq $0x58, %rsp
retq
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x30(%rsp)
movl %eax, 0x2c(%rsp)
callq 0xb350
movq 0x30(%rsp), %rdi
callq 0xb680
nopl (%rax)
// File: menhits[P]phplus/src/CppProgram.cpp
// Function: CppNameContainer::makeChild()
shared_ptr<CppNameContainer> CppNameContainer::makeChild()
{
	auto out=shared_ptr<CppNameContainer>(new CppNameContainer());
	children.push_back(out);
	out->parent=this;
	return out;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, (%rsp)
movq %rdi, %rax
movq %rax, 0x8(%rsp)
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x10(%rsp)
movb $0x0, 0x37(%rsp)
movl $0x88, %edi
callq 0xb390
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x18(%rsp)
callq 0x23120
jmp 0x23255
movq (%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x2d680
movq 0x10(%rsp), %rdi
movq (%rsp), %rsi
addq $0x70, %rdi
callq 0x2d6d0
jmp 0x23277
movq (%rsp), %rdi
callq 0x2d6b0
movq 0x10(%rsp), %rcx
movq %rcx, 0x68(%rax)
movb $0x1, 0x37(%rsp)
testb $0x1, 0x37(%rsp)
jne 0x232d3
jmp 0x232ca
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x28(%rsp)
movl %eax, 0x24(%rsp)
callq 0xb350
jmp 0x232dd
movq (%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x28(%rsp)
movl %eax, 0x24(%rsp)
callq 0x2d6c0
jmp 0x232dd
movq (%rsp), %rdi
callq 0x2d6c0
movq 0x8(%rsp), %rax
addq $0x48, %rsp
retq
movq 0x28(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)
// File: menhits[P]phplus/src/CppProgram.cpp
// Function: CppNameContainer::hasCppDown(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
bool CppNameContainer::hasCppDown(const string& cpp)
{
	for (auto i: children)
	{
		if (i->hasCppMe(cpp) || i->hasCppDown(cpp))
			return true;
	}
	
	return false;
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq 0x58(%rsp), %rax
addq $0x70, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x2d9c0
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x2d9f0
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x2da20
testb $0x1, %al
jne 0x23dd2
jmp 0x23e94
leaq 0x40(%rsp), %rdi
callq 0x2da60
movq %rax, %rsi
leaq 0x28(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x2da70
movq 0x8(%rsp), %rdi
callq 0x2d6b0
movq %rax, %rdi
movq 0x50(%rsp), %rsi
callq 0x23cc0
movb %al, 0x17(%rsp)
jmp 0x23e0b
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x23e3c
jmp 0x23e15
leaq 0x28(%rsp), %rdi
callq 0x2d6b0
movq %rax, %rdi
movq 0x50(%rsp), %rsi
callq 0x23d80
movb %al, 0x7(%rsp)
jmp 0x23e32
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0x23e3c
jmp 0x23e65
movb $0x1, 0x67(%rsp)
movl $0x1, 0x18(%rsp)
jmp 0x23e6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x20(%rsp)
movl %eax, 0x1c(%rsp)
leaq 0x28(%rsp), %rdi
callq 0x2d6c0
jmp 0x23ea4
movl $0x0, 0x18(%rsp)
leaq 0x28(%rsp), %rdi
callq 0x2d6c0
movl 0x18(%rsp), %eax
testl %eax, %eax
je 0x23e83
jmp 0x23e81
jmp 0x23e99
jmp 0x23e85
leaq 0x40(%rsp), %rdi
callq 0x2daa0
jmp 0x23dba
movb $0x0, 0x67(%rsp)
movb 0x67(%rsp), %al
andb $0x1, %al
addq $0x68, %rsp
retq
movq 0x20(%rsp), %rdi
callq 0xb680
nop
// File: menhits[P]phplus/src/CppProgram.cpp
// Function: CppNameContainer::getCpp(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
string CppNameContainer::getCpp(const string& pp)
{
	auto result=ppToCppMap.find(pp);
	
	if (result==ppToCppMap.end())
	{
		if (parent)
			return parent->getCpp(pp);
		else
			throw PhplusError("could not find C++ equivalent of '"+pp+"' in CppNameContainer::getCppForPp", INTERNAL_ERROR);
	}
	else
		return result->second;
}

// Assembly:
subq $0xb8, %rsp
movq %rdi, 0x10(%rsp)
movq %rdi, %rax
movq %rax, 0x18(%rsp)
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq %rdx, 0xa0(%rsp)
movq 0xa8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
addq $0x38, %rdi
movq 0xa0(%rsp), %rsi
callq 0x2d790
movq 0x20(%rsp), %rdi
movq %rax, 0x98(%rsp)
addq $0x38, %rdi
callq 0x2d7c0
movq %rax, 0x90(%rsp)
leaq 0x98(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x2dac0
testb $0x1, %al
jne 0x23f36
jmp 0x24058
movq 0x20(%rsp), %rax
cmpq $0x0, 0x68(%rax)
je 0x23f62
movq 0x10(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x68(%rax), %rsi
movq 0xa0(%rsp), %rdx
callq 0x23eb0
jmp 0x24076
movb $0x1, 0x2f(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x8(%rsp)
movq 0xa0(%rsp), %rdx
leaq 0xada53(%rip), %rsi     # 0xd19d8
leaq 0x50(%rsp), %rdi
callq 0xfab0
jmp 0x23f91
leaq 0xada63(%rip), %rdx     # 0xd19fb
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xfa60
jmp 0x23fa9
xorl %eax, %eax
movl %eax, %esi
leaq 0x30(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xfbe0
movq 0x8(%rsp), %rdi
movq (%rsp), %rcx
leaq 0x70(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0x23fd5
movq 0x8(%rsp), %rdi
movb $0x0, 0x2f(%rsp)
leaq 0xf15e2(%rip), %rsi     # 0x1155c8
leaq -0x997d(%rip), %rdx     # 0x1a670
callq 0xb640
jmp 0x2408d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
jmp 0x24043
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
jmp 0x24039
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
leaq 0x30(%rsp), %rdi
callq 0xfc00
leaq 0x70(%rsp), %rdi
callq 0xb6e8
leaq 0x50(%rsp), %rdi
callq 0xb6e8
testb $0x1, 0x2f(%rsp)
jne 0x2404c
jmp 0x24056
movq 0x8(%rsp), %rdi
callq 0xb2d0
jmp 0x24083
leaq 0x98(%rsp), %rdi
callq 0x2dae0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
addq $0x20, %rsi
callq 0xb1a0
movq 0x18(%rsp), %rax
addq $0xb8, %rsp
retq
movq 0x48(%rsp), %rdi
callq 0xb680
nopl (%rax)
// File: menhits[P]phplus/src/CppProgram.cpp
// Function: CppFuncBase::CppFuncBase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::shared_ptr<CppNameContainer>, bool)
CppFuncBase::CppFuncBase(string prototypeIn, shared_ptr<CppNameContainer> myNames, bool returnsValIn)
{
	prototype=prototypeIn;
	namespaceStack.push_back(myNames);
	freshLine=true;
	returnsVal=returnsValIn;
}

// Assembly:
subq $0x78, %rsp
movq %rdx, 0x20(%rsp)
movq %rsi, 0x28(%rsp)
movb %cl, %al
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
andb $0x1, %al
movb %al, 0x5f(%rsp)
movq 0x70(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %rax, 0x30(%rsp)
leaq 0x5e(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdi
movq 0x40(%rsp), %rdx
leaq 0xad93a(%rip), %rsi     # 0xd1a1e
callq 0xb4c0
jmp 0x240eb
leaq 0x5e(%rsp), %rdi
callq 0xb3f0
movq 0x30(%rsp), %rdi
movb $0x1, 0x20(%rdi)
movl $0x0, 0x24(%rdi)
movl $0x0, 0x28(%rdi)
addq $0x30, %rdi
movq %rdi, (%rsp)
callq 0xb4e0
movq 0x30(%rsp), %rdi
addq $0x50, %rdi
movq %rdi, 0x8(%rsp)
callq 0xb4e0
movq 0x30(%rsp), %rdi
addq $0x70, %rdi
movq %rdi, 0x18(%rsp)
callq 0xb4e0
movq 0x30(%rsp), %rdi
movb $0x0, 0x90(%rdi)
movb $0x0, 0x91(%rdi)
addq $0x98, %rdi
movq %rdi, 0x10(%rsp)
callq 0x2d670
movq 0x18(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xb050
jmp 0x24174
movq 0x20(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x98, %rdi
callq 0x2d6d0
jmp 0x2418c
movq 0x30(%rsp), %rax
movb $0x1, 0x20(%rax)
movb 0x5f(%rsp), %cl
andb $0x1, %cl
movb %cl, 0x90(%rax)
addq $0x78, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x5e(%rsp), %rdi
callq 0xb3f0
jmp 0x24200
movq 0x10(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
callq 0x2db00
movq 0x18(%rsp), %rdi
callq 0xb6e8
movq 0x8(%rsp), %rdi
callq 0xb6e8
movq (%rsp), %rdi
callq 0xb6e8
movq 0x38(%rsp), %rdi
callq 0xb6e8
movq 0x50(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)
// File: menhits[P]phplus/src/CppProgram.cpp
// Function: CppFuncBase::endln()
void CppFuncBase::endln()
{
	if (exprLevel>0)
	{
		throw PhplusError("non zero expression level when ending line in C++ program, code so far:\n"+indentString(source), INTERNAL_ERROR);
	}
	else if (freshLine && (source.size()<2 || source[source.size()-2]==';' || source[source.size()-2]=='}' || source[source.size()-2]=='{'))
	{
		// do nothing
		
		//source+=indentString("\n", indent, blockLevel);
	}
	else
	{
		source+=";\n";
	}
	
	freshLine=true;
}

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0xd0(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x38(%rsp)
cmpl $0x0, 0x28(%rax)
jle 0x247bf
movb $0x1, 0x47(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x20(%rsp)
addq $0x50, %rax
movq %rax, 0x28(%rsp)
leaq 0x6f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xb690
movq 0x30(%rsp), %rdx
leaq 0xad3d3(%rip), %rsi     # 0xd1a69
leaq 0x70(%rsp), %rdi
callq 0xb4c0
jmp 0x246a2
movq 0x28(%rsp), %rsi
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rdx
movl $0x1, %ecx
callq 0xa8440
jmp 0x246c0
leaq 0xad359(%rip), %rsi     # 0xd1a20
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x1bcf0
jmp 0x246de
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 0xb0(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0x2470f
movq 0x20(%rsp), %rdi
movb $0x0, 0x47(%rsp)
leaq 0xf0ea8(%rip), %rsi     # 0x1155c8
leaq -0xa0b7(%rip), %rdx     # 0x1a670
callq 0xb640
jmp 0x248b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0x2479d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0x24793
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0x24786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x48(%rsp), %rdi
callq 0xfc00
leaq 0xb0(%rsp), %rdi
callq 0xb6e8
leaq 0x90(%rsp), %rdi
callq 0xb6e8
leaq 0x70(%rsp), %rdi
callq 0xb6e8
leaq 0x6f(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x47(%rsp)
jne 0x247b0
jmp 0x247ba
movq 0x20(%rsp), %rdi
callq 0xb2d0
jmp 0x248a7
movq 0x38(%rsp), %rax
testb $0x1, 0x20(%rax)
je 0x2487f
movq 0x38(%rsp), %rdi
addq $0x50, %rdi
callq 0xb2a0
cmpq $0x2, %rax
jb 0x2487d
movq 0x38(%rsp), %rdi
movq %rdi, %rax
addq $0x50, %rax
movq %rax, 0x10(%rsp)
addq $0x50, %rdi
callq 0xb2a0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0xb6d0
movsbl (%rax), %eax
cmpl $0x3b, %eax
je 0x2487d
movq 0x38(%rsp), %rdi
movq %rdi, %rax
addq $0x50, %rax
movq %rax, 0x8(%rsp)
addq $0x50, %rdi
callq 0xb2a0
movq 0x8(%rsp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0xb6d0
movsbl (%rax), %eax
cmpl $0x7d, %eax
je 0x2487d
movq 0x38(%rsp), %rdi
movq %rdi, %rax
addq $0x50, %rax
movq %rax, (%rsp)
addq $0x50, %rdi
callq 0xb2a0
movq (%rsp), %rdi
movq %rax, %rsi
subq $0x2, %rsi
callq 0xb6d0
movsbl (%rax), %eax
cmpl $0x7b, %eax
jne 0x2487f
jmp 0x24894
movq 0x38(%rsp), %rdi
addq $0x50, %rdi
leaq 0xb0759(%rip), %rsi     # 0xd4fe8
callq 0xb360
jmp 0x24896
movq 0x38(%rsp), %rax
movb $0x1, 0x20(%rax)
addq $0xd8, %rsp
retq
movq 0x60(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
// File: menhits[P]phplus/src/CppProgram.cpp
// Function: CppFuncBase::popExpr()
void CppFuncBase::popExpr()
{
	if (exprLevel<=0)
	{
		throw PhplusError("CppProgram::popExpression called with zero expressionLevel", INTERNAL_ERROR);
	}
	
	code(")");
	exprLevel--;
	freshLine=false;
}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpl $0x0, 0x28(%rax)
jg 0x24f1e
movb $0x1, 0x57(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x10(%rsp)
leaq 0x7f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xb690
movq 0x18(%rsp), %rdx
leaq 0xacc1b(%rip), %rsi     # 0xd1a80
leaq 0x80(%rsp), %rdi
callq 0xb4c0
jmp 0x24e74
xorl %eax, %eax
movl %eax, %esi
leaq 0x58(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xfbe0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rcx
leaq 0x80(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0x24ea5
movq 0x10(%rsp), %rdi
movb $0x0, 0x57(%rsp)
leaq 0xf0712(%rip), %rsi     # 0x1155c8
leaq -0xa84d(%rip), %rdx     # 0x1a670
callq 0xb640
jmp 0x24fbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
jmp 0x24efc
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 0x24f0f
jmp 0x24f19
movq 0x10(%rsp), %rdi
callq 0xb2d0
jmp 0x24fb4
leaq 0x2f(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xb690
movq (%rsp), %rdx
leaq 0xb0dba(%rip), %rsi     # 0xd5cf1
leaq 0x30(%rsp), %rdi
callq 0xb4c0
jmp 0x24f43
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x24210
jmp 0x24f54
leaq 0x30(%rsp), %rdi
callq 0xb6e8
leaq 0x2f(%rsp), %rdi
callq 0xb3f0
movq 0x20(%rsp), %rax
movl 0x28(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x28(%rax)
movb $0x0, 0x20(%rax)
addq $0xa8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
jmp 0x24faa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x30(%rsp), %rdi
callq 0xb6e8
leaq 0x2f(%rsp), %rdi
callq 0xb3f0
movq 0x70(%rsp), %rdi
callq 0xb680
nop
// File: menhits[P]phplus/src/CppProgram.cpp
// Function: CppFuncBase::pushBlock()
void CppFuncBase::pushBlock()
{
	if (exprLevel>0)
	{
		throw PhplusError("CppProgram::pushBlock called when expressionLevel was not zero", INTERNAL_ERROR);
	}
	
	{
		code("{\n");
		namespaceStack.push_back(namespaceStack.back()->makeChild());
		blockLevel++;
		freshLine=true;
	}
}

// Assembly:
subq $0xc8, %rsp
movq %rdi, 0xc0(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpl $0x0, 0x28(%rax)
jle 0x250e0
movb $0x1, 0x77(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x20(%rsp)
leaq 0x9f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xb690
movq 0x28(%rsp), %rdx
leaq 0xacaa3(%rip), %rsi     # 0xd1abb
leaq 0xa0(%rsp), %rdi
callq 0xb4c0
jmp 0x25027
xorl %eax, %eax
movl %eax, %esi
leaq 0x78(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xfbe0
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rcx
leaq 0xa0(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0x25058
movq 0x20(%rsp), %rdi
movb $0x0, 0x77(%rsp)
leaq 0xf055f(%rip), %rsi     # 0x1155c8
leaq -0xaa00(%rip), %rdx     # 0x1a670
callq 0xb640
jmp 0x251fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x250bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x78(%rsp), %rdi
callq 0xfc00
leaq 0xa0(%rsp), %rdi
callq 0xb6e8
leaq 0x9f(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x77(%rsp)
jne 0x250d1
jmp 0x250db
movq 0x20(%rsp), %rdi
callq 0xb2d0
jmp 0x251ed
leaq 0x4f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xb690
movq 0x10(%rsp), %rdx
leaq 0xaccd5(%rip), %rsi     # 0xd1dd0
leaq 0x50(%rsp), %rdi
callq 0xb4c0
jmp 0x25107
movq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x24210
jmp 0x25118
leaq 0x50(%rsp), %rdi
callq 0xb6e8
leaq 0x4f(%rsp), %rdi
callq 0xb3f0
movq 0x30(%rsp), %rdi
addq $0x98, %rdi
movq %rdi, (%rsp)
callq 0x2db60
movq %rax, %rdi
callq 0x2d6b0
movq %rax, %rsi
leaq 0x38(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x23210
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x2dba0
jmp 0x2516b
leaq 0x38(%rsp), %rdi
callq 0x2d6c0
movq 0x30(%rsp), %rax
movl 0x24(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x24(%rax)
movb $0x1, 0x20(%rax)
addq $0xc8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x251c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x50(%rsp), %rdi
callq 0xb6e8
leaq 0x4f(%rsp), %rdi
callq 0xb3f0
jmp 0x251ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x2d6c0
movq 0x90(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)
// File: menhits[P]phplus/src/CppProgram.cpp
// Function: CppFuncBase::popBlock()
void CppFuncBase::popBlock()
{
	
	{
		if (blockLevel<=0)
		{
			throw PhplusError("CppProgram::popBlock called with zero indentationLevel", INTERNAL_ERROR);
		}
		
		blockLevel--;
		namespaceStack.pop_back();
		code("}\n");
		freshLine=true;
	}
}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpl $0x0, 0x24(%rax)
jg 0x2530e
movb $0x1, 0x57(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x10(%rsp)
leaq 0x7f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xb690
movq 0x18(%rsp), %rdx
leaq 0xac8a5(%rip), %rsi     # 0xd1afa
leaq 0x80(%rsp), %rdi
callq 0xb4c0
jmp 0x25264
xorl %eax, %eax
movl %eax, %esi
leaq 0x58(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xfbe0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rcx
leaq 0x80(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0x25295
movq 0x10(%rsp), %rdi
movb $0x0, 0x57(%rsp)
leaq 0xf0322(%rip), %rsi     # 0x1155c8
leaq -0xac3d(%rip), %rdx     # 0x1a670
callq 0xb640
jmp 0x253be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
jmp 0x252ec
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 0x252ff
jmp 0x25309
movq 0x10(%rsp), %rdi
callq 0xb2d0
jmp 0x253b4
movq 0x20(%rsp), %rdi
movl 0x24(%rdi), %eax
decl %eax
movl %eax, 0x24(%rdi)
addq $0x98, %rdi
callq 0x2dbd0
leaq 0x2f(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xb690
movq (%rsp), %rdx
leaq 0xacc9c(%rip), %rsi     # 0xd1fdc
leaq 0x30(%rsp), %rdi
callq 0xb4c0
jmp 0x2534c
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x24210
jmp 0x2535d
leaq 0x30(%rsp), %rdi
callq 0xb6e8
leaq 0x2f(%rsp), %rdi
callq 0xb3f0
movq 0x20(%rsp), %rax
movb $0x1, 0x20(%rax)
addq $0xa8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
jmp 0x253aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x70(%rsp)
movl %eax, 0x6c(%rsp)
leaq 0x30(%rsp), %rdi
callq 0xb6e8
leaq 0x2f(%rsp), %rdi
callq 0xb3f0
movq 0x70(%rsp), %rdi
callq 0xb680
nop
// File: menhits[P]phplus/src/ErrorHandler.cpp
// Function: ErrorHandler::priorityToStr[abi:cxx11](ErrorPriority)
string ErrorHandler::priorityToStr(ErrorPriority in)
{
	switch (in)
	{
	case SOURCE_ERROR:
		return "error";
		break;
		
	case SOURCE_WARNING:
		return "warning";
		break;
		
	case JSYK:
		return "jsyk";
		break;
		
	case INTERNAL_ERROR:
		return "INTERNAL ERROR";
		break;
		
	case RUNTIME_ERROR:
		return "runtime error";
		break;
		
	default:
		return "UNKNOWN PRIORITY LEVEL";
		break;
	}
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x38(%rsp)
movq %rdi, %rax
movq %rax, 0x40(%rsp)
movq %rdi, 0x70(%rsp)
movl %esi, 0x6c(%rsp)
movl 0x6c(%rsp), %eax
movq %rax, 0x48(%rsp)
subq $0x4, %rax
ja 0x34c0b
movq 0x48(%rsp), %rax
leaq 0x9d6c7(%rip), %rcx     # 0xd2130
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x6b(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rdx
leaq 0x9d6d6(%rip), %rsi     # 0xd2168
callq 0xb4c0
jmp 0x34a99
leaq 0x6b(%rsp), %rdi
callq 0xb3f0
jmp 0x34c58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x6b(%rsp), %rdi
callq 0xb3f0
jmp 0x34c62
leaq 0x5b(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdi
movq 0x28(%rsp), %rdx
leaq 0x9d65f(%rip), %rsi     # 0xd2144
callq 0xb4c0
jmp 0x34aec
leaq 0x5b(%rsp), %rdi
callq 0xb3f0
jmp 0x34c58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x5b(%rsp), %rdi
callq 0xb3f0
jmp 0x34c62
leaq 0x5a(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rdx
leaq 0x9d614(%rip), %rsi     # 0xd214c
callq 0xb4c0
jmp 0x34b3f
leaq 0x5a(%rsp), %rdi
callq 0xb3f0
jmp 0x34c58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x5a(%rsp), %rdi
callq 0xb3f0
jmp 0x34c62
leaq 0x59(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdi
movq 0x18(%rsp), %rdx
leaq 0x9d5c6(%rip), %rsi     # 0xd2151
callq 0xb4c0
jmp 0x34b92
leaq 0x59(%rsp), %rdi
callq 0xb3f0
jmp 0x34c58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x59(%rsp), %rdi
callq 0xb3f0
jmp 0x34c62
leaq 0x58(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rdx
leaq 0x9d582(%rip), %rsi     # 0xd2160
callq 0xb4c0
jmp 0x34be5
leaq 0x58(%rsp), %rdi
callq 0xb3f0
jmp 0x34c58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x58(%rsp), %rdi
callq 0xb3f0
jmp 0x34c62
leaq 0x57(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x9d543(%rip), %rsi     # 0xd216e
callq 0xb4c0
jmp 0x34c32
leaq 0x57(%rsp), %rdi
callq 0xb3f0
jmp 0x34c58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x57(%rsp), %rdi
callq 0xb3f0
jmp 0x34c62
movq 0x40(%rsp), %rax
addq $0x78, %rsp
retq
movq 0x60(%rsp), %rdi
callq 0xb680
nopl (%rax)
// File: menhits[P]phplus/src/Namespace.cpp
// Function: NamespaceData::IdMap::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::unique_ptr<AstNodeBase, std::default_delete<AstNodeBase>>)
void NamespaceData::IdMap::add(string key, AstNode node)
{
	auto i=nodes.find(key);
	
	if (i==nodes.end())
	{
		nodes[key]=vector<AstNode>();
	}
	
	nodes[key].push_back(move(node));
}

// Assembly:
subq $0x78, %rsp
movq %rsi, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
movq 0x70(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x3e700
movq 0x18(%rsp), %rdi
movq %rax, 0x58(%rsp)
callq 0x3e750
movq %rax, 0x50(%rsp)
leaq 0x58(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x3e730
testb $0x1, %al
jne 0x399f5
jmp 0x39a59
xorps %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
movq $0x0, 0x40(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x1eaf0
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x3e780
movq %rax, (%rsp)
jmp 0x39a25
movq (%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x3e7b0
leaq 0x30(%rsp), %rdi
callq 0x3e7f0
jmp 0x39a59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x28(%rsp)
movl %eax, 0x24(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x3e7f0
jmp 0x39a7a
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x3e780
movq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x1eac0
addq $0x78, %rsp
retq
movq 0x28(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)
// File: menhits[P]phplus/src/Namespace.cpp
// Function: NamespaceData::IdMap::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<AstNodeBase*, std::allocator<AstNodeBase*>>&)
void NamespaceData::IdMap::get(string key, vector<AstNodeBase*>& out)
{
	auto matches=nodes.find(key);
	
	if (matches!=nodes.end())
	{
		for (unsigned i=0; i<matches->second.size(); i++)
		{
			out.push_back(&*matches->second[i]);
		}
	}
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq 0x50(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x3e700
movq 0x18(%rsp), %rdi
movq %rax, 0x38(%rsp)
callq 0x3e750
movq %rax, 0x30(%rsp)
leaq 0x38(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x3e850
testb $0x1, %al
jne 0x39ade
jmp 0x39b63
movl $0x0, 0x2c(%rsp)
movl 0x2c(%rsp), %eax
movq %rax, 0x10(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x3e870
movq %rax, %rdi
addq $0x20, %rdi
callq 0x1a580
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0x39b61
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x3e870
movq %rax, %rdi
addq $0x20, %rdi
movl 0x2c(%rsp), %eax
movl %eax, %esi
callq 0x1a5d0
movq %rax, %rdi
callq 0x3e8c0
movq 0x8(%rsp), %rdi
movq %rax, 0x20(%rsp)
leaq 0x20(%rsp), %rsi
callq 0x3e890
movl 0x2c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2c(%rsp)
jmp 0x39ae6
jmp 0x39b63
addq $0x58, %rsp
retq
nopl (%rax,%rax)
// File: menhits[P]phplus/src/Namespace.cpp
// Function: NamespaceData::getStringWithParents[abi:cxx11]()
string NamespaceData::getStringWithParents()
{
	auto ptr=shared_from_this();
	
	string out;
	
	while (ptr)
	{
		out=putStringInBox(ptr->getString()+"\n"+out, ptr->myName);
		ptr=ptr->parent;
	}
	
	return out;
}

// Assembly:
subq $0xe8, %rsp
movq %rdi, 0x8(%rsp)
movq %rdi, %rax
movq %rax, (%rsp)
movq %rdi, 0xe0(%rsp)
movq %rsi, 0xd8(%rsp)
movq 0xd8(%rsp), %rsi
leaq 0xc8(%rsp), %rdi
callq 0x3e990
movq 0x8(%rsp), %rdi
movb $0x0, 0xc7(%rsp)
callq 0xb4e0
leaq 0xc8(%rsp), %rdi
callq 0x1d730
testb $0x1, %al
jne 0x3a280
jmp 0x3a403
leaq 0xc8(%rsp), %rdi
callq 0x1a6a0
movq %rax, %rsi
leaq 0x40(%rsp), %rdi
callq 0x3a1a0
jmp 0x3a29c
leaq 0x97c55(%rip), %rdx     # 0xd1ef8
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0xfa60
jmp 0x3a2b4
movq 0x8(%rsp), %rdx
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x2e070
jmp 0x3a2cd
leaq 0xc8(%rsp), %rdi
callq 0x1a6a0
movq %rax, %rsi
addq $0x10, %rsi
leaq 0x10(%rsp), %rdi
callq 0xb1a0
jmp 0x3a2ed
leaq 0xa0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x10(%rsp), %rdx
xorl %r8d, %r8d
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
movl %r8d, %ecx
callq 0xaad50
jmp 0x3a315
movq 0x8(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0xb450
leaq 0xa0(%rsp), %rdi
callq 0xb6e8
leaq 0x10(%rsp), %rdi
callq 0xb6e8
leaq 0x80(%rsp), %rdi
callq 0xb6e8
leaq 0x60(%rsp), %rdi
callq 0xb6e8
leaq 0x40(%rsp), %rdi
callq 0xb6e8
leaq 0xc8(%rsp), %rdi
callq 0x1a6a0
movq %rax, %rsi
addq $0x30, %rsi
leaq 0xc8(%rsp), %rdi
callq 0x1a540
jmp 0x3a26a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
jmp 0x3a438
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
jmp 0x3a3f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
jmp 0x3a3ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
jmp 0x3a3e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
leaq 0x10(%rsp), %rdi
callq 0xb6e8
leaq 0x80(%rsp), %rdi
callq 0xb6e8
leaq 0x60(%rsp), %rdi
callq 0xb6e8
leaq 0x40(%rsp), %rdi
callq 0xb6e8
jmp 0x3a438
movb $0x1, 0xc7(%rsp)
testb $0x1, 0xc7(%rsp)
jne 0x3a41f
movq 0x8(%rsp), %rdi
callq 0xb6e8
leaq 0xc8(%rsp), %rdi
callq 0x1a6e0
movq (%rsp), %rax
addq $0xe8, %rsp
retq
movq 0x8(%rsp), %rdi
callq 0xb6e8
leaq 0xc8(%rsp), %rdi
callq 0x1a6e0
movq 0x38(%rsp), %rdi
callq 0xb680
nopl (%rax)