// File: menhits[P]phplus/src/Actions/BoolOpAction.cpp
// Function: AndAction::AndAction(std::shared_ptr<ActionData>, std::shared_ptr<ActionData>)
AndAction(Action firstActionIn, Action secondActionIn)
		:ActionData(Bool, Void, Void)
	{
		firstAction=firstActionIn;
		secondAction=secondActionIn;
		
		if (firstAction->getReturnType()!=Bool)
		{
			throw PhplusError("AndAction created with first action that does not return Bool", INTERNAL_ERROR);
		}
		
		if (secondAction->getReturnType()!=Bool)
		{
			throw PhplusError("AndAction created with second action that does not return Bool", INTERNAL_ERROR);
		}
	}

// Assembly:
subq $0x168, %rsp            # imm = 0x168
movq %rsi, 0x58(%rsp)
movq %rdx, 0x60(%rsp)
movq %rdi, 0x160(%rsp)
movq %rsi, 0x158(%rsp)
movq %rdx, 0x150(%rsp)
movq 0x160(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x665cb(%rip), %rsi     # 0x1184c8
leaq 0x140(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x1a920
leaq 0x66592(%rip), %rsi     # 0x1184a8
movq %rsi, 0x68(%rsp)
leaq 0x130(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x1a920
movq 0x68(%rsp), %rsi
leaq 0x120(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x1a920
movq 0x70(%rsp), %rdi
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
callq 0xaf570
jmp 0xb1f6b
leaq 0x120(%rsp), %rdi
callq 0x1a950
leaq 0x130(%rsp), %rdi
callq 0x1a950
leaq 0x140(%rsp), %rdi
callq 0x1a950
movq 0x70(%rsp), %rdi
leaq 0x652b2(%rip), %rax     # 0x117250
movq %rax, (%rdi)
addq $0x78, %rdi
movq %rdi, 0x48(%rsp)
callq 0x1bcc0
movq 0x70(%rsp), %rdi
addq $0x88, %rdi
movq %rdi, 0x40(%rsp)
callq 0x1bcc0
movq 0x58(%rsp), %rsi
movq 0x48(%rsp), %rdi
callq 0x1a510
movq 0x40(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq 0x1a510
movq 0x48(%rsp), %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq %rax, 0x50(%rsp)
jmp 0xb1ffc
movq 0x50(%rsp), %rdi
leaq 0x664c0(%rip), %rsi     # 0x1184c8
callq 0x1be90
testb $0x1, %al
jne 0xb2016
jmp 0xb2178
movb $0x1, 0xd7(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x30(%rsp)
leaq 0xef(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xb690
movq 0x38(%rsp), %rdx
leaq 0x24dca(%rip), %rsi     # 0xd6e15
leaq 0xf0(%rsp), %rdi
callq 0xb4c0
jmp 0xb205a
xorl %eax, %eax
movl %eax, %esi
leaq 0xd8(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xfbe0
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rcx
leaq 0xf0(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0xb208e
movq 0x30(%rsp), %rdi
movb $0x0, 0xd7(%rsp)
leaq 0x63526(%rip), %rsi     # 0x1155c8
leaq -0x97a39(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0xb22eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
leaq 0x120(%rsp), %rdi
callq 0x1a950
leaq 0x130(%rsp), %rdi
callq 0x1a950
leaq 0x140(%rsp), %rdi
callq 0x1a950
jmp 0xb22de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0xb22c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0xb2150
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0xfc00
leaq 0xf0(%rsp), %rdi
callq 0xb6e8
leaq 0xef(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0xd7(%rsp)
jne 0xb2169
jmp 0xb2173
movq 0x30(%rsp), %rdi
callq 0xb2d0
jmp 0xb22c0
movq 0x70(%rsp), %rdi
addq $0x88, %rdi
callq 0x1bb50
movq %rax, %rdi
callq 0x1bed0
movq %rax, 0x20(%rsp)
jmp 0xb2198
movq 0x20(%rsp), %rdi
leaq 0x66324(%rip), %rsi     # 0x1184c8
callq 0x1be90
testb $0x1, %al
jne 0xb21b2
jmp 0xb22b8
movb $0x1, 0x97(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x10(%rsp)
leaq 0xaf(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xb690
movq 0x18(%rsp), %rdx
leaq 0x24c6c(%rip), %rsi     # 0xd6e53
leaq 0xb0(%rsp), %rdi
callq 0xb4c0
jmp 0xb21f6
xorl %eax, %eax
movl %eax, %esi
leaq 0x98(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xfbe0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rcx
leaq 0xb0(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0xb222a
movq 0x10(%rsp), %rdi
movb $0x0, 0x97(%rsp)
leaq 0x6338a(%rip), %rsi     # 0x1155c8
leaq -0x97bd5(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0xb22eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0xb2293
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
leaq 0x98(%rsp), %rdi
callq 0xfc00
leaq 0xb0(%rsp), %rdi
callq 0xb6e8
leaq 0xaf(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x97(%rsp)
jne 0xb22ac
jmp 0xb22b6
movq 0x10(%rsp), %rdi
callq 0xb2d0
jmp 0xb22c0
addq $0x168, %rsp            # imm = 0x168
retq
movq 0x40(%rsp), %rdi
callq 0x1acc0
movq 0x48(%rsp), %rdi
callq 0x1acc0
movq 0x70(%rsp), %rdi
callq 0xb0270
movq 0x118(%rsp), %rdi
callq 0xb680
nopl (%rax,%rax)