// File: /workspace/github_cpp_makefile_star2_O3/ewhitebloom[P]fetch/src/././header.cc
// Function: parseHeaders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
vector <Header> parseHeaders(string headers) {
  vector<Header> headersVectorized;

  if (headers.length()) {
    vector <string> SplitVec;
    split( SplitVec, headers, boost::is_any_of("\n"), boost::token_compress_on );

    for (string& row : SplitVec) {
      size_t found = row.find(":");
      if (found != string::npos) {
        vector <string> ParsedRow;
        split( ParsedRow, row, boost::is_any_of(":"), boost::token_compress_on );

        struct Header header;
        header.header = ParsedRow[0];
        header.value = ParsedRow[1];
        headersVectorized.push_back(header);
      }
    }
  }

  return headersVectorized;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq %rdi, -0x30(%rbp)
movq $0x0, 0x10(%rdi)
cmpq $0x0, 0x8(%rsi)
je 0x470f
movq %rsi, %rbx
movaps %xmm0, -0x70(%rbp)
movq $0x0, -0x60(%rbp)
leaq 0x4c0d(%rip), %rax      # 0x9180
leaq -0xb0(%rbp), %rsi
movq %rax, (%rsi)
leaq 0x4bfd(%rip), %rax      # 0x9181
movq %rax, 0x8(%rsi)
leaq -0xc8(%rbp), %rdi
callq 0x6748
leaq -0x70(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
movq %rbx, %rsi
xorl %ecx, %ecx
callq 0x5bba
cmpq $0x11, -0xb8(%rbp)
jb 0x45c4
movq -0xc8(%rbp), %rdi
testq %rdi, %rdi
je 0x45c4
callq 0x40d0
movq -0x70(%rbp), %r14
movq -0x68(%rbp), %r13
cmpq %r13, %r14
je 0x4706
xorl %ebx, %ebx
leaq -0xb0(%rbp), %r15
movl $0x1, %ecx
movq %r14, %rdi
leaq 0x4b95(%rip), %rsi      # 0x9182
xorl %edx, %edx
callq 0x40c0
cmpq $-0x1, %rax
je 0x46f9
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq $0x0, -0x40(%rbp)
leaq 0x4b6e(%rip), %rax      # 0x9182
movq %rax, -0xb0(%rbp)
leaq 0x4b61(%rip), %rax      # 0x9183
movq %rax, -0xa8(%rbp)
leaq -0xe0(%rbp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x6748
leaq -0x50(%rbp), %rdi
movq %r14, %rsi
movq %r12, %rdx
xorl %ecx, %ecx
callq 0x5bba
cmpq $0x11, -0xd0(%rbp)
jb 0x4667
movq -0xe0(%rbp), %rdi
testq %rdi, %rdi
je 0x4667
callq 0x40d0
leaq -0xa0(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq %rbx, -0xa8(%rbp)
movb %bl, -0xa0(%rbp)
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
movq %rbx, -0x88(%rbp)
movb %bl, -0x80(%rbp)
movq -0x50(%rbp), %rsi
movq %r15, %rdi
callq 0x42e0
movq -0x50(%rbp), %rsi
addq $0x20, %rsi
leaq -0x90(%rbp), %rdi
callq 0x42e0
movq -0x30(%rbp), %rdi
movq %r15, %rsi
callq 0x5d3c
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x46d8
callq 0x4130
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x46f0
callq 0x4130
leaq -0x50(%rbp), %rdi
callq 0x5daa
addq $0x20, %r14
cmpq %r13, %r14
jne 0x45de
leaq -0x70(%rbp), %rdi
callq 0x5daa
movq -0x30(%rbp), %rax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
cmpq $0x11, -0xb8(%rbp)
jb 0x4787
movq -0xc8(%rbp), %rdi
testq %rdi, %rdi
je 0x4787
callq 0x40d0
jmp 0x4787
movq %rax, %rbx
jmp 0x4787
movq %rax, %rbx
jmp 0x477e
movq %rax, %rbx
cmpq $0x11, -0xd0(%rbp)
jb 0x477e
movq -0xe0(%rbp), %rdi
testq %rdi, %rdi
je 0x477e
callq 0x40d0
jmp 0x477e
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
callq 0x5d74
leaq -0x50(%rbp), %rdi
callq 0x5daa
leaq -0x70(%rbp), %rdi
callq 0x5daa
movq -0x30(%rbp), %rdi
callq 0x5e02
movq %rbx, %rdi
callq 0x4180