// File: /workspace/github_cpp_makefile_star2_O2/FakePsyho[P]halite2/hlt/hlt_in.cpp
// Function: hlt::in::get_map()
const Map get_map() {
            if (g_turn == 1) {
                out::send_string(g_bot_name);
            }

            const std::string input = get_string();

            if (!std::cin.good()) {
                // This is needed on Windows to detect that game engine is done.
                std::exit(0);
            }

            if (g_turn == 0) {
                Log::log("--- PRE-GAME ---");
            } else {
                Log::log("--- TURN " + std::to_string(g_turn) + " ---");
            }
            ++g_turn;

            return parse_map(input, g_map_width, g_map_height);
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x338, %rsp            # imm = 0x338
movq %rdi, 0x18(%rsp)
cmpl $0x1, 0x17892(%rip)     # 0x287d8
jne 0x10f63
movq 0xb081(%rip), %rdi      # 0x1bfd0
leaq 0x1785a(%rip), %rsi     # 0x287b0
callq 0x2200
movq %rax, %rdi
callq 0x2100
leaq 0xf8(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0xb062(%rip), %rbx      # 0x1bfe0
leaq 0xe8(%rsp), %rsi
movq %rbx, %rdi
callq 0x2060
movq (%rbx), %rax
movq -0x18(%rax), %rax
cmpl $0x0, 0x20(%rbx,%rax)
jne 0x1148a
movl 0x17832(%rip), %esi     # 0x287d8
testl %esi, %esi
je 0x11017
leaq 0x48(%rsp), %rdi
callq 0xb311
leaq 0x165f(%rip), %rsi      # 0x1261a
leaq 0x108(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0xa345
leaq 0x1641(%rip), %rdx      # 0x12615
leaq 0x1b0(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0xb2d3
leaq 0x1b0(%rsp), %rdi
callq 0x994c
leaq 0x1b0(%rsp), %rdi
callq 0x2448
leaq 0x108(%rsp), %rdi
callq 0x2448
leaq 0x48(%rsp), %rdi
jmp 0x11048
leaq 0x15eb(%rip), %rsi      # 0x12609
leaq 0x1b0(%rsp), %rdi
leaq 0x108(%rsp), %rdx
callq 0x20c0
leaq 0x1b0(%rsp), %rdi
callq 0x994c
leaq 0x1b0(%rsp), %rdi
callq 0x2448
incl 0x17785(%rip)           # 0x287d8
movl 0x17777(%rip), %ebx     # 0x287d0
movl 0x17775(%rip), %ebp     # 0x287d4
leaq 0x1b0(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
pushq $0x18
popq %rdx
callq 0x2350
leaq 0x1b0(%rsp), %rdi
leaq 0x34(%rsp), %rsi
callq 0x2140
movq 0x18(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %ebp, %edx
callq 0x11a0c
leaq 0x10(%r14), %rax
movq %rax, 0x20(%rsp)
leaq 0x48(%r14), %rax
movq %rax, 0x40(%rsp)
xorl %ebp, %ebp
leaq 0x1b0(%rsp), %r12
leaq 0x4(%rsp), %r14
xorl %r15d, %r15d
cmpl 0x34(%rsp), %r15d
jge 0x1126d
movq %r12, %rdi
leaq 0x30(%rsp), %rsi
callq 0x2140
movl 0x30(%rsp), %eax
movl %eax, 0x4(%rsp)
movq %r12, %rdi
leaq 0x10(%rsp), %rsi
callq 0x23e0
movq 0x20(%rsp), %rdi
movq %r14, %rsi
callq 0xd19c
movq %rax, %rbx
movl %r15d, 0x28(%rsp)
movq 0x40(%rsp), %rdi
movq %r14, %rsi
callq 0xc6c0
movq %rax, %r14
movl 0x10(%rsp), %esi
movq %rbx, %rdi
callq 0x11540
xorl %r15d, %r15d
cmpl 0x10(%rsp), %r15d
jae 0x1125b
andq $0x0, 0x80(%rsp)
movb %bpl, 0x88(%rsp)
movb %bpl, 0xa8(%rsp)
leaq 0x60(%rsp), %rax
andq $0x0, 0x2c(%rax)
movl 0x4(%rsp), %r13d
movb %bpl, 0x34(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0xc(%rax)
movups %xmm0, (%rax)
movq %r12, %rdi
leaq 0x48(%rsp), %rsi
callq 0x23e0
movq %r12, %rdi
leaq 0x50(%rsp), %rsi
callq 0x2180
movq %r12, %rdi
leaq 0x58(%rsp), %rsi
callq 0x2180
movq %r12, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x2140
movq %r12, %rdi
leaq 0x38(%rsp), %rsi
callq 0x2180
movq %r12, %rdi
leaq 0x8(%rsp), %rsi
callq 0x2180
movq %r12, %rdi
leaq 0x14(%rsp), %rsi
callq 0x2140
movl 0x14(%rsp), %eax
movl %eax, 0xc4(%rsp)
movq %r12, %rdi
leaq 0xcc(%rsp), %rsi
callq 0x23e0
movq %r12, %rdi
leaq 0xc8(%rsp), %rsi
callq 0x2140
movq %r12, %rdi
leaq 0xc0(%rsp), %rsi
callq 0x2140
movl %r13d, 0x4c(%rsp)
movabsq $0x3fe0000000000000, %rax # imm = 0x3FE0000000000000
movq %rax, 0xb8(%rsp)
movl 0x48(%rsp), %eax
movl %eax, 0x108(%rsp)
movl $0x88, %edx
leaq 0x110(%rsp), %r13
movq %r13, %rdi
leaq 0x48(%rsp), %rsi
callq 0x21e0
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa5d2
movq %r14, %rdi
leaq 0x108(%rsp), %rsi
callq 0xc9ae
movl %r15d, (%rax)
incl %r15d
jmp 0x1111f
movl 0x28(%rsp), %r15d
incl %r15d
leaq 0x4(%rsp), %r14
jmp 0x110be
leaq 0x1b0(%rsp), %rdi
leaq 0x4(%rsp), %rsi
movq 0x18(%rsp), %rbx
callq 0x23e0
leaq 0x80(%rbx), %rdi
movl 0x4(%rsp), %esi
movq %rdi, 0x28(%rsp)
callq 0x11626
leaq 0xd0(%rsp), %r14
leaq 0x98(%rbx), %rax
movq %rax, 0x20(%rsp)
leaq 0x1b0(%rsp), %r12
leaq 0x48(%rsp), %rbx
leaq 0x14(%rsp), %r15
xorl %ebp, %ebp
cmpl 0x4(%rsp), %ebp
jae 0x11459
andq $0x0, 0x80(%rsp)
xorl %ecx, %ecx
movb %cl, 0x88(%rsp)
movb %cl, 0xa8(%rsp)
leaq 0x60(%rsp), %rax
andq $0x0, 0x2c(%rax)
movb %cl, 0x34(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0xc(%rax)
movups %xmm0, (%rax)
movups %xmm0, (%r14)
andq $0x0, 0x10(%r14)
movq %r12, %rdi
movq %rbx, %rsi
callq 0x23e0
movq %r12, %rdi
leaq 0x50(%rsp), %rsi
callq 0x2180
movq %r12, %rdi
leaq 0x58(%rsp), %rsi
callq 0x2180
movq %r12, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x2140
movq %r12, %rdi
leaq 0xb8(%rsp), %rsi
callq 0x2180
movq %r12, %rdi
leaq 0xcc(%rsp), %rsi
callq 0x23e0
movq %r12, %rdi
leaq 0xc8(%rsp), %rsi
callq 0x2140
movq %r12, %rdi
leaq 0xc4(%rsp), %rsi
callq 0x2140
movq %r12, %rdi
leaq 0x38(%rsp), %rsi
callq 0x2140
cmpl $0x1, 0x38(%rsp)
jne 0x113ac
movb $0x1, 0xc0(%rsp)
movq %r12, %rdi
leaq 0x8(%rsp), %rsi
callq 0x2140
movl 0x8(%rsp), %eax
movl %eax, 0x4c(%rsp)
jmp 0x113c6
movb $0x0, 0xc0(%rsp)
movq %r12, %rdi
leaq 0x8(%rsp), %rsi
callq 0x2140
orl $-0x1, 0x4c(%rsp)
movq %r12, %rdi
leaq 0x8(%rsp), %rsi
callq 0x23e0
movl 0x8(%rsp), %esi
movq %r14, %rdi
callq 0x117a2
xorl %r13d, %r13d
cmpl 0x8(%rsp), %r13d
jae 0x11404
movq %r12, %rdi
movq %r15, %rsi
callq 0x23e0
movq %r14, %rdi
movq %r15, %rsi
callq 0xa5b4
incl %r13d
jmp 0x113e2
leaq 0x108(%rsp), %rdi
movq %rbx, %rsi
movq %rbx, %rdx
callq 0x11838
movq %r14, %rdi
callq 0xbff8
movq 0x28(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x116d2
movq 0x20(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0xc9ae
movl %ebp, (%rax)
leaq 0x198(%rsp), %rdi
callq 0xbff8
incl %ebp
jmp 0x112c1
leaq 0x1b0(%rsp), %rdi
callq 0x21b0
leaq 0xe8(%rsp), %rdi
callq 0x2448
movq 0x18(%rsp), %rax
addq $0x338, %rsp            # imm = 0x338
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %edi, %edi
callq 0x2290
movq %rax, %rbx
leaq 0x1b0(%rsp), %rdi
jmp 0x114cc
jmp 0x114d7
movq %rax, %rbx
leaq 0x1b0(%rsp), %rdi
callq 0x2448
jmp 0x114b5
movq %rax, %rbx
leaq 0x108(%rsp), %rdi
callq 0x2448
jmp 0x114c7
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2448
jmp 0x1152b
jmp 0x114d7
jmp 0x114d7
movq %rax, %rbx
jmp 0x1152b
jmp 0x11511
movq %rax, %rbx
jmp 0x1151e
jmp 0x11502
jmp 0x11502
jmp 0x11502
jmp 0x11511
jmp 0x11511
jmp 0x11511
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
jmp 0x11508
jmp 0x11511
jmp 0x11502
jmp 0x11502
movq %rax, %rbx
movq %r14, %rdi
callq 0xbff8
jmp 0x11514
jmp 0x11511
movq %rax, %rbx
movq 0x18(%rsp), %rdi
callq 0x9a4c
leaq 0x1b0(%rsp), %rdi
callq 0x21b0
leaq 0xe8(%rsp), %rdi
callq 0x2448
movq %rbx, %rdi
callq 0x23f0