// File: /workspace/github_cpp_makefile_star2_O1/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 0x3de0
xorl %r12d, %r12d
leaq -0x28(%rbp), %r14
movq %r12, (%r14)
movq 0x6a28(%rip), %rbx      # 0x10fd0
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3e7e
leaq 0x262b(%rip), %rsi      # 0xcbe5
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 0x261f(%rip), %rsi      # 0xcc14
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 0x2643(%rip), %rsi      # 0xcc73
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 0x265c(%rip), %rsi      # 0xccc7
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 0x2672(%rip), %rsi      # 0xcd18
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 0x267d(%rip), %rsi      # 0xcd5e
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 0x2684(%rip), %rsi      # 0xcda0
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 0x2678(%rip), %rsi      # 0xcdcf
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 0x3d5f
callq 0x3de0
movq %r12, (%r14)
leaq -0x28(%rbp), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3e7e
leaq 0x2645(%rip), %rsi      # 0xcdf3
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 0x261a(%rip), %rsi      # 0xce03
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 0x265f(%rip), %rsi      # 0xce83
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 0x2665(%rip), %rsi      # 0xcec4
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 0x1de9(%rip), %r14      # 0xc683
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 0x2634(%rip), %rsi      # 0xcf09
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 0x2609(%rip), %rsi      # 0xcf19
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 0x2633(%rip), %rsi      # 0xcf7e
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 0x2648(%rip), %rsi      # 0xcfce
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 0x2687(%rip), %rsi      # 0xd048
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 0x26bd(%rip), %rsi      # 0xd0b9
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 0x2694(%rip), %rsi      # 0xd0ff
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 0x2681(%rip), %rsi      # 0xd127
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 0x3d5f
callq 0x3de0
movq %r12, (%r15)
leaq -0x28(%rbp), %rsi
movq %rbx, %rdi
callq 0x3e7e
leaq 0x2651(%rip), %rsi      # 0xd14b
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 0x2623(%rip), %rsi      # 0xd158
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 0x260f(%rip), %r15      # 0xd17f
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 0x25f3(%rip), %r12      # 0xd1a1
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 0x25e1(%rip), %rsi      # 0xd1cd
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 0x2591(%rip), %rsi      # 0xd1ef
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 0x2533(%rip), %rsi      # 0xd200
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 0x2513(%rip), %rsi      # 0xd21b
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 0x2471(%rip), %rsi      # 0xd222
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 0x2421(%rip), %rsi      # 0xd244
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 0x237f(%rip), %rsi      # 0xd24b
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 0x232f(%rip), %rsi      # 0xd26d
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 0x3d5f
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq