// File: romkatv[P]hcproxy/src/forwarder.cc
// Function: hcproxy::(anonymous namespace)::Buffer::Write(std::basic_string_view<char, std::char_traits<char>>)
void Write(std::string_view data) {
    CHECK(size_ >= 0);
    CHECK(size_ <= capacity_);
    CHECK(data.size() <= static_cast<size_t>(capacity_ - size_));
    CHECK(pipe_[1] >= 0);
    CHECK(write(pipe_[1], data.data(), data.size()) == static_cast<ssize_t>(data.size()))
        << Errno();
    size_ += data.size();
    CHECK(size_ >= 0);
    CHECK(size_ <= capacity_);
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x210, %rsp            # imm = 0x210
movq %rsi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x148(%rbp)
movl 0x4(%rax), %eax
movb $0x0, -0x39(%rbp)
cmpl $0x0, %eax
jl 0x2eba0
jmp 0x2ec15
leaq 0xb63d5(%rip), %rsi     # 0xe4f7c
leaq -0x38(%rbp), %rdi
movq %rdi, -0x158(%rbp)
movl $0x49, %edx
movl $0x3, %ecx
callq 0x194b0
movq -0x158(%rbp), %rdi
movb $0x1, -0x39(%rbp)
callq 0x194e0
movq %rax, %rdi
leaq 0xb6485(%rip), %rsi     # 0xe5060
callq 0x1c330
movq %rax, -0x150(%rbp)
jmp 0x2ebe9
movq -0x150(%rbp), %rdi
leaq 0xba794(%rip), %rsi     # 0xe938b
callq 0x19450
movq %rax, -0x160(%rbp)
jmp 0x2ec05
movq -0x160(%rbp), %rsi
leaq -0x4d(%rbp), %rdi
callq 0x194f0
testb $0x1, -0x39(%rbp)
jne 0x2ec1d
jmp 0x2ec41
leaq -0x38(%rbp), %rdi
callq 0x19500
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0x39(%rbp)
jne 0x2ecdd
jmp 0x2ece6
movq -0x148(%rbp), %rcx
movl 0x4(%rcx), %eax
movl (%rcx), %ecx
movb $0x0, -0x71(%rbp)
cmpl %ecx, %eax
jg 0x2ec57
jmp 0x2eccc
leaq 0xb631e(%rip), %rsi     # 0xe4f7c
leaq -0x70(%rbp), %rdi
movq %rdi, -0x170(%rbp)
movl $0x4a, %edx
movl $0x3, %ecx
callq 0x194b0
movq -0x170(%rbp), %rdi
movb $0x1, -0x71(%rbp)
callq 0x194e0
movq %rax, %rdi
leaq 0xb63d9(%rip), %rsi     # 0xe506b
callq 0x1d970
movq %rax, -0x168(%rbp)
jmp 0x2eca0
movq -0x168(%rbp), %rdi
leaq 0xba6dd(%rip), %rsi     # 0xe938b
callq 0x19450
movq %rax, -0x178(%rbp)
jmp 0x2ecbc
movq -0x178(%rbp), %rsi
leaq -0x72(%rbp), %rdi
callq 0x194f0
testb $0x1, -0x71(%rbp)
jne 0x2ecd4
jmp 0x2ed06
leaq -0x70(%rbp), %rdi
callq 0x19500
leaq -0x38(%rbp), %rdi
callq 0x19500
jmp 0x2f1ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0x71(%rbp)
jne 0x2edc1
jmp 0x2edca
leaq -0x10(%rbp), %rdi
callq 0x1c100
movq -0x148(%rbp), %rdx
movl (%rdx), %ecx
subl 0x4(%rdx), %ecx
movslq %ecx, %rcx
movb $0x0, -0x99(%rbp)
cmpq %rcx, %rax
ja 0x2ed2c
jmp 0x2edaa
leaq 0xb6249(%rip), %rsi     # 0xe4f7c
leaq -0x98(%rbp), %rdi
movq %rdi, -0x188(%rbp)
movl $0x4b, %edx
movl $0x3, %ecx
callq 0x194b0
movq -0x188(%rbp), %rdi
movb $0x1, -0x99(%rbp)
callq 0x194e0
movq %rax, %rdi
leaq 0xb6533(%rip), %rsi     # 0xe52a0
callq 0x31ae0
movq %rax, -0x180(%rbp)
jmp 0x2ed7b
movq -0x180(%rbp), %rdi
leaq 0xba602(%rip), %rsi     # 0xe938b
callq 0x19450
movq %rax, -0x190(%rbp)
jmp 0x2ed97
movq -0x190(%rbp), %rsi
leaq -0x9a(%rbp), %rdi
callq 0x194f0
testb $0x1, -0x99(%rbp)
jne 0x2edb5
jmp 0x2eded
leaq -0x98(%rbp), %rdi
callq 0x19500
leaq -0x70(%rbp), %rdi
callq 0x19500
jmp 0x2f1ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0x99(%rbp)
jne 0x2ee9a
jmp 0x2eea6
movq -0x148(%rbp), %rax
movl 0xc(%rax), %eax
movb $0x0, -0xc1(%rbp)
cmpl $0x0, %eax
jl 0x2ee05
jmp 0x2ee83
leaq 0xb6170(%rip), %rsi     # 0xe4f7c
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
movl $0x4c, %edx
movl $0x3, %ecx
callq 0x194b0
movq -0x1a0(%rbp), %rdi
movb $0x1, -0xc1(%rbp)
callq 0x194e0
movq %rax, %rdi
leaq 0xb620c(%rip), %rsi     # 0xe5052
callq 0x19590
movq %rax, -0x198(%rbp)
jmp 0x2ee54
movq -0x198(%rbp), %rdi
leaq 0xba529(%rip), %rsi     # 0xe938b
callq 0x19450
movq %rax, -0x1a8(%rbp)
jmp 0x2ee70
movq -0x1a8(%rbp), %rsi
leaq -0xc2(%rbp), %rdi
callq 0x194f0
testb $0x1, -0xc1(%rbp)
jne 0x2ee8e
jmp 0x2eec9
leaq -0xc0(%rbp), %rdi
callq 0x19500
leaq -0x98(%rbp), %rdi
callq 0x19500
jmp 0x2f1ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0xc1(%rbp)
jne 0x2efe1
jmp 0x2efed
movq -0x148(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x1bc(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x1c120
movq %rax, -0x1b8(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x1c100
movl -0x1bc(%rbp), %edi
movq -0x1b8(%rbp), %rsi
movq %rax, %rdx
callq 0x158a0
movq %rax, -0x1b0(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x1c100
movq %rax, %rcx
movq -0x1b0(%rbp), %rax
movb $0x0, -0xe9(%rbp)
cmpq %rcx, %rax
jne 0x2ef32
jmp 0x2efca
leaq 0xb6043(%rip), %rsi     # 0xe4f7c
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
movl $0x4d, %edx
movl $0x3, %ecx
callq 0x194b0
movq -0x1d0(%rbp), %rdi
movb $0x1, -0xe9(%rbp)
callq 0x194e0
movq %rax, %rdi
leaq 0xb6363(%rip), %rsi     # 0xe52d6
callq 0x31b10
movq %rax, -0x1c8(%rbp)
jmp 0x2ef81
movq -0x1c8(%rbp), %rdi
leaq 0xba3fc(%rip), %rsi     # 0xe938b
callq 0x19450
movq %rax, -0x1d8(%rbp)
jmp 0x2ef9d
callq 0x1c0c0
movq -0x1d8(%rbp), %rdi
callq 0x1c050
movq %rax, -0x1e0(%rbp)
jmp 0x2efb7
movq -0x1e0(%rbp), %rsi
leaq -0xec(%rbp), %rdi
callq 0x194f0
testb $0x1, -0xe9(%rbp)
jne 0x2efd5
jmp 0x2f010
leaq -0xe8(%rbp), %rdi
callq 0x19500
leaq -0xc0(%rbp), %rdi
callq 0x19500
jmp 0x2f1ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0xe9(%rbp)
jne 0x2f0d3
jmp 0x2f0df
leaq -0x10(%rbp), %rdi
callq 0x1c100
movq %rax, %rdx
movq -0x148(%rbp), %rax
movslq 0x4(%rax), %rcx
addq %rdx, %rcx
movl %ecx, 0x4(%rax)
movl 0x4(%rax), %eax
movb $0x0, -0x111(%rbp)
cmpl $0x0, %eax
jl 0x2f03e
jmp 0x2f0bc
leaq 0xb5f37(%rip), %rsi     # 0xe4f7c
leaq -0x110(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
movl $0x50, %edx
movl $0x3, %ecx
callq 0x194b0
movq -0x1f0(%rbp), %rdi
movb $0x1, -0x111(%rbp)
callq 0x194e0
movq %rax, %rdi
leaq 0xb5fe1(%rip), %rsi     # 0xe5060
callq 0x1c330
movq %rax, -0x1e8(%rbp)
jmp 0x2f08d
movq -0x1e8(%rbp), %rdi
leaq 0xba2f0(%rip), %rsi     # 0xe938b
callq 0x19450
movq %rax, -0x1f8(%rbp)
jmp 0x2f0a9
movq -0x1f8(%rbp), %rsi
leaq -0x112(%rbp), %rdi
callq 0x194f0
testb $0x1, -0x111(%rbp)
jne 0x2f0c7
jmp 0x2f102
leaq -0x110(%rbp), %rdi
callq 0x19500
leaq -0xe8(%rbp), %rdi
callq 0x19500
jmp 0x2f1ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0x111(%rbp)
jne 0x2f1b0
jmp 0x2f1bc
movq -0x148(%rbp), %rcx
movl 0x4(%rcx), %eax
movl (%rcx), %ecx
movb $0x0, -0x139(%rbp)
cmpl %ecx, %eax
jg 0x2f11b
jmp 0x2f199
leaq 0xb5e5a(%rip), %rsi     # 0xe4f7c
leaq -0x138(%rbp), %rdi
movq %rdi, -0x208(%rbp)
movl $0x51, %edx
movl $0x3, %ecx
callq 0x194b0
movq -0x208(%rbp), %rdi
movb $0x1, -0x139(%rbp)
callq 0x194e0
movq %rax, %rdi
leaq 0xb5f0f(%rip), %rsi     # 0xe506b
callq 0x1d970
movq %rax, -0x200(%rbp)
jmp 0x2f16a
movq -0x200(%rbp), %rdi
leaq 0xba213(%rip), %rsi     # 0xe938b
callq 0x19450
movq %rax, -0x210(%rbp)
jmp 0x2f186
movq -0x210(%rbp), %rsi
leaq -0x13a(%rbp), %rdi
callq 0x194f0
testb $0x1, -0x139(%rbp)
jne 0x2f1a4
jmp 0x2f1d5
leaq -0x138(%rbp), %rdi
callq 0x19500
leaq -0x110(%rbp), %rdi
callq 0x19500
jmp 0x2f1ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
testb $0x1, -0x139(%rbp)
jne 0x2f1de
jmp 0x2f1ea
addq $0x210, %rsp            # imm = 0x210
popq %rbp
retq
leaq -0x138(%rbp), %rdi
callq 0x19500
jmp 0x2f1ec
movq -0x48(%rbp), %rdi
callq 0xe1080
nopw %cs:(%rax,%rax)