// File: tewalds[P]morat/hex/board.cpp
// Function: Morat::Hex::Board::to_s(bool, std::function<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> (Morat::Move)>) const
std::string Board::to_s(bool color, std::function<std::string(Move)> func) const {
	using std::string;
	string white = "O",
	       black = "@",
	       coord = "",
	       reset = "";
	if(color){
		string esc = "\033";
		reset = esc + "[0m";
		coord = esc + "[1;37m";
		white = esc + "[1;33m" + "@"; //yellow
		black = esc + "[1;34m" + "@"; //blue
	}

	string s = " ";
	for(int i = 0; i < size_; i++)
		s += " " + coord + char('A' + i);
	s += "\n";

	for(int y = 0; y < size_; y++){
		s += string(y + ((y + 1) < 10), ' ');
		s += coord + to_str(y + 1);
		int end = line_end(y);
		for(int x = line_start(y); x < end; x++){
			s += (last_move_ == Move(x, y)   ? coord + "[" :
			      last_move_ == Move(x-1, y) ? coord + "]" : " ");
			Side p = get(x, y);
			if(     p == Side::NONE) s += reset + func(Move(x, y));
			else if(p == Side::P1)   s += white;
			else if(p == Side::P2)   s += black;
			else                     s += "?";
		}
		s += (last_move_ == Move(end-1, y) ? coord + "]" : " ");
		s += black + reset;
		s += '\n';
	}
	s += string(size_ + 2, ' ');
	for(int i = 0; i < size_; i++)
		s += white + " ";
	s += "\n";

	s += reset;
	return s;
}

// Assembly:
subq $0x458, %rsp            # imm = 0x458
movq %rcx, 0xb8(%rsp)
movq %rdi, 0xc0(%rsp)
movb %dl, %al
movq %rdi, %rdx
movq %rdx, 0xc8(%rsp)
movq %rdi, 0x450(%rsp)
movq %rsi, 0x448(%rsp)
andb $0x1, %al
movb %al, 0x447(%rsp)
movq %rcx, 0x438(%rsp)
movq 0x448(%rsp), %rax
movq %rax, 0xd0(%rsp)
leaq 0x417(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x5770
movq 0xd8(%rsp), %rdx
leaq 0x1a195(%rip), %rsi     # 0x501de
leaq 0x418(%rsp), %rdi
callq 0x5590
jmp 0x36058
leaq 0x417(%rsp), %rdi
callq 0x5450
leaq 0x3df(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x5770
movq 0xb0(%rsp), %rdx
leaq 0x193f9(%rip), %rsi     # 0x4f482
leaq 0x3e0(%rsp), %rdi
callq 0x5590
jmp 0x36098
leaq 0x3df(%rsp), %rdi
callq 0x5450
leaq 0x3b7(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x5770
movq 0xa8(%rsp), %rdx
leaq 0x16820(%rip), %rsi     # 0x4c8e9
leaq 0x3b8(%rsp), %rdi
callq 0x5590
jmp 0x360d8
leaq 0x3b7(%rsp), %rdi
callq 0x5450
leaq 0x38f(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x5770
movq 0xa0(%rsp), %rdx
leaq 0x167e0(%rip), %rsi     # 0x4c8e9
leaq 0x390(%rsp), %rdi
callq 0x5590
jmp 0x36118
leaq 0x38f(%rsp), %rdi
callq 0x5450
testb $0x1, 0x447(%rsp)
je 0x3641d
leaq 0x367(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x5770
movq 0x98(%rsp), %rdx
leaq 0x1932d(%rip), %rsi     # 0x4f484
leaq 0x368(%rsp), %rdi
callq 0x5590
jmp 0x36166
leaq 0x367(%rsp), %rdi
callq 0x5450
leaq 0x1930c(%rip), %rdx     # 0x4f486
leaq 0x340(%rsp), %rdi
leaq 0x368(%rsp), %rsi
callq 0x25f90
jmp 0x36191
leaq 0x390(%rsp), %rdi
leaq 0x340(%rsp), %rsi
movq %rsi, 0x90(%rsp)
callq 0x5500
movq 0x90(%rsp), %rdi
callq 0x5260
leaq 0x192c8(%rip), %rdx     # 0x4f48a
leaq 0x320(%rsp), %rdi
leaq 0x368(%rsp), %rsi
callq 0x25f90
jmp 0x361d9
leaq 0x3b8(%rsp), %rdi
leaq 0x320(%rsp), %rsi
movq %rsi, 0x88(%rsp)
callq 0x5500
movq 0x88(%rsp), %rdi
callq 0x5260
leaq 0x19287(%rip), %rdx     # 0x4f491
leaq 0x2e0(%rsp), %rdi
leaq 0x368(%rsp), %rsi
callq 0x25f90
jmp 0x36221
leaq 0x1925a(%rip), %rdx     # 0x4f482
leaq 0x300(%rsp), %rdi
leaq 0x2e0(%rsp), %rsi
callq 0xb910
jmp 0x3623f
leaq 0x418(%rsp), %rdi
leaq 0x300(%rsp), %rsi
movq %rsi, 0x80(%rsp)
callq 0x5500
movq 0x80(%rsp), %rdi
callq 0x5260
leaq 0x2e0(%rsp), %rdi
callq 0x5260
leaq 0x1921b(%rip), %rdx     # 0x4f498
leaq 0x2a0(%rsp), %rdi
leaq 0x368(%rsp), %rsi
callq 0x25f90
jmp 0x36294
leaq 0x191e7(%rip), %rdx     # 0x4f482
leaq 0x2c0(%rsp), %rdi
leaq 0x2a0(%rsp), %rsi
callq 0xb910
jmp 0x362b2
leaq 0x3e0(%rsp), %rdi
leaq 0x2c0(%rsp), %rsi
callq 0x5500
leaq 0x2c0(%rsp), %rdi
callq 0x5260
leaq 0x2a0(%rsp), %rdi
callq 0x5260
leaq 0x368(%rsp), %rdi
callq 0x5260
jmp 0x3641d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x417(%rsp), %rdi
callq 0x5450
jmp 0x36f41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x3df(%rsp), %rdi
callq 0x5450
jmp 0x36f34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x3b7(%rsp), %rdi
callq 0x5450
jmp 0x36f27
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x38f(%rsp), %rdi
callq 0x5450
jmp 0x36f1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x367(%rsp), %rdi
callq 0x5450
jmp 0x36f0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x3640b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x2e0(%rsp), %rdi
callq 0x5260
jmp 0x3640b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x2a0(%rsp), %rdi
callq 0x5260
leaq 0x368(%rsp), %rdi
callq 0x5260
jmp 0x36f0d
movb $0x0, 0x29f(%rsp)
leaq 0x29e(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x5770
movq 0xc0(%rsp), %rdi
movq 0x78(%rsp), %rdx
leaq 0x1a48c(%rip), %rsi     # 0x508d7
callq 0x5590
jmp 0x36452
leaq 0x29e(%rsp), %rdi
callq 0x5450
movl $0x0, 0x298(%rsp)
movq 0xd0(%rsp), %rcx
movl 0x298(%rsp), %eax
movsbl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x36595
leaq 0x1a44c(%rip), %rsi     # 0x508d7
leaq 0x258(%rsp), %rdi
leaq 0x3b8(%rsp), %rdx
callq 0xb960
jmp 0x364a2
movl 0x298(%rsp), %eax
addl $0x41, %eax
movsbl %al, %edx
leaq 0x278(%rsp), %rdi
leaq 0x258(%rsp), %rsi
callq 0x14cf0
jmp 0x364c6
movq 0xc0(%rsp), %rdi
leaq 0x278(%rsp), %rsi
callq 0x5520
jmp 0x364dd
leaq 0x278(%rsp), %rdi
callq 0x5260
leaq 0x258(%rsp), %rdi
callq 0x5260
movl 0x298(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x298(%rsp)
jmp 0x3646a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x29e(%rsp), %rdi
callq 0x5450
jmp 0x36f0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x36f00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x36583
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x278(%rsp), %rdi
callq 0x5260
leaq 0x258(%rsp), %rdi
callq 0x5260
jmp 0x36f00
movq 0xc0(%rsp), %rdi
leaq 0x16344(%rip), %rsi     # 0x4c8e8
callq 0x53b0
jmp 0x365ab
movl $0x0, 0x254(%rsp)
movq 0xd0(%rsp), %rcx
movl 0x254(%rsp), %eax
movsbl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x36d11
movl 0x254(%rsp), %eax
movl %eax, %ecx
incl %ecx
subl $0xa, %ecx
setl %cl
movzbl %cl, %ecx
addl %ecx, %eax
cltq
movq %rax, 0x68(%rsp)
leaq 0x22f(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x5770
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rcx
leaq 0x230(%rsp), %rdi
movl $0x20, %edx
callq 0x52b0
jmp 0x3661d
movq 0xc0(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x5520
jmp 0x36634
leaq 0x230(%rsp), %rdi
callq 0x5260
leaq 0x22f(%rsp), %rdi
callq 0x5450
movl 0x254(%rsp), %esi
incl %esi
leaq 0x1e8(%rsp), %rdi
callq 0x1a430
jmp 0x36666
leaq 0x208(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x373c0
jmp 0x36685
movq 0xc0(%rsp), %rdi
leaq 0x208(%rsp), %rsi
callq 0x5520
jmp 0x3669c
leaq 0x208(%rsp), %rdi
callq 0x5260
leaq 0x1e8(%rsp), %rdi
callq 0x5260
movq 0xd0(%rsp), %rdi
movl 0x254(%rsp), %esi
callq 0x1feb0
movl %eax, 0x64(%rsp)
jmp 0x366d0
movq 0xd0(%rsp), %rdi
movl 0x64(%rsp), %eax
movl %eax, 0x1e4(%rsp)
movl 0x254(%rsp), %esi
callq 0x1fea0
movl %eax, 0x60(%rsp)
jmp 0x366f5
movl 0x60(%rsp), %eax
movl %eax, 0x1e0(%rsp)
movl 0x1e0(%rsp), %eax
cmpl 0x1e4(%rsp), %eax
jge 0x36b39
movq 0xd0(%rsp), %rax
addq $0x6, %rax
movq %rax, 0x58(%rsp)
movl 0x1e0(%rsp), %esi
movl 0x254(%rsp), %edx
movb $0x0, 0x1ba(%rsp)
leaq 0x1be(%rsp), %rdi
callq 0x11600
jmp 0x3674a
movq 0x58(%rsp), %rdi
leaq 0x1be(%rsp), %rsi
callq 0x1c3e0
movb %al, 0x57(%rsp)
jmp 0x36762
movb 0x57(%rsp), %al
testb $0x1, %al
jne 0x3676c
jmp 0x3678f
leaq 0x1a550(%rip), %rdx     # 0x50cc3
leaq 0x1c0(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x25f90
jmp 0x3678a
jmp 0x3683a
movq 0xd0(%rsp), %rax
addq $0x6, %rax
movq %rax, 0x48(%rsp)
movl 0x1e0(%rsp), %esi
decl %esi
movl 0x254(%rsp), %edx
leaq 0x1bc(%rsp), %rdi
callq 0x11600
jmp 0x367bf
movq 0x48(%rsp), %rdi
leaq 0x1bc(%rsp), %rsi
callq 0x1c3e0
movb %al, 0x47(%rsp)
jmp 0x367d7
movb 0x47(%rsp), %al
testb $0x1, %al
jne 0x367e1
jmp 0x36801
leaq 0x1886f(%rip), %rdx     # 0x4f057
leaq 0x1c0(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x25f90
jmp 0x367ff
jmp 0x36838
leaq 0x1bb(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x5770
movq 0x38(%rsp), %rdx
movb $0x1, 0x1ba(%rsp)
leaq 0x1a0b0(%rip), %rsi     # 0x508d7
leaq 0x1c0(%rsp), %rdi
callq 0x5590
jmp 0x36836
jmp 0x36838
jmp 0x3683a
movq 0xc0(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x5520
jmp 0x36851
leaq 0x1c0(%rsp), %rdi
callq 0x5260
testb $0x1, 0x1ba(%rsp)
jne 0x3686a
jmp 0x36877
leaq 0x1bb(%rsp), %rdi
callq 0x5450
movq 0xd0(%rsp), %rdi
movl 0x1e0(%rsp), %esi
movl 0x254(%rsp), %edx
callq 0x2b170
movb %al, 0x37(%rsp)
jmp 0x36898
movb 0x37(%rsp), %al
movb %al, 0x1b9(%rsp)
leaq 0x36c11(%rip), %rsi     # 0x6d4bb
leaq 0x1b9(%rsp), %rdi
callq 0x1f930
movb %al, 0x36(%rsp)
jmp 0x368bd
movb 0x36(%rsp), %al
testb $0x1, %al
jne 0x368ca
jmp 0x36a8b
movl 0x1e0(%rsp), %esi
movl 0x254(%rsp), %edx
leaq 0x176(%rsp), %rdi
callq 0x11600
jmp 0x368e7
movq 0xb8(%rsp), %rsi
movzwl 0x176(%rsp), %edx
leaq 0x178(%rsp), %rdi
callq 0x37410
jmp 0x36906
leaq 0x198(%rsp), %rdi
leaq 0x390(%rsp), %rsi
leaq 0x178(%rsp), %rdx
callq 0x373c0
jmp 0x36925
movq 0xc0(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x5520
jmp 0x3693c
leaq 0x198(%rsp), %rdi
callq 0x5260
leaq 0x178(%rsp), %rdi
callq 0x5260
jmp 0x36b21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x36992
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x230(%rsp), %rdi
callq 0x5260
leaq 0x22f(%rsp), %rdi
callq 0x5450
jmp 0x36f00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x369db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x208(%rsp), %rdi
callq 0x5260
leaq 0x1e8(%rsp), %rdi
callq 0x5260
jmp 0x36f00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x36a24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x1c0(%rsp), %rdi
callq 0x5260
testb $0x1, 0x1ba(%rsp)
jne 0x36a30
jmp 0x36a3d
leaq 0x1bb(%rsp), %rdi
callq 0x5450
jmp 0x36f00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x36a79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x198(%rsp), %rdi
callq 0x5260
leaq 0x178(%rsp), %rdi
callq 0x5260
jmp 0x36f00
leaq 0x36a2a(%rip), %rsi     # 0x6d4bc
leaq 0x1b9(%rsp), %rdi
callq 0x1f930
movb %al, 0x35(%rsp)
jmp 0x36aa5
movb 0x35(%rsp), %al
testb $0x1, %al
jne 0x36aaf
jmp 0x36ac8
movq 0xc0(%rsp), %rdi
leaq 0x418(%rsp), %rsi
callq 0x5520
jmp 0x36ac6
jmp 0x36b1f
leaq 0x369ee(%rip), %rsi     # 0x6d4bd
leaq 0x1b9(%rsp), %rdi
callq 0x1f930
movb %al, 0x34(%rsp)
jmp 0x36ae2
movb 0x34(%rsp), %al
testb $0x1, %al
jne 0x36aec
jmp 0x36b05
movq 0xc0(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x5520
jmp 0x36b03
jmp 0x36b1d
movq 0xc0(%rsp), %rdi
leaq 0x1898b(%rip), %rsi     # 0x4f49f
callq 0x53b0
jmp 0x36b1b
jmp 0x36b1d
jmp 0x36b1f
jmp 0x36b21
jmp 0x36b23
movl 0x1e0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1e0(%rsp)
jmp 0x36700
movq 0xd0(%rsp), %rax
addq $0x6, %rax
movq %rax, 0x28(%rsp)
movl 0x1e4(%rsp), %esi
decl %esi
movl 0x254(%rsp), %edx
movb $0x0, 0x14c(%rsp)
leaq 0x14e(%rsp), %rdi
callq 0x11600
jmp 0x36b71
movq 0x28(%rsp), %rdi
leaq 0x14e(%rsp), %rsi
callq 0x1c3e0
movb %al, 0x27(%rsp)
jmp 0x36b89
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0x36b93
jmp 0x36bb3
leaq 0x184bd(%rip), %rdx     # 0x4f057
leaq 0x150(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x25f90
jmp 0x36bb1
jmp 0x36bea
leaq 0x14d(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x5770
movq 0x18(%rsp), %rdx
movb $0x1, 0x14c(%rsp)
leaq 0x19cfe(%rip), %rsi     # 0x508d7
leaq 0x150(%rsp), %rdi
callq 0x5590
jmp 0x36be8
jmp 0x36bea
movq 0xc0(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x5520
jmp 0x36c01
leaq 0x150(%rsp), %rdi
callq 0x5260
testb $0x1, 0x14c(%rsp)
jne 0x36c1a
jmp 0x36c27
leaq 0x14d(%rsp), %rdi
callq 0x5450
leaq 0x128(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
leaq 0x390(%rsp), %rdx
callq 0x37470
jmp 0x36c46
movq 0xc0(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x5520
jmp 0x36c5d
leaq 0x128(%rsp), %rdi
callq 0x5260
movq 0xc0(%rsp), %rdi
movl $0xa, %esi
callq 0x5270
jmp 0x36c7e
jmp 0x36c80
movl 0x254(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x254(%rsp)
jmp 0x365b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x36ccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x150(%rsp), %rdi
callq 0x5260
testb $0x1, 0x14c(%rsp)
jne 0x36cd9
jmp 0x36ce6
leaq 0x14d(%rsp), %rdi
callq 0x5450
jmp 0x36f00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x128(%rsp), %rdi
callq 0x5260
jmp 0x36f00
movq 0xd0(%rsp), %rax
movsbl (%rax), %eax
addl $0x2, %eax
cltq
movq %rax, 0x8(%rsp)
leaq 0x107(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x5770
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rcx
leaq 0x108(%rsp), %rdi
movl $0x20, %edx
callq 0x52b0
jmp 0x36d56
movq 0xc0(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x5520
jmp 0x36d6d
leaq 0x108(%rsp), %rdi
callq 0x5260
leaq 0x107(%rsp), %rdi
callq 0x5450
movl $0x0, 0x100(%rsp)
movq 0xd0(%rsp), %rcx
movl 0x100(%rsp), %eax
movsbl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x36e70
leaq 0x19b24(%rip), %rdx     # 0x508d7
leaq 0xe0(%rsp), %rdi
leaq 0x418(%rsp), %rsi
callq 0x25f90
jmp 0x36dca
movq 0xc0(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x5520
jmp 0x36de1
leaq 0xe0(%rsp), %rdi
callq 0x5260
movl 0x100(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x100(%rsp)
jmp 0x36d92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
jmp 0x36e38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0x108(%rsp), %rdi
callq 0x5260
leaq 0x107(%rsp), %rdi
callq 0x5450
jmp 0x36f00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x408(%rsp)
movl %eax, 0x404(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0x5260
jmp 0x36f00
movq 0xc0(%rsp), %rdi
leaq 0x15a69(%rip), %rsi     # 0x4c8e8
callq 0x53b0
jmp 0x36e86
movq 0xc0(%rsp), %rdi
leaq 0x390(%rsp), %rsi
callq 0x5520
jmp 0x36e9d
movb $0x1, 0x29f(%rsp)
testb $0x1, 0x29f(%rsp)
jne 0x36ebc
movq 0xc0(%rsp), %rdi
callq 0x5260
leaq 0x390(%rsp), %rdi
callq 0x5260
leaq 0x3b8(%rsp), %rdi
callq 0x5260
leaq 0x3e0(%rsp), %rdi
callq 0x5260
leaq 0x418(%rsp), %rdi
callq 0x5260
movq 0xc8(%rsp), %rax
addq $0x458, %rsp            # imm = 0x458
retq
movq 0xc0(%rsp), %rdi
callq 0x5260
leaq 0x390(%rsp), %rdi
callq 0x5260
leaq 0x3b8(%rsp), %rdi
callq 0x5260
leaq 0x3e0(%rsp), %rdi
callq 0x5260
leaq 0x418(%rsp), %rdi
callq 0x5260
movq 0x408(%rsp), %rdi
callq 0x5760
nop