// File: /workspace/github_cpp_makefile_star2_O1/alfanick[P]rest-cpp/src/rest/features/authorization.cpp
// Function: REST::Features::Authorization::feature_push()
void Authorization::feature_push() {
  std::string auth_header = request->header("Authorization", "");
  if (!auth_header.empty()) {
    if (auth_header.find("Basic") == 0) {
      std::string decoded = Utils::base64_decode(auth_header.substr(auth_header.find(" ")+1));
      size_t colon = decoded.find(":");
      authorization = std::make_pair(decoded.substr(0, colon), decoded.substr(colon+1));
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rdi, %rbx
movq (%rdi), %rax
movq -0x18(%rax), %rax
movq 0x10(%rdi,%rax), %r14
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9303(%rip), %rsi      # 0x40010
leaq 0x9309(%rip), %rdx      # 0x4001d
leaq 0x28(%rsp), %rdi
callq 0x215e0
leaq 0x7931(%rip), %rcx      # 0x3e656
leaq 0x88(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r14, %rsi
callq 0x231d0
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x36d49
callq 0x22130
cmpq $0x0, 0x90(%rsp)
je 0x36f39
leaq 0x92bf(%rip), %rsi      # 0x4001e
leaq 0x88(%rsp), %rdi
movl $0x5, %ecx
xorl %edx, %edx
callq 0x23120
testq %rax, %rax
jne 0x36f39
leaq 0x837d(%rip), %rsi      # 0x3f100
leaq 0x88(%rsp), %r14
movl $0x1, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x23120
leaq 0x1(%rax), %rdx
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
movq $-0x1, %rcx
callq 0x22330
leaq 0xa8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x23510
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x36dd3
callq 0x22130
leaq 0x9d93(%rip), %rsi      # 0x40b6d
leaq 0xa8(%rsp), %r15
movl $0x1, %ecx
movq %r15, %rdi
xorl %edx, %edx
callq 0x23120
movq %rax, %r14
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x22330
incq %r14
leaq 0x68(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
movq %r14, %rdx
movq $-0x1, %rcx
callq 0x22330
movq %r12, 0x28(%rsp)
leaq 0x18(%rsp), %rcx
movq -0x10(%rcx), %rax
cmpq %rcx, %rax
je 0x36e49
movq %rax, 0x28(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x36e53
vmovups (%rcx), %xmm0
vmovups %xmm0, (%r12)
movq 0x10(%rsp), %rax
leaq 0x48(%rsp), %r14
movq %rax, -0x18(%r14)
movq %rcx, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x0, 0x18(%rsp)
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x78(%rsp), %rbp
movq -0x10(%rbp), %rax
cmpq %rbp, %rax
je 0x36e9c
movq %rax, 0x48(%rsp)
movq 0x78(%rsp), %rax
movq %rax, 0x58(%rsp)
jmp 0x36ea7
vmovups (%rbp), %xmm0
vmovups %xmm0, (%r13)
movq 0x70(%rsp), %rax
leaq 0x28(%rsp), %r15
movq %rax, 0x28(%r15)
movq %rbp, 0x68(%rsp)
movq $0x0, 0x70(%rsp)
movb $0x0, 0x78(%rsp)
leaq 0x8(%rbx), %rdi
movq %r15, %rsi
callq 0x22620
addq $0x28, %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x22620
movq 0x20(%r15), %rdi
cmpq %r13, %rdi
je 0x36ef1
callq 0x22130
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x36f00
callq 0x22130
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x36f0f
callq 0x22130
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x36f23
callq 0x22130
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x36f39
callq 0x22130
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x36f4f
callq 0x22130
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x36f7c
callq 0x22130
jmp 0x36f7c
movq %rax, %rbx
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x36f9c
jmp 0x36fa6
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x36fa6
callq 0x22130
jmp 0x36fa6
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x36fc6
jmp 0x36fd0
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x36fd0
callq 0x22130
jmp 0x36fd0
movq %rax, %rbx
movq %rbx, %rdi
callq 0x23170