// File: FakePsyho[P]halite2/./hlt/hlt_out.hpp
// Function: hlt::out::send_moves(std::vector<hlt::Move, std::allocator<hlt::Move>> const&)
static bool send_moves(const std::vector<Move>& moves) {
            std::ostringstream oss;
            for (const Move& move : moves) {
                switch (move.type) {
                    case MoveType::Noop:
                        continue;
                    case MoveType::Undock:
                        oss << "u " << move.ship_id << " ";
                        break;
                    case MoveType::Dock:
                        oss << "d " << move.ship_id << " "
                            << move.dock_to << " ";
                        break;
                    case MoveType::Thrust:
                        oss << "t " << move.ship_id << " "
                            << move.move_thrust << " "
                            << move.move_angle_deg << " ";
                        break;
                }
            }

            return send_string(oss.str());
        }

// Assembly:
subq $0x248, %rsp            # imm = 0x248
movq %rdi, 0x240(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0x3330
movq 0x240(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0xc0(%rsp), %rdi
callq 0x23210
movq %rax, 0xb8(%rsp)
movq 0xc0(%rsp), %rdi
callq 0x23240
movq %rax, 0xb0(%rsp)
leaq 0xb8(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x23270
testb $0x1, %al
jne 0x11ae4
jmp 0x11ce3
leaq 0xb8(%rsp), %rdi
callq 0x232b0
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movl (%rax), %eax
movq %rax, 0x70(%rsp)
subq $0x3, %rax
ja 0x11ccf
movq 0x70(%rsp), %rax
leaq 0x296f2(%rip), %rcx     # 0x3b210
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x11cd1
leaq 0x29931(%rip), %rsi     # 0x3b464
leaq 0xc8(%rsp), %rdi
callq 0x3250
movq %rax, 0x68(%rsp)
jmp 0x11b47
movq 0x68(%rsp), %rdi
movq 0xa8(%rsp), %rax
movl 0x4(%rax), %esi
callq 0x3320
movq %rax, 0x60(%rsp)
jmp 0x11b63
movq 0x60(%rsp), %rdi
leaq 0x29932(%rip), %rsi     # 0x3b4a1
callq 0x3250
jmp 0x11b76
jmp 0x11ccf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x11d4a
leaq 0x298cc(%rip), %rsi     # 0x3b467
leaq 0xc8(%rsp), %rdi
callq 0x3250
movq %rax, 0x58(%rsp)
jmp 0x11baf
movq 0x58(%rsp), %rdi
movq 0xa8(%rsp), %rax
movl 0x4(%rax), %esi
callq 0x3320
movq %rax, 0x50(%rsp)
jmp 0x11bcb
movq 0x50(%rsp), %rdi
leaq 0x298ca(%rip), %rsi     # 0x3b4a1
callq 0x3250
movq %rax, 0x48(%rsp)
jmp 0x11be3
movq 0x48(%rsp), %rdi
movq 0xa8(%rsp), %rax
movl 0x18(%rax), %esi
callq 0x3320
movq %rax, 0x40(%rsp)
jmp 0x11bff
movq 0x40(%rsp), %rdi
leaq 0x29896(%rip), %rsi     # 0x3b4a1
callq 0x3250
jmp 0x11c12
jmp 0x11ccf
leaq 0x2984c(%rip), %rsi     # 0x3b46a
leaq 0xc8(%rsp), %rdi
callq 0x3250
movq %rax, 0x38(%rsp)
jmp 0x11c32
movq 0x38(%rsp), %rdi
movq 0xa8(%rsp), %rax
movl 0x4(%rax), %esi
callq 0x3320
movq %rax, 0x30(%rsp)
jmp 0x11c4e
movq 0x30(%rsp), %rdi
leaq 0x29847(%rip), %rsi     # 0x3b4a1
callq 0x3250
movq %rax, 0x28(%rsp)
jmp 0x11c66
movq 0x28(%rsp), %rdi
movq 0xa8(%rsp), %rax
movsd 0x8(%rax), %xmm0
callq 0x3480
movq %rax, 0x20(%rsp)
jmp 0x11c84
movq 0x20(%rsp), %rdi
leaq 0x29811(%rip), %rsi     # 0x3b4a1
callq 0x3250
movq %rax, 0x18(%rsp)
jmp 0x11c9c
movq 0x18(%rsp), %rdi
movq 0xa8(%rsp), %rax
movsd 0x10(%rax), %xmm0
callq 0x3480
movq %rax, 0x10(%rsp)
jmp 0x11cba
movq 0x10(%rsp), %rdi
leaq 0x297db(%rip), %rsi     # 0x3b4a1
callq 0x3250
jmp 0x11ccd
jmp 0x11ccf
jmp 0x11cd1
leaq 0xb8(%rsp), %rdi
callq 0x232c0
jmp 0x11ac6
leaq 0x78(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x3280
jmp 0x11cf7
leaq 0x78(%rsp), %rdi
callq 0x12530
movb %al, 0xf(%rsp)
jmp 0x11d07
leaq 0x78(%rsp), %rdi
callq 0x34c8
leaq 0xc8(%rsp), %rdi
callq 0x30c0
movb 0xf(%rsp), %al
andb $0x1, %al
addq $0x248, %rsp            # imm = 0x248
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x34c8
leaq 0xc8(%rsp), %rdi
callq 0x30c0
movq 0xa0(%rsp), %rdi
callq 0x3440
nopw %cs:(%rax,%rax)