// File: /workspace/github_cpp_makefile_star2_O3/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb78, %rsp            # imm = 0xB78
movq %rdi, %rbx
leaq 0x20(%rdi), %r14
leaq 0x5e720(%rip), %rsi     # 0x77b61
movq %r14, %rdi
callq 0xa560
leaq 0x128(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x118(%rsp), %r15
movl $0x1, %esi
movq %r15, %rdi
movl $0x2d, %edx
callq 0xa330
movq (%r15), %rax
movb $0x30, (%rax)
leaq 0x5e711(%rip), %rcx     # 0x77b8d
movl $0xb, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x108(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x194be
movq %rdx, 0xf8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x108(%rsp)
jmp 0x194c4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0xf8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x61665(%rip), %rsi     # 0x7ab4f
callq 0xa560
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x19516
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x1951d
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x68(%rsp), %rdi
movl $0x1, %esi
movl $0x2d, %edx
callq 0xa330
movq 0x68(%rsp), %rax
movb $0x30, (%rax)
movq 0x48(%rsp), %rcx
movq 0x50(%rsp), %r8
movq 0x70(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
cmpq %r15, %rcx
je 0x1957c
movq 0x58(%rsp), %rdi
movq 0x68(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1959a
movl $0xf, %edi
cmpq %r13, %rsi
je 0x19595
movq 0x78(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x195a6
leaq 0x48(%rsp), %rdi
callq 0xa110
jmp 0x195b4
leaq 0x68(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x98(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x195e1
movq %rsi, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x195e7
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x61541(%rip), %rsi     # 0x7ab4f
leaq 0x88(%rsp), %rdi
callq 0xa560
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1964b
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x19652
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xd8(%rsp), %rdi
movl $0x1, %esi
movl $0x2d, %edx
callq 0xa330
movq 0xd8(%rsp), %rax
movb $0x31, (%rax)
movq 0xa8(%rsp), %rcx
movq 0xb0(%rsp), %r8
movq 0xe0(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
cmpq %r15, %rcx
je 0x196c9
movq 0xb8(%rsp), %rdi
movq 0xd8(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x196ed
movl $0xf, %edi
cmpq %r13, %rsi
je 0x196e8
movq 0xe8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x196fc
leaq 0xa8(%rsp), %rdi
callq 0xa110
jmp 0x1970d
leaq 0xd8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xa310
leaq 0x38(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x19731
movq %rsi, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x19737
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x5e43e(%rip), %rsi     # 0x77b99
leaq 0x28(%rsp), %rdi
callq 0xa560
leaq 0x148(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x19796
movq %rdx, 0x138(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x148(%rsp)
jmp 0x1979e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x140(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x138(%rsp), %rsi
movq 0x140(%rsp), %rdx
movq %r14, %rdi
callq 0xa110
movq 0x138(%rsp), %rdi
cmpq %r12, %rdi
je 0x197e3
callq 0xa2b0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x197f6
callq 0xa2b0
movq 0xd8(%rsp), %rdi
cmpq %r13, %rdi
je 0x19808
callq 0xa2b0
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x78(%rsp), %r13
je 0x1981f
callq 0xa2b0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
leaq 0x108(%rsp), %r14
leaq 0x58(%rsp), %r15
je 0x19842
callq 0xa2b0
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x19851
callq 0xa2b0
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x19860
callq 0xa2b0
movq 0xf8(%rsp), %rdi
cmpq %r14, %rdi
je 0x19872
callq 0xa2b0
movq 0x118(%rsp), %rdi
cmpq %rbp, %rdi
je 0x19884
callq 0xa2b0
leaq 0x40(%rbx), %r14
leaq 0x5e315(%rip), %rsi     # 0x77ba4
movq %r14, %rdi
callq 0xa560
leaq 0x5e31b(%rip), %rsi     # 0x77bb9
movq %r14, %rdi
callq 0xa560
leaq 0x5e321(%rip), %rsi     # 0x77bce
movq %r14, %rdi
callq 0xa560
leaq 0x60(%rbx), %r14
leaq 0x5e322(%rip), %rsi     # 0x77be2
movq %r14, %rdi
callq 0xa560
leaq 0x5e322(%rip), %rsi     # 0x77bf1
movq %r14, %rdi
callq 0xa560
leaq 0x138(%rsp), %r14
movq %r12, (%r14)
leaq 0x5e31a(%rip), %rsi     # 0x77c03
leaq 0x5e317(%rip), %rdx     # 0x77c07
movq %r14, %rdi
callq 0xdfa8
leaq 0x158(%rsp), %r15
leaq 0x168(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d990(%rip), %rsi     # 0x772a3
leaq 0x5d98e(%rip), %rdx     # 0x772a8
movq %r15, %rdi
callq 0xdfa8
leaq 0x178(%rsp), %r15
leaq 0x188(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e2cb(%rip), %rsi     # 0x77c08
leaq 0x5e2ca(%rip), %rdx     # 0x77c0e
movq %r15, %rdi
callq 0xdfa8
leaq 0x198(%rsp), %r15
leaq 0x1a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e2a8(%rip), %rsi     # 0x77c0f
leaq 0x5e2a6(%rip), %rdx     # 0x77c14
movq %r15, %rdi
callq 0xdfa8
leaq 0x1b8(%rsp), %r15
leaq 0x1c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e284(%rip), %rsi     # 0x77c15
leaq 0x5e280(%rip), %rdx     # 0x77c18
movq %r15, %rdi
callq 0xdfa8
leaq 0x1d8(%rsp), %r15
leaq 0x1e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e25e(%rip), %rsi     # 0x77c19
leaq 0x5e25c(%rip), %rdx     # 0x77c1e
movq %r15, %rdi
callq 0xdfa8
leaq 0x1f8(%rsp), %r15
leaq 0x208(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e23a(%rip), %rsi     # 0x77c1f
leaq 0x5e239(%rip), %rdx     # 0x77c25
movq %r15, %rdi
callq 0xdfa8
leaq 0x218(%rsp), %r15
leaq 0x228(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e217(%rip), %rsi     # 0x77c26
leaq 0x5e218(%rip), %rdx     # 0x77c2e
movq %r15, %rdi
callq 0xdfa8
leaq 0x238(%rsp), %r15
leaq 0x248(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e1f6(%rip), %rsi     # 0x77c2f
leaq 0x5e1f4(%rip), %rdx     # 0x77c34
movq %r15, %rdi
callq 0xdfa8
leaq 0x258(%rsp), %r15
leaq 0x268(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e1d2(%rip), %rsi     # 0x77c35
leaq 0x5e1d3(%rip), %rdx     # 0x77c3d
movq %r15, %rdi
callq 0xdfa8
leaq 0x278(%rsp), %r15
leaq 0x288(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e1b1(%rip), %rsi     # 0x77c3e
leaq 0x5e1ae(%rip), %rdx     # 0x77c42
movq %r15, %rdi
callq 0xdfa8
leaq 0x298(%rsp), %r15
leaq 0x2a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e18c(%rip), %rsi     # 0x77c43
leaq 0x5e188(%rip), %rdx     # 0x77c46
movq %r15, %rdi
callq 0xdfa8
leaq 0x2b8(%rsp), %r15
leaq 0x2c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x613e1(%rip), %rsi     # 0x7aec2
leaq 0x613de(%rip), %rdx     # 0x7aec6
movq %r15, %rdi
callq 0xdfa8
leaq 0x2d8(%rsp), %r15
leaq 0x2e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e11d(%rip), %rsi     # 0x77c28
leaq 0x5e11c(%rip), %rdx     # 0x77c2e
movq %r15, %rdi
callq 0xdfa8
leaq 0x2f8(%rsp), %r15
leaq 0x308(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e112(%rip), %rsi     # 0x77c47
leaq 0x5e111(%rip), %rdx     # 0x77c4d
movq %r15, %rdi
callq 0xdfa8
leaq 0x318(%rsp), %r15
leaq 0x328(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x617e0(%rip), %rsi     # 0x7b33f
leaq 0x617dd(%rip), %rdx     # 0x7b343
movq %r15, %rdi
callq 0xdfa8
leaq 0x338(%rsp), %r15
leaq 0x348(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e0c5(%rip), %rsi     # 0x77c4e
leaq 0x5e0c2(%rip), %rdx     # 0x77c52
movq %r15, %rdi
callq 0xdfa8
leaq 0x358(%rsp), %r15
leaq 0x368(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e0a0(%rip), %rsi     # 0x77c53
leaq 0x5e0a0(%rip), %rdx     # 0x77c5a
movq %r15, %rdi
callq 0xdfa8
leaq 0x378(%rsp), %r15
leaq 0x388(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e07e(%rip), %rsi     # 0x77c5b
leaq 0x5e07b(%rip), %rdx     # 0x77c5f
movq %r15, %rdi
callq 0xdfa8
leaq 0x398(%rsp), %r15
leaq 0x3a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e059(%rip), %rsi     # 0x77c60
leaq 0x5e056(%rip), %rdx     # 0x77c64
movq %r15, %rdi
callq 0xdfa8
leaq 0x3b8(%rsp), %r15
leaq 0x3c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e034(%rip), %rsi     # 0x77c65
leaq 0x5e035(%rip), %rdx     # 0x77c6d
movq %r15, %rdi
callq 0xdfa8
leaq 0x3d8(%rsp), %r15
leaq 0x3e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e013(%rip), %rsi     # 0x77c6e
leaq 0x5e012(%rip), %rdx     # 0x77c74
movq %r15, %rdi
callq 0xdfa8
leaq 0x3f8(%rsp), %r15
leaq 0x408(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dff0(%rip), %rsi     # 0x77c75
leaq 0x5dff0(%rip), %rdx     # 0x77c7c
movq %r15, %rdi
callq 0xdfa8
leaq 0x418(%rsp), %r15
leaq 0x428(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dfce(%rip), %rsi     # 0x77c7d
leaq 0x5dfcf(%rip), %rdx     # 0x77c85
movq %r15, %rdi
callq 0xdfa8
leaq 0x438(%rsp), %r15
leaq 0x448(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e112(%rip), %rsi     # 0x77deb
leaq 0x5e10f(%rip), %rdx     # 0x77def
movq %r15, %rdi
callq 0xdfa8
leaq 0x458(%rsp), %r15
leaq 0x468(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5df83(%rip), %rsi     # 0x77c86
leaq 0x5df7e(%rip), %rdx     # 0x77c88
movq %r15, %rdi
callq 0xdfa8
leaq 0x478(%rsp), %r15
leaq 0x488(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5df5c(%rip), %rsi     # 0x77c89
leaq 0x5df5b(%rip), %rdx     # 0x77c8f
movq %r15, %rdi
callq 0xdfa8
leaq 0x498(%rsp), %r15
leaq 0x4a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x60f19(%rip), %rsi     # 0x7ac70
leaq 0x60f14(%rip), %rdx     # 0x7ac72
movq %r15, %rdi
callq 0xdfa8
leaq 0x4b8(%rsp), %r15
leaq 0x4c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5df0f(%rip), %rsi     # 0x77c90
leaq 0x5df0e(%rip), %rdx     # 0x77c96
movq %r15, %rdi
callq 0xdfa8
leaq 0x4d8(%rsp), %r15
leaq 0x4e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5deec(%rip), %rsi     # 0x77c97
leaq 0x5deeb(%rip), %rdx     # 0x77c9d
movq %r15, %rdi
callq 0xdfa8
leaq 0x4f8(%rsp), %r15
leaq 0x508(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dec9(%rip), %rsi     # 0x77c9e
leaq 0x5dec7(%rip), %rdx     # 0x77ca3
movq %r15, %rdi
callq 0xdfa8
leaq 0x518(%rsp), %r15
leaq 0x528(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dea5(%rip), %rsi     # 0x77ca4
leaq 0x5dea3(%rip), %rdx     # 0x77ca9
movq %r15, %rdi
callq 0xdfa8
leaq 0x538(%rsp), %r15
leaq 0x548(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5de81(%rip), %rsi     # 0x77caa
leaq 0x5de7d(%rip), %rdx     # 0x77cad
movq %r15, %rdi
callq 0xdfa8
leaq 0x558(%rsp), %r15
leaq 0x568(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5de5b(%rip), %rsi     # 0x77cae
leaq 0x5de60(%rip), %rdx     # 0x77cba
movq %r15, %rdi
callq 0xdfa8
leaq 0x578(%rsp), %r15
leaq 0x588(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d397(%rip), %rsi     # 0x77214
leaq 0x5d399(%rip), %rdx     # 0x7721d
movq %r15, %rdi
callq 0xdfa8
leaq 0x598(%rsp), %r15
leaq 0x5a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5de14(%rip), %rsi     # 0x77cbb
leaq 0x5de1d(%rip), %rdx     # 0x77ccb
movq %r15, %rdi
callq 0xdfa8
leaq 0x5b8(%rsp), %r15
leaq 0x5c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5ddfb(%rip), %rsi     # 0x77ccc
leaq 0x5ddf7(%rip), %rdx     # 0x77ccf
movq %r15, %rdi
callq 0xdfa8
leaq 0x5d8(%rsp), %r15
leaq 0x5e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5ddd5(%rip), %rsi     # 0x77cd0
leaq 0x5ddd2(%rip), %rdx     # 0x77cd4
movq %r15, %rdi
callq 0xdfa8
leaq 0x5f8(%rsp), %r15
leaq 0x608(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5ddb0(%rip), %rsi     # 0x77cd5
leaq 0x5ddb1(%rip), %rdx     # 0x77cdd
movq %r15, %rdi
callq 0xdfa8
leaq 0x618(%rsp), %r15
leaq 0x628(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dd8f(%rip), %rsi     # 0x77cde
leaq 0x5dd8b(%rip), %rdx     # 0x77ce1
movq %r15, %rdi
callq 0xdfa8
leaq 0x638(%rsp), %r15
leaq 0x648(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dd69(%rip), %rsi     # 0x77ce2
leaq 0x5dd6d(%rip), %rdx     # 0x77ced
movq %r15, %rdi
callq 0xdfa8
leaq 0x658(%rsp), %r15
leaq 0x668(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dd4b(%rip), %rsi     # 0x77cee
leaq 0x5dd4a(%rip), %rdx     # 0x77cf4
movq %r15, %rdi
callq 0xdfa8
leaq 0x678(%rsp), %r15
leaq 0x688(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dd28(%rip), %rsi     # 0x77cf5
leaq 0x5dd26(%rip), %rdx     # 0x77cfa
movq %r15, %rdi
callq 0xdfa8
leaq 0x698(%rsp), %r15
leaq 0x6a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dd04(%rip), %rsi     # 0x77cfb
leaq 0x5dd02(%rip), %rdx     # 0x77d00
movq %r15, %rdi
callq 0xdfa8
leaq 0x6b8(%rsp), %r15
leaq 0x6c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e4ec(%rip), %rsi     # 0x7850d
leaq 0x5e4ed(%rip), %rdx     # 0x78515
movq %r15, %rdi
callq 0xdfa8
leaq 0x6d8(%rsp), %r15
leaq 0x6e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dcb6(%rip), %rsi     # 0x77d01
leaq 0x5dcb7(%rip), %rdx     # 0x77d09
movq %r15, %rdi
callq 0xdfa8
leaq 0x6f8(%rsp), %r15
leaq 0x708(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dc95(%rip), %rsi     # 0x77d0a
leaq 0x5dc96(%rip), %rdx     # 0x77d12
movq %r15, %rdi
callq 0xdfa8
leaq 0x718(%rsp), %r15
leaq 0x728(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dc74(%rip), %rsi     # 0x77d13
leaq 0x5dc72(%rip), %rdx     # 0x77d18
movq %r15, %rdi
callq 0xdfa8
leaq 0x738(%rsp), %r15
leaq 0x748(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dc50(%rip), %rsi     # 0x77d19
leaq 0x5dc4f(%rip), %rdx     # 0x77d1f
movq %r15, %rdi
callq 0xdfa8
leaq 0x758(%rsp), %r15
leaq 0x768(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dc2d(%rip), %rsi     # 0x77d20
leaq 0x5dc2d(%rip), %rdx     # 0x77d27
movq %r15, %rdi
callq 0xdfa8
leaq 0x778(%rsp), %r15
leaq 0x788(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dc0b(%rip), %rsi     # 0x77d28
leaq 0x5dc08(%rip), %rdx     # 0x77d2c
movq %r15, %rdi
callq 0xdfa8
leaq 0x798(%rsp), %r15
leaq 0x7a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dbe6(%rip), %rsi     # 0x77d2d
leaq 0x5dbe4(%rip), %rdx     # 0x77d32
movq %r15, %rdi
callq 0xdfa8
leaq 0x7b8(%rsp), %r15
leaq 0x7c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dbc2(%rip), %rsi     # 0x77d33
leaq 0x5dbc5(%rip), %rdx     # 0x77d3d
movq %r15, %rdi
callq 0xdfa8
leaq 0x7d8(%rsp), %r15
leaq 0x7e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dba3(%rip), %rsi     # 0x77d3e
leaq 0x5dba2(%rip), %rdx     # 0x77d44
movq %r15, %rdi
callq 0xdfa8
leaq 0x7f8(%rsp), %r15
leaq 0x808(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5db80(%rip), %rsi     # 0x77d45
leaq 0x5db7f(%rip), %rdx     # 0x77d4b
movq %r15, %rdi
callq 0xdfa8
leaq 0x818(%rsp), %r15
leaq 0x828(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5db5d(%rip), %rsi     # 0x77d4c
leaq 0x5db5b(%rip), %rdx     # 0x77d51
movq %r15, %rdi
callq 0xdfa8
leaq 0x838(%rsp), %r15
leaq 0x848(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5db39(%rip), %rsi     # 0x77d52
leaq 0x5db39(%rip), %rdx     # 0x77d59
movq %r15, %rdi
callq 0xdfa8
leaq 0x858(%rsp), %r15
leaq 0x868(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5db17(%rip), %rsi     # 0x77d5a
leaq 0x5db16(%rip), %rdx     # 0x77d60
movq %r15, %rdi
callq 0xdfa8
leaq 0x878(%rsp), %r15
leaq 0x888(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5daf4(%rip), %rsi     # 0x77d61
leaq 0x5daf4(%rip), %rdx     # 0x77d68
movq %r15, %rdi
callq 0xdfa8
leaq 0x898(%rsp), %r15
leaq 0x8a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dad2(%rip), %rsi     # 0x77d69
leaq 0x5dad4(%rip), %rdx     # 0x77d72
movq %r15, %rdi
callq 0xdfa8
leaq 0x8b8(%rsp), %r15
leaq 0x8c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dab2(%rip), %rsi     # 0x77d73
leaq 0x5daaf(%rip), %rdx     # 0x77d77
movq %r15, %rdi
callq 0xdfa8
leaq 0x8d8(%rsp), %r15
leaq 0x8e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5da8d(%rip), %rsi     # 0x77d78
leaq 0x5da8d(%rip), %rdx     # 0x77d7f
movq %r15, %rdi
callq 0xdfa8
leaq 0x8f8(%rsp), %r15
leaq 0x908(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5da6e(%rip), %rsi     # 0x77d83
leaq 0x5da6a(%rip), %rdx     # 0x77d86
movq %r15, %rdi
callq 0xdfa8
leaq 0x918(%rsp), %r15
leaq 0x928(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5da41(%rip), %rsi     # 0x77d80
leaq 0x5da40(%rip), %rdx     # 0x77d86
movq %r15, %rdi
callq 0xdfa8
leaq 0x938(%rsp), %r15
leaq 0x948(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5da1e(%rip), %rsi     # 0x77d87
leaq 0x5da1c(%rip), %rdx     # 0x77d8c
movq %r15, %rdi
callq 0xdfa8
leaq 0x958(%rsp), %r15
leaq 0x968(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d9fa(%rip), %rsi     # 0x77d8d
leaq 0x5d9f9(%rip), %rdx     # 0x77d93
movq %r15, %rdi
callq 0xdfa8
leaq 0x978(%rsp), %r15
leaq 0x988(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d9d8(%rip), %rsi     # 0x77d95
leaq 0x5d9d6(%rip), %rdx     # 0x77d9a
movq %r15, %rdi
callq 0xdfa8
leaq 0x998(%rsp), %r15
leaq 0x9a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d9ad(%rip), %rsi     # 0x77d94
leaq 0x5d9ac(%rip), %rdx     # 0x77d9a
movq %r15, %rdi
callq 0xdfa8
leaq 0x9b8(%rsp), %r15
leaq 0x9c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d98a(%rip), %rsi     # 0x77d9b
leaq 0x5d989(%rip), %rdx     # 0x77da1
movq %r15, %rdi
callq 0xdfa8
leaq 0x9d8(%rsp), %r15
leaq 0x9e8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d967(%rip), %rsi     # 0x77da2
leaq 0x5d965(%rip), %rdx     # 0x77da7
movq %r15, %rdi
callq 0xdfa8
leaq 0x9f8(%rsp), %r15
leaq 0xa08(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d943(%rip), %rsi     # 0x77da8
leaq 0x5d93f(%rip), %rdx     # 0x77dab
movq %r15, %rdi
callq 0xdfa8
leaq 0xa18(%rsp), %r15
leaq 0xa28(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d7b5(%rip), %rsi     # 0x77c44
leaq 0x5d7b0(%rip), %rdx     # 0x77c46
movq %r15, %rdi
callq 0xdfa8
leaq 0xa38(%rsp), %r15
leaq 0xa48(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d8f3(%rip), %rsi     # 0x77dac
leaq 0x5d8ef(%rip), %rdx     # 0x77daf
movq %r15, %rdi
callq 0xdfa8
leaq 0xa58(%rsp), %r15
leaq 0xa68(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d8cd(%rip), %rsi     # 0x77db0
leaq 0x5d8ca(%rip), %rdx     # 0x77db4
movq %r15, %rdi
callq 0xdfa8
leaq 0xa78(%rsp), %r15
leaq 0xa88(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d8a8(%rip), %rsi     # 0x77db5
leaq 0x5d8a8(%rip), %rdx     # 0x77dbc
movq %r15, %rdi
callq 0xdfa8
leaq 0xa98(%rsp), %r15
leaq 0xaa8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d886(%rip), %rsi     # 0x77dbd
leaq 0x5d882(%rip), %rdx     # 0x77dc0
movq %r15, %rdi
callq 0xdfa8
leaq 0xab8(%rsp), %r15
leaq 0xac8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d860(%rip), %rsi     # 0x77dc1
leaq 0x5d860(%rip), %rdx     # 0x77dc8
movq %r15, %rdi
callq 0xdfa8
leaq 0xad8(%rsp), %r15
leaq 0xae8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d83e(%rip), %rsi     # 0x77dc9
leaq 0x5d83f(%rip), %rdx     # 0x77dd1
movq %r15, %rdi
callq 0xdfa8
leaq 0xaf8(%rsp), %r15
leaq 0xb08(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d81d(%rip), %rsi     # 0x77dd2
leaq 0x5d81a(%rip), %rdx     # 0x77dd6
movq %r15, %rdi
callq 0xdfa8
leaq 0xb18(%rsp), %r15
leaq 0xb28(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5d7fe(%rip), %rsi     # 0x77ddd
leaq 0x5d7fb(%rip), %rdx     # 0x77de1
movq %r15, %rdi
callq 0xdfa8
leaq 0xb38(%rsp), %r15
leaq 0xb48(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x60779(%rip), %rsi     # 0x7ad82
leaq 0x60776(%rip), %rdx     # 0x7ad86
movq %r15, %rdi
callq 0xdfa8
leaq 0xb58(%rsp), %r15
leaq 0xb68(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x5d7a4(%rip), %rsi     # 0x77dd7
leaq 0x5d7a1(%rip), %rdx     # 0x77ddb
movq %r15, %rdi
callq 0xdfa8
leaq 0x28(%rsp), %rdi
leaq 0x138(%rsp), %rsi
leaq 0xa8(%rsp), %rcx
movl $0x52, %edx
callq 0x15016
leaq 0xb68(%rsp), %r14
xorl %r15d, %r15d
movq 0xb58(%rsp,%r15), %rdi
leaq (%r14,%r15), %rax
cmpq %rdi, %rax
je 0x1a682
callq 0xa2b0
addq $-0x20, %r15
cmpq $-0xa40, %r15           # imm = 0xF5C0
jne 0x1a66c
movq 0x28(%rsp), %r15
movq 0x30(%rsp), %r13
cmpq %r13, %r15
je 0x1a6ec
leaq 0x138(%rsp), %r14
movq %r12, 0x138(%rsp)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0xde0c
movq 0xf8(%rbx), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x1808a
movq 0x138(%rsp), %rdi
cmpq %r12, %rdi
je 0x1a6e3
callq 0xa2b0
addq $0x20, %r15
cmpq %r13, %r15
jne 0x1a6a6
leaq 0x138(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x5d6de(%rip), %rsi     # 0x77ddc
leaq 0x5d6dc(%rip), %rdx     # 0x77de1
callq 0xdfa8
leaq 0x7fcef(%rip), %rsi     # 0x9a400
movq (%rsi), %rdx
movq 0x8(%rsi), %rax
movq %rdx, 0xc8(%rsp)
movq %rax, 0xd0(%rsp)
testq %rax, %rax
je 0x1a748
movq 0x7f874(%rip), %rcx     # 0x99fa8
cmpb $0x0, (%rcx)
je 0x1a766
incl 0x8(%rax)
movq %rdx, 0x18(%rsp)
movq %rax, 0x20(%rsp)
jmp 0x1a780
movq %rdx, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
movq %rdx, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
jmp 0x1a7bc
lock
incl 0x8(%rax)
movq (%rsi), %rdx
movq 0x8(%rsi), %rax
movq %rdx, 0x18(%rsp)
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x1a756
cmpb $0x0, (%rcx)
je 0x1a794
incl 0x8(%rax)
movq %rdx, 0x8(%rsp)
movq %rax, 0x10(%rsp)
jmp 0x1a7ae
lock
incl 0x8(%rax)
movq (%rsi), %rdx
movq 0x8(%rsi), %rax
movq %rdx, 0x8(%rsp)
movq %rax, 0x10(%rsp)
testq %rax, %rax
je 0x1a7bc
cmpb $0x0, (%rcx)
je 0x1a7b8
incl 0x8(%rax)
jmp 0x1a7bc
lock
incl 0x8(%rax)
leaq 0x138(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
callq 0x1e5bc
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1a7ed
callq 0xdce4
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1a7fc
callq 0xdce4
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x1a80e
callq 0xdce4
movq 0x138(%rsp), %rdi
cmpq %r12, %rdi
je 0x1a820
callq 0xa2b0
leaq 0x28(%rsp), %rdi
callq 0x14adc
addq $0xb78, %rsp            # imm = 0xB78
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1a84e
callq 0xdce4
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1a85d
callq 0xdce4
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x1aa8e
callq 0xdce4
jmp 0x1aa8e
jmp 0x1aa86
movq %rax, %rbx
movq $-0xa40, %r14           # imm = 0xF5C0
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x1a895
callq 0xa2b0
addq $-0x20, %r13
addq $0x20, %r14
jne 0x1a887
jmp 0x1aaaa
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
jmp 0x1a974
movq %rax, %rbx
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x1a989
callq 0xa2b0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x1a97b
jmp 0x1aaaa
movq %rax, %rbx
jmp 0x1aaaa
movq %rax, %rbx
movq 0x138(%rsp), %rdi
cmpq %r12, %rdi
je 0x1a9c0
callq 0xa2b0
jmp 0x1a9c0
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1a9d8
callq 0xa2b0
jmp 0x1a9d8
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1a9ef
callq 0xa2b0
jmp 0x1a9ef
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1aa06
callq 0xa2b0
jmp 0x1aa06
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1aa21
callq 0xa2b0
jmp 0x1aa21
movq %rax, %rbx
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x1aa3a
callq 0xa2b0
jmp 0x1aa3a
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1aa53
callq 0xa2b0
jmp 0x1aa53
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x1aa72
callq 0xa2b0
jmp 0x1aa72
movq %rax, %rbx
movq 0x118(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1aaaa
callq 0xa2b0
jmp 0x1aaaa
movq %rax, %rbx
jmp 0x1aaa0
movq %rax, %rbx
movq 0x138(%rsp), %rdi
cmpq %r12, %rdi
je 0x1aaa0
callq 0xa2b0
leaq 0x28(%rsp), %rdi
callq 0x14adc
movq %rbx, %rdi
callq 0xa510