// File: /workspace/github_cpp_makefile_star2_O1/solaldunckel[P]webserv/srcs/HTTP/CGI.cpp
// Function: CGI::CGI(File&, RequestConfig&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, ft::comp, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
CGI::CGI(File &file, RequestConfig &config, std::map<std::string, std::string, ft::comp> &req_headers, std::string &req_body) : file_(file), config_(config), req_headers_(req_headers) {
  if (req_body.empty() && config_.getMethod() != "POST")
    req_body_ = file_.getContent();
  else
    req_body_ = req_body;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %r8, %r14
movq %rdi, %rbx
movq %rsi, (%rdi)
movq %rdx, 0x8(%rdi)
movq %rcx, 0x10(%rdi)
leaq 0x28(%rdi), %rax
movq %rax, 0x20(%rsp)
movq %rax, 0x18(%rdi)
xorl %eax, %eax
movq %rax, 0x20(%rdi)
movb %al, 0x28(%rdi)
leaq 0x48(%rdi), %rcx
movq %rcx, 0x18(%rsp)
movq %rcx, 0x38(%rdi)
movq %rax, 0x40(%rdi)
movb %al, 0x48(%rdi)
leaq 0x68(%rdi), %rcx
movq %rcx, 0x10(%rsp)
movq %rcx, 0x58(%rdi)
movq %rax, 0x60(%rdi)
movb %al, 0x68(%rdi)
leaq 0x88(%rdi), %rcx
movq %rcx, 0x8(%rsp)
movq %rcx, 0x78(%rdi)
movq %rax, 0x80(%rdi)
movb %al, 0x88(%rdi)
leaq 0xa8(%rdi), %rcx
movq %rcx, (%rsp)
movq %rcx, 0x98(%rdi)
movq %rax, 0xa0(%rdi)
movb %al, 0xa8(%rdi)
leaq 0xc8(%rdi), %rbp
movq %rbp, 0xb8(%rdi)
movq %rax, 0xc0(%rdi)
movb %al, 0xc8(%rdi)
leaq 0xd8(%rdi), %r15
leaq 0xe8(%rdi), %r13
movq %r13, 0xd8(%rdi)
movq %rax, 0xe0(%rdi)
movb %al, 0xe8(%rdi)
leaq 0xf8(%rdi), %r12
movq %r12, %rdi
callq 0x1c51c
leaq 0x1a0(%rbx), %rax
movl $0x0, 0x1a0(%rbx)
xorl %ecx, %ecx
movq %rcx, 0x1a8(%rbx)
movq %rax, 0x1b0(%rbx)
movq %rax, 0x1b8(%rbx)
movq %rcx, 0x1c0(%rbx)
cmpq %rcx, 0x8(%r14)
je 0xe86e
movq %r15, %rdi
movq %r14, %rsi
callq 0x4230
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rbx), %rdi
callq 0x9f04
leaq 0x16d11(%rip), %rsi     # 0x2558f
movq %rax, %rdi
callq 0x40f0
testl %eax, %eax
je 0xe854
movq (%rbx), %rsi
leaq 0x28(%rsp), %rdi
callq 0x1ecda
leaq 0x28(%rsp), %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x4560
movq (%rbx), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0xe85f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x4460
jmp 0xe85f
jmp 0xe8ca
movq %rax, %r14
jmp 0xe8e1
movq %rax, %r14
leaq 0x198(%rbx), %rdi
callq 0x82ae
movq %r12, %rdi
callq 0x1c78c
movq (%r15), %rdi
cmpq %r13, %rdi
je 0xe8f5
movq (%r13), %rsi
incq %rsi
callq 0x4460
movq 0xb8(%rbx), %rdi
cmpq %rbp, %rdi
je 0xe90d
movq (%rbp), %rsi
incq %rsi
callq 0x4460
movq 0x98(%rbx), %rdi
cmpq (%rsp), %rdi
je 0xe929
movq (%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x4460
movq 0x78(%rbx), %rdi
cmpq 0x8(%rsp), %rdi
je 0xe944
movq 0x8(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x4460
movq 0x58(%rbx), %rdi
cmpq 0x10(%rsp), %rdi
je 0xe95f
movq 0x10(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x4460
movq 0x38(%rbx), %rdi
cmpq 0x18(%rsp), %rdi
je 0xe97a
movq 0x18(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x4460
movq 0x18(%rbx), %rdi
cmpq 0x20(%rsp), %rdi
je 0xe995
movq 0x20(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x4460
movq %r14, %rdi
callq 0x4780
nop