// File: /workspace/github_cpp_makefile_star2_O1/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 0x18e9f
testb $0x1, %dl
je 0x190cf
movq %rbx, 0x20(%rsp)
movq 0x70(%r14), %rax
movq 0x58(%r14), %rsi
movq 0x60(%r14), %rdx
movq %rdx, %rcx
subq %rsi, %rcx
cmpq %rcx, %rax
jae 0x19212
movl 0x18(%r14), %edi
addq %rax, %rsi
subq %rsi, %rdx
callq 0x15250
movq %rax, %r13
testl %r13d, %r13d
js 0x18e85
leaq 0xb63e9(%rip), %rbx     # 0xcf1d1
movq 0x70(%r14), %rbp
cmpq $0x7, %rbp
ja 0x18e21
movl %r13d, %eax
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movl $0x8, %edx
subq %rbp, %rdx
cmpq %rax, %rdx
cmovaeq %rax, %rdx
movq 0x58(%r14), %rdi
addq %rbp, %rdi
leaq (%rbx,%rbp), %rsi
callq 0x15500
testl %eax, %eax
jne 0x1904c
movl %r13d, %r15d
andl $0x7fffffff, %r15d      # imm = 0x7FFFFFFF
addq %rbp, %r15
movq %r15, 0x70(%r14)
movq 0x58(%r14), %r12
cmpq $0x4, %r15
jb 0x18e4b
cmpl $0xa0d0a0d, -0x4(%r12,%r15) # imm = 0xA0D0A0D
je 0x190de
testl %r13d, %r13d
je 0x18f91
movq 0x60(%r14), %rdx
movq %rdx, %rax
subq %r12, %rax
cmpq %rax, %r15
je 0x18ff0
movl 0x18(%r14), %edi
addq %r15, %r12
subq %r12, %rdx
movq %r12, %rsi
callq 0x15250
movq %rax, %r13
testl %r13d, %r13d
jns 0x18de8
callq 0x15640
cmpl $0xb, (%rax)
jne 0x18f25
xorl %eax, %eax
movq 0x20(%rsp), %rbx
jmp 0x190ba
leaq 0xb6219(%rip), %rsi     # 0xcf0bf
movq %rsp, %r15
movq %r15, %rdi
movl $0x32, %edx
movl $0x1, %ecx
callq 0x2019c
movq 0x18(%r15), %rdi
leaq 0xb627c(%rip), %rsi     # 0xcf142
movl $0x1, %edx
callq 0x8bab0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c380
movq 0x18(%rsp), %rdi
leaq 0xb625a(%rip), %rsi     # 0xcf144
movl $0x1e, %edx
callq 0x8bab0
movl 0x18(%r14), %edi
callq 0x200ac
movq 0x18(%rsp), %rdi
movl %eax, %esi
callq 0x2023b
movq %rsp, %rdi
callq 0x1965e
leaq 0xb6d4c(%rip), %rcx     # 0xcfc64
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
jmp 0x190ca
leaq 0xb6193(%rip), %rsi     # 0xcf0bf
movq %rsp, %r15
movq %r15, %rdi
movl $0x51, %edx
movl $0x1, %ecx
callq 0x2019c
movq 0x18(%r15), %rdi
leaq 0xb61f6(%rip), %rsi     # 0xcf142
movl $0x1, %edx
callq 0x8bab0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c380
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %rdi
leaq 0xb6206(%rip), %rsi     # 0xcf17b
movl $0x19, %edx
callq 0x8bab0
movl (%rsp), %esi
movq 0x18(%rsp), %rdi
callq 0x2023b
jmp 0x190a6
leaq 0xb6127(%rip), %rsi     # 0xcf0bf
movq %rsp, %r15
movq %r15, %rdi
movl $0x69, %edx
movl $0x1, %ecx
callq 0x2019c
movq 0x18(%r15), %rdi
leaq 0xb618a(%rip), %rsi     # 0xcf142
movl $0x1, %edx
callq 0x8bab0
movq 0x20(%rsp), %rbx
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c380
movq 0x18(%rsp), %rdi
leaq 0xb61f9(%rip), %rsi     # 0xcf1da
movl $0x14, %edx
callq 0x8bab0
jmp 0x190a6
leaq 0xb60c8(%rip), %rsi     # 0xcf0bf
movq %rsp, %r15
movq %r15, %rdi
movl $0x6d, %edx
movl $0x1, %ecx
callq 0x2019c
movq 0x18(%r15), %rdi
leaq 0xb612b(%rip), %rsi     # 0xcf142
movl $0x1, %edx
callq 0x8bab0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c380
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %rdi
leaq 0xb61af(%rip), %rsi     # 0xcf1ef
movl $0x11, %edx
callq 0x8bab0
jmp 0x190a6
leaq 0xb606c(%rip), %rsi     # 0xcf0bf
movq %rsp, %r15
movq %r15, %rdi
movl $0x58, %edx
movl $0x1, %ecx
callq 0x2019c
movq 0x18(%r15), %rdi
leaq 0xb60cf(%rip), %rsi     # 0xcf142
movl $0x1, %edx
callq 0x8bab0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c380
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %rdi
leaq 0xb60f9(%rip), %rsi     # 0xcf195
movl $0x18, %edx
callq 0x8bab0
movq %rsp, %rdi
callq 0x1965e
leaq 0xb6baf(%rip), %r12     # 0xcfc64
movb $0x1, %al
xorl %r15d, %r15d
testb %al, %al
je 0x190cf
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
movq %r12, %rcx
callq 0x193fe
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq $-0x9, %rax
cmpq $0x9, %r15
jb 0x19127
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
addq %r13, %rbp
movl $0x8, %ecx
movzbl (%r12,%rcx), %edx
cmpl $0xd, %edx
cmoveq %rcx, %rax
cmpl $0x20, %edx
cmoveq %rcx, %rax
je 0x19123
cmpl $0xd, %edx
je 0x19123
incq %rcx
cmpq %rcx, %rbp
jne 0x190fa
movq $-0x1, %rax
addq $-0x8, %rax
cmpq $0x7, %r15
jbe 0x1925b
addq $-0x8, %r15
cmpq %rax, %r15
cmovaeq %rax, %r15
addq $0x8, %r12
leaq 0xb5f78(%rip), %rsi     # 0xcf0bf
movq %rsp, %r13
movq %r13, %rdi
testq %r15, %r15
je 0x191b6
movl $0x64, %edx
xorl %ecx, %ecx
callq 0x2019c
movq 0x18(%r13), %rdi
leaq 0xb5fd9(%rip), %rsi     # 0xcf142
movl $0x1, %edx
callq 0x8bab0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c380
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %rdi
leaq 0xb603d(%rip), %rsi     # 0xcf1cf
movl $0xa, %edx
callq 0x8bab0
movq 0x18(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x8bab0
movq %rsp, %rdi
callq 0x19688
jmp 0x1920b
movl $0x62, %edx
movl $0x1, %ecx
callq 0x2019c
movq 0x18(%r13), %rdi
leaq 0xb5f72(%rip), %rsi     # 0xcf142
movl $0x1, %edx
callq 0x8bab0
movl 0x18(%r14), %esi
movq 0x18(%rsp), %rdi
callq 0x8c380
movq 0x20(%rsp), %rbx
movq 0x18(%rsp), %rdi
leaq 0xb5fb5(%rip), %rsi     # 0xcf1ae
movl $0x20, %edx
callq 0x8bab0
movq %rsp, %rdi
callq 0x1965e
movb $0x1, %al
jmp 0x190ba
leaq 0xb5ea6(%rip), %rsi     # 0xcf0bf
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x4c, %edx
movl $0x3, %ecx
callq 0x2019c
movq 0x18(%rbx), %rdi
leaq 0xb5f2a(%rip), %rsi     # 0xcf163
movl $0x17, %edx
callq 0x8bab0
movq 0x18(%rsp), %rdi
leaq 0xbb0bc(%rip), %rsi     # 0xd430b
movl $0x2, %edx
callq 0x8bab0
jmp 0x19299
leaq 0xb5fb9(%rip), %rdi     # 0xcf21b
leaq 0xb5f98(%rip), %rsi     # 0xcf201
movl $0x8, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0x6c6c0
jmp 0x192a7
jmp 0x19280
jmp 0x192a7
jmp 0x192a7
movq %rax, %rbx
movq %rsp, %rdi
callq 0x19688
jmp 0x192b2
jmp 0x192a7
jmp 0x192a7
jmp 0x192a7
jmp 0x192a7
jmp 0x192a7
jmp 0x192a7
movq %rsp, %rdi
callq 0x18aaa
jmp 0x192a7
jmp 0x192a7
jmp 0x192a7
movq %rax, %rbx
movq %rsp, %rdi
callq 0x1965e
movq %rbx, %rdi
callq 0xcc900