// File: /workspace/github_cpp_makefile_star2_O3/Leeingnyo[P]newPuyoC/main.cpp
// Function: help()
void help() {
    Console::ScreenClear();
    std::cout << Console::GotoXY(0, 0);
    std::cout << "# 메뉴 설명   _.- 지금 보고 계신 것" << std::endl;
    std::cout << "0. 게임설명 -` _.-- 혼자 연습하실 수 있습니다. 연쇄를 연습해보자구요!" << std::endl;
    std::cout << "1. 혼자하기 --`  ,- 둘이서 같은 컴퓨터로 대결하실 수 있습니다" << std::endl;
    std::cout << "2. 둘이하기(같은컴)   ,-원격의 상대와 대결하실 수 있습니다" << std::endl;
    std::cout << "3. 둘이하기(멀티플레이)   멀리 떨어진 친구와 ㄱㄱ!" << std::endl;
    std::cout << "4. 끝내기 --- 게임을 끝냅니다 (플레이 해주세요!)" << std::endl;
    std::cout << "(AI와 대결 - 언젠가 구현될 겁니다)" << std::endl;
    std::cout << "(1/3) 아무 키를 눌러주세요" << std::endl;
    getch();
    Console::ScreenClear();
    std::cout << Console::GotoXY(0, 0);
    std::cout << "# 게임 설명" << std::endl;
    std::cout << "'뿌요뿌요'는 일본의 게임 회사 컴파일에서 제작한 낙하형 퍼즐 게임 시리즈 입니다 (위키백과)." << std::endl;
    std::cout << "'뿌요'라는 슬라임 형태의 몬스터가 등장하는데," << std::endl;
    std::cout << "이 몬스터들은 4개 이상이 모이면 터지게 된답니다." << std::endl;
    std::cout << "" << std::endl;
    std::cout << "# 게임 규칙" << std::endl;
    std::cout << "위에서 내려오는 뿌요를 이동하고 회전시켜서 같은 색 4개를 인접시키세요." << std::endl;
    std::cout << "터지게 되면 점수를 얻고 상대방에게 방해뿌요를 보냅니다." << std::endl;
    std::cout << "터지면서 위에 쌓인 뿌요가 내려와서 또 4개가 모여 티질 수 있는데, 이를 연쇄라고 합니다." << std::endl;
    std::cout << "연쇄 수가 많을 수록 점수를 더 얻게 되며 더 많은 방해뿌요를 상대방에게 보냅니다!" << std::endl;
    std::cout << "방해뿌요는 주변의 뿌요가 터지면 사라지게 됩니다." << std::endl;
    std::cout << "" << std::endl;
    std::cout << "그럼 상대방을 보내버립시다!" << std::endl;
    std::cout << "(2/3) 아무 키를 눌러주세요" << std::endl;
    getch();
    Console::ScreenClear();
    std::cout << Console::GotoXY(0, 0);
    std::cout << "# 키 설명" << std::endl;
    std::cout << "## 혼자하기 / 둘이하기(멀티)" << std::endl;
    std::cout << "*-------------------------------*" << std::endl;
    std::cout << "| 왼쪽 | 아래로 | 오른쪽 | 회전 |" << std::endl;
    std::cout << "| h, j |   k    |   l    |  z   |" << std::endl;
    std::cout << "*-------------------------------*" << std::endl;
    std::cout << "(h for vim user)" << std::endl;
    std::cout << "" << std::endl;
    std::cout << "## 둘이하기(같은컴)" << std::endl;
    std::cout << "### 1p" << std::endl;
    std::cout << "*-------------------------------*" << std::endl;
    std::cout << "| 왼쪽 | 아래로 | 오른쪽 | 회전 |" << std::endl;
    std::cout << "|  d   |   f    |   g    |  z   |" << std::endl;
    std::cout << "*-------------------------------*" << std::endl;
    std::cout << "### 2p" << std::endl;
    std::cout << "*-------------------------------*" << std::endl;
    std::cout << "| 왼쪽 | 아래로 | 오른쪽 | 회전 |" << std::endl;
    std::cout << "|  l   |   ;    |   '    |  ,   |" << std::endl;
    std::cout << "*-------------------------------*" << std::endl;
    std::cout << "(3/3) 아무 키를 눌러주세요" << std::endl;
    getch();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
callq 0x3dd8
xorl %r12d, %r12d
leaq -0x28(%rbp), %r14
movq %r12, (%r14)
movq 0x6ba6(%rip), %rbx      # 0x10fd0
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3e76
leaq 0x2789(%rip), %rsi      # 0xcbc5
movl $0x2e, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x277d(%rip), %rsi      # 0xcbf4
movl $0x5e, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27a1(%rip), %rsi      # 0xcc53
movl $0x53, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27ba(%rip), %rsi      # 0xcca7
movl $0x50, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27d0(%rip), %rsi      # 0xccf8
movl $0x45, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27db(%rip), %rsi      # 0xcd3e
movl $0x41, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27e2(%rip), %rsi      # 0xcd80
movl $0x2e, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27d6(%rip), %rsi      # 0xcdaf
movl $0x23, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
callq 0x3d57
callq 0x3dd8
movq %r12, (%r14)
leaq -0x28(%rbp), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3e76
leaq 0x27a3(%rip), %rsi      # 0xcdd3
movl $0xf, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x2778(%rip), %rsi      # 0xcde3
movl $0x7f, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27bd(%rip), %rsi      # 0xce63
movl $0x40, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27c3(%rip), %rsi      # 0xcea4
movl $0x44, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x1f47(%rip), %r14      # 0xc663
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x2792(%rip), %rsi      # 0xcee9
movl $0xf, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x2767(%rip), %rsi      # 0xcef9
movl $0x64, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x2791(%rip), %rsi      # 0xcf5e
movl $0x4f, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27a6(%rip), %rsi      # 0xcfae
movl $0x79, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27e5(%rip), %rsi      # 0xd028
movl $0x70, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x281b(%rip), %rsi      # 0xd099
movl $0x45, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27f2(%rip), %rsi      # 0xd0df
movl $0x27, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x27df(%rip), %rsi      # 0xd107
movl $0x23, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
callq 0x3d57
callq 0x3dd8
movq %r12, (%r15)
leaq -0x28(%rbp), %rsi
movq %rbx, %rdi
callq 0x3e76
leaq 0x27af(%rip), %rsi      # 0xd12b
movl $0xc, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x2781(%rip), %rsi      # 0xd138
movl $0x26, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x276d(%rip), %r15      # 0xd15f
movl $0x21, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x2751(%rip), %r12      # 0xd181
movl $0x2b, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x273f(%rip), %rsi      # 0xd1ad
movl $0x21, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movl $0x21, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x26ef(%rip), %rsi      # 0xd1cf
movl $0x10, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x2691(%rip), %rsi      # 0xd1e0
movl $0x1a, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x2671(%rip), %rsi      # 0xd1fb
movl $0x6, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movl $0x21, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movl $0x2b, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x25cf(%rip), %rsi      # 0xd202
movl $0x21, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movl $0x21, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x257f(%rip), %rsi      # 0xd224
movl $0x6, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movl $0x21, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movl $0x2b, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x24dd(%rip), %rsi      # 0xd22b
movl $0x21, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
movl $0x21, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
leaq 0x248d(%rip), %rsi      # 0xd24d
movl $0x23, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3290
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31d0
callq 0x3d57
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq