// File: /workspace/github_cpp_makefile_star2_O2/menhits[P]phplus/src/CppProgram.cpp
// Function: CppProgram::setup()
void CppProgram::setup()
{
	globalTopCode+="// this C++ code is transpiled from Phplus\n";
	globalTopCode+="// Phplus v"+to_string(VERSION_X)+"."+to_string(VERSION_Y)+"."+to_string(VERSION_Z)+" was used\n";
	globalIncludesCode+="#include <string.h>\n";
	globalIncludesCode+="#include <stdlib.h>\n";
	globalIncludesCode+="#include <stdio.h>\n";
	
	globalVarCode+="int argc = 0;\n";
	globalVarCode+="char** argv = 0;\n";
	
	vector<string> cppReservedWords
	{
		// from C
		"auto", "const", "double", "float", "int", "short", "struct", "unsigned", "break",
		"continue", "else", "for", "long", "signed", "switch", "void", "case", "default",
		"enum", "goto", "register", "sizeof", "typedef", "volatile", "char", "do", "extern",
		"if", "return", "static", "union", "while",
		
		// from old C++
		"asm", "dynamic_cast", "namespace", "reinterpret_cast", "try", "bool", "explicit",
		"new", "static_cast", "typeid", "catch", "false", "operator", "template", "typename",
		"class", "friend", "private", "this", "using", "const_cast", "inline", "public",
		"throw", "virtual", "delete", "mutable", "protected", "true", "wchar_t", 
		
		// from C++11
		"and", "bitand", "compl", "not_eq", "or_eq", "xor_eq", "and_eq", "bitor", "not", "or",
		"xor",
		
		// something else
		"endl", "INT_MIN", "std", "INT_MAX", "MAX_RAND", "NULL",
		
		// my custom
		"main", "argc", "argv",
	};
	/*
	{
		"and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break", "case", "catch", "char", "class", "const", "const_cast",
		"continue", "default", "delete", "do", "double", "dynamic_cast", "else", "enum", "explicit", "export", "extern", "false", "float",
		"for", "friend", "goto", "if", "inline", "int", "long", "mutable", "namespace", "new", "not", "not_eq", "operator", "or", "or_eq",
		"private", "protected", "public", "register", "reinterpret_cast", "return", "short", "signed", "sizeof", "static", "static_cast",
		"struct", "switch", "template", "this", "throw", "true", "try", "typedef", "typeid", "typename", "union", "unsigned", "using",
		"virtual", "void", "volatile", "wchar_t", "while", "xor", "xor_eq", ""
	};
	*/
		
	for (auto i: cppReservedWords)
	{
		globalNames->reserveCpp(i);
	}
	
	pushFunc(string("_main"), Void, Void, Void);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xbc0, %rsp            # imm = 0xBC0
movq %rdi, %r15
leaq 0x20(%rdi), %rbx
leaq 0x3fac5(%rip), %rsi     # 0x54b31
movq %rbx, %rdi
callq 0xa520
leaq 0x160(%rsp), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x1837a
leaq 0x3fad0(%rip), %rsi     # 0x54b5d
leaq 0x100(%rsp), %rdi
movq %r14, %rdx
callq 0x11ff8
leaq 0x42b80(%rip), %rdx     # 0x57c24
leaq 0x120(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0xc882
leaq 0xe0(%rsp), %rdi
xorl %esi, %esi
callq 0x1837a
leaq 0x140(%rsp), %rdi
leaq 0x120(%rsp), %rsi
leaq 0xe0(%rsp), %rdx
callq 0x1205e
leaq 0x42b38(%rip), %rdx     # 0x57c24
leaq 0xa0(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0xc882
leaq 0xc0(%rsp), %rdi
pushq $0x1
popq %rsi
callq 0x1837a
leaq 0x50(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x1205e
leaq 0x3fa37(%rip), %rdx     # 0x54b69
leaq 0x180(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xc882
leaq 0x180(%rsp), %rsi
movq %rbx, %rdi
callq 0xa540
leaq 0x180(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0xa558
leaq 0xc0(%rsp), %rdi
callq 0xa558
leaq 0xa0(%rsp), %rdi
callq 0xa558
leaq 0x140(%rsp), %rdi
callq 0xa558
leaq 0xe0(%rsp), %rdi
callq 0xa558
leaq 0x120(%rsp), %rdi
callq 0xa558
leaq 0x100(%rsp), %rdi
callq 0xa558
leaq 0x160(%rsp), %rdi
callq 0xa558
leaq 0x40(%r15), %rbx
leaq 0x3f9a3(%rip), %rsi     # 0x54b74
movq %rbx, %rdi
callq 0xa520
leaq 0x3f9a9(%rip), %rsi     # 0x54b89
movq %rbx, %rdi
callq 0xa520
leaq 0x3f9af(%rip), %rsi     # 0x54b9e
movq %rbx, %rdi
callq 0xa520
leaq 0x60(%r15), %rbx
leaq 0x3f9b0(%rip), %rsi     # 0x54bb2
movq %rbx, %rdi
callq 0xa520
leaq 0x3f9b0(%rip), %rsi     # 0x54bc1
movq %rbx, %rdi
callq 0xa520
leaq 0x3f9b3(%rip), %rsi     # 0x54bd3
leaq 0x180(%rsp), %rbx
leaq 0xa0(%rsp), %rdx
movq %rbx, %rdi
callq 0xa150
leaq 0x1a0(%rsp), %r14
leaq 0x3f034(%rip), %rsi     # 0x5427b
leaq 0x140(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x1c0(%rsp), %r14
leaq 0x3f972(%rip), %rsi     # 0x54bd8
leaq 0x120(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x1e0(%rsp), %r14
leaq 0x3f95a(%rip), %rsi     # 0x54bdf
leaq 0x100(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x200(%rsp), %r14
leaq 0x3f941(%rip), %rsi     # 0x54be5
leaq 0x160(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x220(%rsp), %r14
leaq 0x3f926(%rip), %rsi     # 0x54be9
leaq 0xe0(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x240(%rsp), %r14
leaq 0x3f90d(%rip), %rsi     # 0x54bef
leaq 0xc0(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x260(%rsp), %r14
leaq 0x3f8f5(%rip), %rsi     # 0x54bf6
leaq 0x4f(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x280(%rsp), %r14
leaq 0x3f8e2(%rip), %rsi     # 0x54bff
leaq 0x4e(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x2a0(%rsp), %r14
leaq 0x3f8cc(%rip), %rsi     # 0x54c05
leaq 0x4d(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x2c0(%rsp), %r14
leaq 0x3f8b9(%rip), %rsi     # 0x54c0e
leaq 0x4c(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x2e0(%rsp), %r14
leaq 0x3f8a2(%rip), %rsi     # 0x54c13
leaq 0x4b(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x300(%rsp), %r14
leaq 0x42c27(%rip), %rsi     # 0x57fb4
leaq 0x4a(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x320(%rsp), %r14
leaq 0x3f84f(%rip), %rsi     # 0x54bf8
leaq 0x49(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x340(%rsp), %r14
leaq 0x3f852(%rip), %rsi     # 0x54c17
leaq 0x48(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x360(%rsp), %r14
leaq 0x42f56(%rip), %rsi     # 0x58337
leaq 0x47(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x380(%rsp), %r14
leaq 0x3f821(%rip), %rsi     # 0x54c1e
leaq 0x46(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x3a0(%rsp), %r14
leaq 0x3f80a(%rip), %rsi     # 0x54c23
leaq 0x45(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x3c0(%rsp), %r14
leaq 0x3f7f6(%rip), %rsi     # 0x54c2b
leaq 0x44(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x3e0(%rsp), %r14
leaq 0x3f7df(%rip), %rsi     # 0x54c30
leaq 0x43(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x400(%rsp), %r14
leaq 0x3f7c8(%rip), %rsi     # 0x54c35
leaq 0x42(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x420(%rsp), %r14
leaq 0x3f7b5(%rip), %rsi     # 0x54c3e
leaq 0x41(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x440(%rsp), %r14
leaq 0x3f7a0(%rip), %rsi     # 0x54c45
leaq 0x40(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x460(%rsp), %r14
leaq 0x3f78c(%rip), %rsi     # 0x54c4d
leaq 0x3f(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x480(%rsp), %r14
leaq 0x3f8de(%rip), %rsi     # 0x54dbb
leaq 0x3e(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x4a0(%rsp), %r14
leaq 0x3f75d(%rip), %rsi     # 0x54c56
leaq 0x3d(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x4c0(%rsp), %r14
leaq 0x3f744(%rip), %rsi     # 0x54c59
leaq 0x3c(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x4e0(%rsp), %r14
leaq 0x42814(%rip), %rsi     # 0x57d45
leaq 0x3b(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x500(%rsp), %r14
leaq 0x3f713(%rip), %rsi     # 0x54c60
leaq 0x3a(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x520(%rsp), %r14
leaq 0x3f6fe(%rip), %rsi     # 0x54c67
leaq 0x39(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x540(%rsp), %r14
leaq 0x3f6e9(%rip), %rsi     # 0x54c6e
leaq 0x38(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x560(%rsp), %r14
leaq 0x3f6d3(%rip), %rsi     # 0x54c74
leaq 0x37(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x580(%rsp), %r14
leaq 0x3f6bd(%rip), %rsi     # 0x54c7a
leaq 0x36(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x5a0(%rsp), %r14
leaq 0x3f6a5(%rip), %rsi     # 0x54c7e
leaq 0x35(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x5c0(%rsp), %r14
leaq 0x3ebf7(%rip), %rsi     # 0x541ec
leaq 0x34(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x5e0(%rsp), %r14
leaq 0x3f67a(%rip), %rsi     # 0x54c8b
leaq 0x33(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x600(%rsp), %r14
leaq 0x3f66f(%rip), %rsi     # 0x54c9c
leaq 0x32(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x620(%rsp), %r14
leaq 0x3f657(%rip), %rsi     # 0x54ca0
leaq 0x31(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x640(%rsp), %r14
leaq 0x3f640(%rip), %rsi     # 0x54ca5
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x660(%rsp), %r14
leaq 0x3f62d(%rip), %rsi     # 0x54cae
leaq 0x2f(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x680(%rsp), %r14
leaq 0x3f615(%rip), %rsi     # 0x54cb2
leaq 0x2e(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x6a0(%rsp), %r14
leaq 0x3f605(%rip), %rsi     # 0x54cbe
leaq 0x2d(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x6c0(%rsp), %r14
leaq 0x3f5f0(%rip), %rsi     # 0x54cc5
leaq 0x2c(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x6e0(%rsp), %r14
leaq 0x3f5da(%rip), %rsi     # 0x54ccb
leaq 0x2b(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x700(%rsp), %r14
leaq 0x3fe99(%rip), %rsi     # 0x555a6
leaq 0x2a(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x720(%rsp), %r14
leaq 0x3f5a8(%rip), %rsi     # 0x54cd1
leaq 0x29(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x740(%rsp), %r14
leaq 0x3f595(%rip), %rsi     # 0x54cda
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x760(%rsp), %r14
leaq 0x3f582(%rip), %rsi     # 0x54ce3
leaq 0x27(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x780(%rsp), %r14
leaq 0x3f56c(%rip), %rsi     # 0x54ce9
leaq 0x26(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x7a0(%rsp), %r14
leaq 0x3f557(%rip), %rsi     # 0x54cf0
leaq 0x25(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x7c0(%rsp), %r14
leaq 0x3f543(%rip), %rsi     # 0x54cf8
leaq 0x24(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x7e0(%rsp), %r14
leaq 0x3f52c(%rip), %rsi     # 0x54cfd
leaq 0x23(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x800(%rsp), %r14
leaq 0x3f516(%rip), %rsi     # 0x54d03
leaq 0x22(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x820(%rsp), %r14
leaq 0x3f505(%rip), %rsi     # 0x54d0e
leaq 0x21(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x840(%rsp), %r14
leaq 0x3f4f0(%rip), %rsi     # 0x54d15
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x860(%rsp), %r14
leaq 0x3f4db(%rip), %rsi     # 0x54d1c
leaq 0x1f(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x880(%rsp), %r14
leaq 0x3f4c5(%rip), %rsi     # 0x54d22
leaq 0x1e(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x8a0(%rsp), %r14
leaq 0x3f4b1(%rip), %rsi     # 0x54d2a
leaq 0x1d(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x8c0(%rsp), %r14
leaq 0x3f49c(%rip), %rsi     # 0x54d31
leaq 0x1c(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x8e0(%rsp), %r14
leaq 0x3f488(%rip), %rsi     # 0x54d39
leaq 0x1b(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x900(%rsp), %r14
leaq 0x3f476(%rip), %rsi     # 0x54d43
leaq 0x1a(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x920(%rsp), %r14
leaq 0x3f45f(%rip), %rsi     # 0x54d48
leaq 0x19(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x940(%rsp), %r14
leaq 0x3f44e(%rip), %rsi     # 0x54d53
leaq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x960(%rsp), %r14
leaq 0x3f42f(%rip), %rsi     # 0x54d50
leaq 0x17(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x980(%rsp), %r14
leaq 0x3f41a(%rip), %rsi     # 0x54d57
leaq 0x16(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x9a0(%rsp), %r14
leaq 0x3f404(%rip), %rsi     # 0x54d5d
leaq 0x15(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x9c0(%rsp), %r14
leaq 0x3f3f0(%rip), %rsi     # 0x54d65
leaq 0x14(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x9e0(%rsp), %r14
leaq 0x3f3d3(%rip), %rsi     # 0x54d64
leaq 0x13(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xa00(%rsp), %r14
leaq 0x3f3be(%rip), %rsi     # 0x54d6b
leaq 0x12(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xa20(%rsp), %r14
leaq 0x3f3a9(%rip), %rsi     # 0x54d72
leaq 0x11(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xa40(%rsp), %r14
leaq 0x3f393(%rip), %rsi     # 0x54d78
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xa60(%rsp), %r14
leaq 0x3f213(%rip), %rsi     # 0x54c14
leaq 0xf(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xa80(%rsp), %r14
leaq 0x3f35f(%rip), %rsi     # 0x54d7c
leaq 0xe(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xaa0(%rsp), %r14
leaq 0x3f347(%rip), %rsi     # 0x54d80
leaq 0xd(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xac0(%rsp), %r14
leaq 0x3f330(%rip), %rsi     # 0x54d85
leaq 0xc(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xae0(%rsp), %r14
leaq 0x3f31c(%rip), %rsi     # 0x54d8d
leaq 0xb(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xb00(%rsp), %r14
leaq 0x3f304(%rip), %rsi     # 0x54d91
leaq 0xa(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xb20(%rsp), %r14
leaq 0x3f2f0(%rip), %rsi     # 0x54d99
leaq 0x9(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xb40(%rsp), %r14
leaq 0x3f2dd(%rip), %rsi     # 0x54da2
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xb60(%rsp), %r14
leaq 0x3f2cc(%rip), %rsi     # 0x54dad
leaq 0x7(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xb80(%rsp), %r14
leaq 0x4235d(%rip), %rsi     # 0x57e5a
leaq 0x6(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0xba0(%rsp), %r14
leaq 0x3f28e(%rip), %rsi     # 0x54da7
leaq 0x5(%rsp), %rdx
movq %r14, %rdi
callq 0xa150
leaq 0x50(%rsp), %rdi
leaq 0x180(%rsp), %rsi
pushq $0x52
popq %rdx
leaq 0x4(%rsp), %rcx
callq 0x11a0a
movl $0xa20, %ebx            # imm = 0xA20
leaq (%rsp,%rbx), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0xa558
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x15b45
movq 0x50(%rsp), %rbx
movq 0x58(%rsp), %r12
leaq 0x180(%rsp), %r14
cmpq %r12, %rbx
je 0x15ba0
movq %r14, %rdi
movq %rbx, %rsi
callq 0xa3b0
movq 0xf8(%r15), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x1416a
movq %r14, %rdi
callq 0xa558
addq $0x20, %rbx
jmp 0x15b71
leaq 0x3f205(%rip), %rsi     # 0x54dac
leaq 0x180(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0xa150
leaq 0x6481d(%rip), %rbx     # 0x7a3e0
leaq 0x90(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x12c0a
leaq 0x80(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
callq 0x12c0a
leaq 0x70(%rsp), %r13
movq %r13, %rdi
movq %rbx, %rsi
callq 0x12c0a
leaq 0x180(%rsp), %rsi
movq %r15, %rdi
movq %r14, %rdx
movq %r12, %rcx
movq %r13, %r8
callq 0x183d4
leaq 0x78(%rsp), %rdi
callq 0xc984
leaq 0x88(%rsp), %rdi
callq 0xc984
leaq 0x98(%rsp), %rdi
callq 0xc984
leaq 0x180(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0x11670
addq $0xbc0, %rsp            # imm = 0xBC0
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %r15
leaq 0x78(%rsp), %rdi
callq 0xc984
leaq 0x88(%rsp), %rdi
callq 0xc984
leaq 0x98(%rsp), %rdi
callq 0xc984
jmp 0x15e69
jmp 0x15e61
movq %rax, %r15
movl $0xa20, %r12d           # imm = 0xA20
leaq (%rsp,%r12), %rdi
addq $0x180, %rdi            # imm = 0x180
callq 0xa558
addq $-0x20, %r12
cmpq $-0x20, %r12
jne 0x15c98
movb $0x1, %al
jmp 0x15d8e
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
jmp 0x15d89
movq %rax, %r15
xorl %eax, %eax
cmpq %r14, %rbx
sete %cl
testb %al, %al
jne 0x15e80
testb %cl, %cl
jne 0x15e80
addq $-0x20, %r14
movq %r14, %rdi
callq 0xa558
cmpq %rbx, %r14
jne 0x15da4
jmp 0x15e80
movq %rax, %r15
jmp 0x15e80
movq %rax, %r15
leaq 0x180(%rsp), %rdi
callq 0xa558
jmp 0x15dd7
movq %rax, %r15
leaq 0x50(%rsp), %rdi
callq 0xa558
jmp 0x15de6
movq %rax, %r15
leaq 0xc0(%rsp), %rdi
callq 0xa558
jmp 0x15df8
movq %rax, %r15
leaq 0xa0(%rsp), %rdi
callq 0xa558
jmp 0x15e0a
movq %rax, %r15
leaq 0x140(%rsp), %rdi
callq 0xa558
leaq 0xe0(%rsp), %rdi
callq 0xa558
leaq 0x120(%rsp), %rdi
callq 0xa558
leaq 0x100(%rsp), %rdi
callq 0xa558
leaq 0x160(%rsp), %rdi
callq 0xa558
jmp 0x15e80
movq %rax, %r15
jmp 0x15e17
movq %rax, %r15
jmp 0x15e24
movq %rax, %r15
jmp 0x15e31
movq %rax, %r15
jmp 0x15e3e
movq %rax, %r15
jmp 0x15e76
movq %rax, %r15
leaq 0x180(%rsp), %rdi
callq 0xa558
leaq 0x50(%rsp), %rdi
callq 0x11670
movq %r15, %rdi
callq 0xa500