// File: /workspace/github_cpp_makefile_star2_O3/flightaware[P]beast-splitter/beast_output.cc
// Function: beast::SocketOutput::write_avrmlat(unsigned long, std::vector<unsigned char, std::allocator<unsigned char>> const&)
void SocketOutput::write_avrmlat(std::uint64_t timestamp, const helpers::bytebuf &data) {
        prepare_write();

        outbuf->push_back((std::uint8_t)'@');
        push_back_hex(*outbuf, (timestamp >> 40) & 0xFF);
        push_back_hex(*outbuf, (timestamp >> 32) & 0xFF);
        push_back_hex(*outbuf, (timestamp >> 24) & 0xFF);
        push_back_hex(*outbuf, (timestamp >> 16) & 0xFF);
        push_back_hex(*outbuf, (timestamp >> 8) & 0xFF);
        push_back_hex(*outbuf, timestamp & 0xFF);
        for (auto b : data)
            push_back_hex(*outbuf, b);
        outbuf->push_back((std::uint8_t)';');
        outbuf->push_back((std::uint8_t)'\n');

        complete_write();
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, 0x10(%rsp)
movq %rsi, %r14
movq %rdi, %rbx
callq 0x24ce4
movq 0x100(%rbx), %rdi
leaq 0xf(%rsp), %r12
movb $0x40, (%r12)
movq %r12, %rsi
callq 0x1114e
movq 0x100(%rbx), %r13
movq %r14, %r15
shrq $0x28, %r15
movq %r14, %rax
shrq $0x2c, %rax
andl $0xf, %eax
leaq 0x2b50e(%rip), %rbp     # 0x4fee0
movb (%rax,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
andl $0xf, %r15d
movb (%r15,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
movq 0x100(%rbx), %r13
movq %r14, %r15
shrq $0x20, %r15
movq %r14, %rax
shrq $0x24, %rax
andl $0xf, %eax
movb (%rax,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
andl $0xf, %r15d
movb (%r15,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
movq 0x100(%rbx), %r13
movl %r14d, %r15d
shrl $0x18, %r15d
movl %r14d, %eax
shrl $0x1c, %eax
movb (%rax,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
andl $0xf, %r15d
movb (%r15,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
movq 0x100(%rbx), %r13
movl %r14d, %r15d
shrl $0x10, %r15d
movl %r14d, %eax
shrl $0x14, %eax
andl $0xf, %eax
movb (%rax,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
andl $0xf, %r15d
movb (%r15,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
movq 0x100(%rbx), %r13
movl %r14d, %r15d
shrl $0x8, %r15d
movl %r14d, %eax
shrl $0xc, %eax
andl $0xf, %eax
movb (%rax,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
andl $0xf, %r15d
movb (%r15,%rbp), %al
movq %rbx, %r15
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
movq 0x100(%rbx), %r13
movl %r14d, %eax
shrl $0x4, %eax
andl $0xf, %eax
movb (%rax,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x1114e
andl $0xf, %r14d
movb (%r14,%rbp), %al
movb %al, (%r12)
leaq 0xf(%rsp), %rsi
movq %r13, %rdi
callq 0x1114e
movq 0x10(%rsp), %rax
movq (%rax), %r12
movq 0x8(%rax), %rax
cmpq %rax, %r12
je 0x24bdb
movq %rax, 0x10(%rsp)
movq %rbp, %rbx
movzbl (%r12), %ebp
movq %r15, %r14
movq 0x100(%r15), %r15
movl %ebp, %eax
shrl $0x4, %eax
movb (%rax,%rbx), %al
movb %al, 0xf(%rsp)
movq %r15, %rdi
leaq 0xf(%rsp), %r13
movq %r13, %rsi
callq 0x1114e
andl $0xf, %ebp
movb (%rbp,%rbx), %al
movq %rbx, %rbp
movb %al, 0xf(%rsp)
movq %r15, %rdi
movq %r14, %r15
movq %r13, %rsi
callq 0x1114e
movq 0x10(%rsp), %rax
incq %r12
cmpq %rax, %r12
jne 0x24b84
movq 0x100(%r15), %rdi
leaq 0xf(%rsp), %r14
movb $0x3b, (%r14)
movq %r14, %rsi
callq 0x1114e
movq 0x100(%r15), %rdi
movb $0xa, (%r14)
leaq 0xf(%rsp), %rsi
callq 0x1114e
movq %r15, %rdi
callq 0x24d5a
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop