// File: /workspace/github_cpp_makefile_star2_O3/romkatv[P]hcproxy/src/parser.cc
// Function: hcproxy::(anonymous namespace)::ParseEventHandler::OnEvent(hcproxy::EventLoop*, int)
void OnEvent(EventLoop* loop, int events) override {
    if (HasBits(events, EPOLLERR)) {
      LOG(WARN) << "[" << fd() << "] error reading request data: " << Errno(SockError(fd()));
      Finish(loop, "");
    } else if (HasBits(events, EPOLLIN)) {
      if (std::optional<std::string_view> host_port = Read()) {
        Finish(loop, *host_port);
      }
    }
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
testb $0x8, %dl
jne 0x18e0e
testb $0x1, %dl
je 0x18fe7
movq %rbx, 0x20(%rsp)
movq 0x70(%r14), %r12
movq 0x58(%r14), %r15
movq 0x60(%r14), %rdx
movq %rdx, %rax
subq %r15, %rax
cmpq %rax, %r12
jae 0x19127
leaq 0xb64b5(%rip), %rbp     # 0xcf1d2
addq %r15, %r12
movl 0x18(%r14), %edi
subq %r12, %rdx
movq %r12, %rsi
callq 0x15250
movq %rax, %r13
testl %r13d, %r13d
js 0x18e94
movq 0x58(%r14), %r15
movq 0x70(%r14), %rbx
movl %r13d, %r12d
andl $0x7fffffff, %r12d      # imm = 0x7FFFFFFF
cmpq $0x7, %rbx
ja 0x18d77
movl $0x8, %edx
subq %rbx, %rdx
cmpq %r12, %rdx
cmovaeq %r12, %rdx
leaq (%r15,%rbx), %rdi
leaq (%rbx,%rbp), %rsi
callq 0x15500
testl %eax, %eax
jne 0x18f6a
addq %rbx, %r12
movq %r12, 0x70(%r14)
cmpq $0x4, %r12
jb 0x18d93
cmpl $0xa0d0a0d, -0x4(%r15,%r12) # imm = 0xA0D0A0D
je 0x18ff6
testl %r13d, %r13d
je 0x18f0e
movq 0x60(%r14), %rdx
movq %rdx, %rax
subq %r15, %rax
cmpq %rax, %r12
jne 0x18d1d
leaq 0xb630a(%rip), %rsi     # 0xcf0c0
movq %rsp, %r15
movq %r15, %rdi
movl $0x6d, %edx
movl $0x1, %ecx
callq 0x2003c
movq 0x18(%r15), %rdi
leaq 0xb636d(%rip), %rsi     # 0xcf143
movl $0x1, %edx
callq 0x8b8f0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c1c0
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %rdi
leaq 0xb63f1(%rip), %rsi     # 0xcf1f0
movl $0x11, %edx
callq 0x8b8f0
jmp 0x18fc4
leaq 0xb62ab(%rip), %rsi     # 0xcf0c0
movq %rsp, %r15
movq %r15, %rdi
movl $0x32, %edx
movl $0x1, %ecx
callq 0x2003c
movq 0x18(%r15), %rdi
leaq 0xb630e(%rip), %rsi     # 0xcf143
movl $0x1, %edx
callq 0x8b8f0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c1c0
movq 0x18(%rsp), %rdi
leaq 0xb62ec(%rip), %rsi     # 0xcf145
movl $0x1e, %edx
callq 0x8b8f0
movl 0x18(%r14), %edi
callq 0x1ff4c
movq 0x18(%rsp), %rdi
movl %eax, %esi
callq 0x200db
movq %rsp, %rdi
callq 0x19574
leaq 0xb6dcd(%rip), %rcx     # 0xcfc54
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
jmp 0x18fe2
callq 0x15640
cmpl $0xb, (%rax)
movq 0x20(%rsp), %rbx
je 0x18fe7
leaq 0xb6212(%rip), %rsi     # 0xcf0c0
movq %rsp, %r15
movq %r15, %rdi
movl $0x51, %edx
movl $0x1, %ecx
callq 0x2003c
movq 0x18(%r15), %rdi
leaq 0xb6275(%rip), %rsi     # 0xcf143
movl $0x1, %edx
callq 0x8b8f0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c1c0
movq 0x18(%rsp), %rdi
leaq 0xb628a(%rip), %rsi     # 0xcf17c
movl $0x19, %edx
callq 0x8b8f0
movl (%rsp), %esi
movq 0x18(%rsp), %rdi
callq 0x200db
jmp 0x18fc4
leaq 0xb61ab(%rip), %rsi     # 0xcf0c0
movq %rsp, %r15
movq %r15, %rdi
movl $0x69, %edx
movl $0x1, %ecx
callq 0x2003c
movq 0x18(%r15), %rdi
leaq 0xb620e(%rip), %rsi     # 0xcf143
movl $0x1, %edx
callq 0x8b8f0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c1c0
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %rdi
leaq 0xb627d(%rip), %rsi     # 0xcf1db
movl $0x14, %edx
callq 0x8b8f0
jmp 0x18fc4
leaq 0xb614f(%rip), %rsi     # 0xcf0c0
movq %rsp, %r15
movq %r15, %rdi
movl $0x58, %edx
movl $0x1, %ecx
callq 0x2003c
movq 0x18(%r15), %rdi
leaq 0xb61b2(%rip), %rsi     # 0xcf143
movl $0x1, %edx
callq 0x8b8f0
movq 0x20(%rsp), %rbx
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c1c0
movq 0x18(%rsp), %rdi
leaq 0xb61dc(%rip), %rsi     # 0xcf196
movl $0x18, %edx
callq 0x8b8f0
movq %rsp, %rdi
callq 0x19574
leaq 0xb6c81(%rip), %r15     # 0xcfc54
xorl %r12d, %r12d
movq %r14, %rdi
movq %rbx, %rsi
movq %r12, %rdx
movq %r15, %rcx
callq 0x19314
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq $-0x9, %rax
cmpq $0x9, %r12
jb 0x19034
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
addq %r13, %rbx
movl $0x8, %eax
movzbl (%r15,%rax), %ecx
cmpl $0xd, %ecx
je 0x19030
cmpl $0x20, %ecx
je 0x19030
incq %rax
cmpq %rax, %rbx
jne 0x19012
movq $-0x1, %rax
addq $-0x8, %rax
cmpq $0x7, %r12
jbe 0x19170
addq $-0x8, %r12
cmpq %rax, %r12
cmovaeq %rax, %r12
addq $0x8, %r15
leaq 0xb606c(%rip), %rsi     # 0xcf0c0
testq %r12, %r12
je 0x190c6
movq %rsp, %r13
movq %r13, %rdi
movl $0x64, %edx
xorl %ecx, %ecx
callq 0x2003c
movq 0x18(%r13), %rdi
leaq 0xb60cd(%rip), %rsi     # 0xcf143
movl $0x1, %edx
callq 0x8b8f0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c1c0
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %rdi
leaq 0xb6131(%rip), %rsi     # 0xcf1d0
movl $0xa, %edx
callq 0x8b8f0
movq 0x18(%rsp), %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x8b8f0
movq %rsp, %rdi
callq 0x1959e
jmp 0x18fd6
movq %rsp, %r12
movq %r12, %rdi
movl $0x62, %edx
movl $0x1, %ecx
callq 0x2003c
movq 0x18(%r12), %rdi
leaq 0xb605c(%rip), %rsi     # 0xcf143
movl $0x1, %edx
callq 0x8b8f0
movq 0x20(%rsp), %rbx
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c1c0
movq 0x18(%rsp), %rdi
leaq 0xb609f(%rip), %rsi     # 0xcf1af
movl $0x20, %edx
callq 0x8b8f0
movq %rsp, %rdi
callq 0x19574
jmp 0x18fd3
leaq 0xb5f92(%rip), %rsi     # 0xcf0c0
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x4c, %edx
movl $0x3, %ecx
callq 0x2003c
movq 0x18(%rbx), %rdi
leaq 0xb6016(%rip), %rsi     # 0xcf164
movl $0x17, %edx
callq 0x8b8f0
movq 0x18(%rsp), %rdi
leaq 0xbb167(%rip), %rsi     # 0xd42cb
movl $0x2, %edx
callq 0x8b8f0
jmp 0x191b0
leaq 0xb60a5(%rip), %rdi     # 0xcf21c
leaq 0xb6084(%rip), %rsi     # 0xcf202
movl $0x8, %edx
movq %r12, %rcx
xorl %eax, %eax
callq 0x6c500
jmp 0x191bc
jmp 0x19197
jmp 0x191bc
jmp 0x191bc
jmp 0x191bc
movq %rax, %rbx
movq %rsp, %rdi
callq 0x1959e
jmp 0x191c7
jmp 0x191bc
jmp 0x191bc
jmp 0x191bc
jmp 0x191bc
jmp 0x191bc
jmp 0x191bc
movq %rsp, %rdi
callq 0x18a24
jmp 0x191bc
jmp 0x191bc
movq %rax, %rbx
movq %rsp, %rdi
callq 0x19574
movq %rbx, %rdi
callq 0xcc750
nop