// File: /workspace/github_cpp_makefile_star2_O2/buildsi[P]ldaudit-yaml/auditlib.cpp
// Function: la_objopen
unsigned int la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie) {
 
  std::string flagName;
  std::string linkType;
  switch(lmid) {
    case LM_ID_BASE:
      flagName = "LM_ID_BASE";
      linkType = "Link map is part of the initial namespace";
      break;
    case LM_ID_NEWLM:
      flagName = "LM_ID_NEWLM";
      linkType = "Link map is part of a new namespace requested via dlmopen(3).";
      break;
    default:
      flagName = "???";
      linkType = "Unknown";
  }

  std::stringstream ss;
  ss << cookie;
   
  std::string output = "  - event: object_loaded\n    name: \"" + std::string(map->l_name) + "\"\n    function: la_objopen\n    identifier: " + ss.str() + "\n    flag: " + flagName + "\n    description: " + linkType +"\n";
  doPrint(output);
  return LA_FLG_BINDTO | LA_FLG_BINDFROM;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x338, %rsp            # imm = 0x338
movq %rdx, %r14
movq %rdi, %rbx
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
leaq 0x40(%rsp), %rcx
movq %rcx, -0x10(%rcx)
andq $0x0, -0x8(%rcx)
xorl %edx, %edx
movb %dl, (%rax)
movb %dl, (%rcx)
cmpq $-0x1, %rsi
je 0x2e9f
testq %rsi, %rsi
jne 0x2eb9
leaq 0x15be(%rip), %rsi      # 0x444a
leaq 0x10(%rsp), %rdi
callq 0x22a0
leaq 0x15b8(%rip), %rsi      # 0x4455
jmp 0x2ed1
leaq 0x15d9(%rip), %rsi      # 0x447f
leaq 0x10(%rsp), %rdi
callq 0x22a0
leaq 0x15d4(%rip), %rsi      # 0x448b
jmp 0x2ed1
leaq 0x151c(%rip), %rsi      # 0x43dc
leaq 0x10(%rsp), %rdi
callq 0x22a0
leaq 0x15f8(%rip), %rsi      # 0x44c9
leaq 0x30(%rsp), %rdi
callq 0x22a0
leaq 0x1b0(%rsp), %rdi
callq 0x20b0
leaq 0x1c0(%rsp), %rdi
movq %r14, %rsi
callq 0x20e0
movq 0x8(%rbx), %rsi
leaq 0x90(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x2250
leaq 0x15bc(%rip), %rsi      # 0x44d1
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x2240
leaq 0x15c5(%rip), %rdx      # 0x44f6
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x2050
leaq 0x1c8(%rsp), %rsi
leaq 0x70(%rsp), %rdi
callq 0x2220
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x2100
leaq 0x14b2(%rip), %rdx      # 0x442b
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x2050
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq 0x21e0
leaq 0x1488(%rip), %rdx      # 0x4437
leaq 0x150(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x2050
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x21e0
leaq 0x1315(%rip), %rdx      # 0x42fa
leaq 0x190(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0x2050
leaq 0x170(%rsp), %rdi
callq 0x20a0
leaq 0x150(%rsp), %rdi
callq 0x20a0
leaq 0x130(%rsp), %rdi
callq 0x20a0
leaq 0x110(%rsp), %rdi
callq 0x20a0
leaq 0xf0(%rsp), %rdi
callq 0x20a0
leaq 0x70(%rsp), %rdi
callq 0x20a0
leaq 0xd0(%rsp), %rdi
callq 0x20a0
leaq 0xb0(%rsp), %rdi
callq 0x20a0
leaq 0x90(%rsp), %rdi
callq 0x20a0
leaq 0x50(%rsp), %rdi
leaq 0x190(%rsp), %rsi
callq 0x21a0
leaq 0x50(%rsp), %rdi
callq 0x25c5
leaq 0x50(%rsp), %rdi
callq 0x20a0
leaq 0x190(%rsp), %rdi
callq 0x20a0
leaq 0x1b0(%rsp), %rdi
callq 0x20d0
leaq 0x30(%rsp), %rdi
callq 0x20a0
leaq 0x10(%rsp), %rdi
callq 0x20a0
pushq $0x3
popq %rax
addq $0x338, %rsp            # imm = 0x338
popq %rbx
popq %r14
retq
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x20a0
jmp 0x30e0
movq %rax, %rbx
leaq 0x190(%rsp), %rdi
jmp 0x3171
movq %rax, %rbx
leaq 0x170(%rsp), %rdi
callq 0x20a0
jmp 0x3102
movq %rax, %rbx
leaq 0x150(%rsp), %rdi
callq 0x20a0
jmp 0x3114
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x20a0
jmp 0x3126
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0x20a0
jmp 0x3138
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0x20a0
leaq 0x70(%rsp), %rdi
callq 0x20a0
leaq 0xd0(%rsp), %rdi
callq 0x20a0
leaq 0xb0(%rsp), %rdi
callq 0x20a0
leaq 0x90(%rsp), %rdi
callq 0x20a0
leaq 0x1b0(%rsp), %rdi
callq 0x20d0
leaq 0x30(%rsp), %rdi
callq 0x20a0
leaq 0x10(%rsp), %rdi
callq 0x20a0
movq %rbx, %rdi
callq 0x2270
movq %rax, %rbx
jmp 0x3145
movq %rax, %rbx
jmp 0x314f
movq %rax, %rbx
jmp 0x315c
movq %rax, %rbx
jmp 0x3169
jmp 0x31b5
movq %rax, %rbx
jmp 0x3176
jmp 0x31bc
movq %rax, %rbx
jmp 0x3183