// File: /workspace/github_cpp_makefile_star2_O2/MisakiFx[P]P2PDownload/./httplib.h
// Function: httplib::Server::parse_request_line(char const*, httplib::Request&)
inline bool Server::parse_request_line(const char *s, Request &req) {
        static std::regex re("(GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS) "
                "(([^?]+)(?:\\?(.+?))?) (HTTP/1\\.[01])\r\n");

        std::cmatch m;
        if (std::regex_match(s, m, re)) {
            req.version = std::string(m[5]);
            req.method = std::string(m[1]);
            req.target = std::string(m[2]);
            req.path = detail::decode_url(m[3]);

            // Parse query text
            auto len = std::distance(m[4].first, m[4].second);
            if (len > 0) { detail::parse_query_text(m[4], req.params); }

            return true;
        }

        return false;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x60, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movb 0x1d3dd(%rip), %al      # 0x38a18
testb %al, %al
je 0x1b855
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rsi
movaps %xmm0, 0x10(%rsi)
movaps %xmm0, (%rsi)
leaq 0x1d3a0(%rip), %rdx     # 0x389f8
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x1cb31
movl %eax, %r14d
testb %al, %al
je 0x1b83c
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rcx
pushq $0x18
popq %r12
subq %rsi, %rcx
je 0x1b696
movq %rcx, %rax
cqto
idivq %r12
addq $-0x9, %rax
cmpq $-0x7, %rax
ja 0x1b696
addq $0x78, %rsi
jmp 0x1b69d
addq %rcx, %rsi
addq $-0x48, %rsi
leaq -0x60(%rbp), %rdi
callq 0x1ee26
leaq -0x60(%rbp), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x86c0
movq %r15, %rdi
callq 0x8aa8
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rcx
subq %rsi, %rcx
je 0x1b6e2
movq %rcx, %rax
cqto
idivq %r12
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0x1b6e2
addq $0x18, %rsi
jmp 0x1b6e9
addq %rcx, %rsi
addq $-0x48, %rsi
leaq -0x60(%rbp), %rdi
callq 0x1ee26
leaq 0x20(%rbx), %rdi
movq %r15, %rsi
callq 0x86c0
movq %r15, %rdi
callq 0x8aa8
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rcx
subq %rsi, %rcx
je 0x1b72b
movq %rcx, %rax
cqto
idivq %r12
addq $-0x6, %rax
cmpq $-0x4, %rax
ja 0x1b72b
addq $0x30, %rsi
jmp 0x1b732
addq %rcx, %rsi
addq $-0x48, %rsi
leaq -0x60(%rbp), %rdi
callq 0x1ee26
leaq 0x40(%rbx), %rdi
movq %r15, %rsi
callq 0x86c0
movq %r15, %rdi
callq 0x8aa8
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rcx
subq %rsi, %rcx
je 0x1b774
movq %rcx, %rax
cqto
idivq %r12
addq $-0x7, %rax
cmpq $-0x5, %rax
ja 0x1b774
addq $0x48, %rsi
jmp 0x1b77b
addq %rcx, %rsi
addq $-0x48, %rsi
leaq -0x80(%rbp), %rdi
callq 0x1ee26
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1cb69
leaq 0x60(%rbx), %rdi
movq %r15, %rsi
callq 0x86c0
movq %r15, %rdi
callq 0x8aa8
leaq -0x80(%rbp), %rdi
callq 0x8aa8
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rcx
subq %rdi, %rcx
je 0x1b7ee
movq %rcx, %rax
cqto
idivq %r12
addq $-0x8, %rax
leaq 0x60(%rdi), %rsi
leaq (%rdi,%rcx), %rdx
addq $-0x48, %rdx
cmpq $-0x5, %rax
cmovbq %rsi, %rdx
movq (%rdx), %rax
jae 0x1b7ff
movq 0x68(%rdi), %rcx
subq %rax, %rcx
testq %rcx, %rcx
jg 0x1b817
jmp 0x1b83c
movq -0x40(%rdi,%rcx), %rax
subq -0x48(%rdi,%rcx), %rax
testq %rax, %rax
jg 0x1b80f
jmp 0x1b83c
leaq (%rdi,%rcx), %rdx
movq -0x40(%rdx), %rdx
subq %rax, %rdx
testq %rdx, %rdx
jle 0x1b83c
leaq (%rdi,%rcx), %rsi
addq $-0x48, %rsi
leaq -0x60(%rbp), %rdi
callq 0x1ee26
addq $0xd0, %rbx
leaq -0x60(%rbp), %rdi
movq %rbx, %rsi
callq 0x1bcb4
leaq -0x60(%rbp), %rdi
callq 0x8aa8
leaq -0x40(%rbp), %rdi
callq 0x1d19a
movl %r14d, %eax
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1d1bc(%rip), %rdi     # 0x38a18
callq 0x89c0
testl %eax, %eax
je 0x1b643
leaq 0x1d188(%rip), %rdi     # 0x389f8
leaq 0x9ae3(%rip), %rsi      # 0x2535a
pushq $0x10
popq %rdx
callq 0xa008
leaq -0x117f4(%rip), %rdi    # 0xa092
leaq 0x1d16b(%rip), %rsi     # 0x389f8
leaq 0x1ccc4(%rip), %rdx     # 0x38558
callq 0x84a0
leaq 0x1d178(%rip), %rdi     # 0x38a18
callq 0x8360
jmp 0x1b643
movq %rax, %rbx
leaq 0x1d164(%rip), %rdi     # 0x38a18
callq 0x8350
jmp 0x1b8e8
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
jmp 0x1b8cd
jmp 0x1b8dc
movq %rax, %rbx
leaq -0x80(%rbp), %rdi
callq 0x8aa8
jmp 0x1b8df
jmp 0x1b8dc
jmp 0x1b8dc
jmp 0x1b8dc
jmp 0x1b8dc
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x1d19a
movq %rbx, %rdi
callq 0x8990