Function at 0x28cad6e90
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x7f8
movaps xmmword [rsp + 0x7e0], xmm6
mov rsi, qword [rdx]
mov rbx, qword [rdx + 8]
add rsi, 8
dec rbx
lea rax, [rsp + 0x5e8]
mov qword [rsp + 0x840], rcx
mov rcx, rax
mov qword [rsp + 0x48], rax
call fcn.28cac7350
lea rax, [rsp + 0x680]
mov rdx, qword [rsp + 0x48]
lea r8, [rsp + 0xa0]
mov rcx, rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rbx
call method.lld::elf::ELFOptTable.parse_llvm::ArrayRef_char_const__
mov rcx, qword [rsp + 0x28]
mov r8d, 0x14
mov edx, 0x46
call fcn.28ca71640
mov rbx, rax
call fcn.28ca716b8
mov qword [rax + 8], rbx
mov rcx, qword [rsp + 0x28]
xor r9d, r9d
mov r8d, 0xb2
mov edx, 0x53
call fcn.28ca71880
mov ebx, eax
test al, al
je 0x28cad6f5b
mov rcx, qword [rsp + 0x28]
mov edx, 0xd2
call fcn.28cb69f50
xor eax, 1
mov ebx, eax
call fcn.28ca716b8
mov byte [rax + 0x41], bl
mov rcx, qword [rsp + 0x28]
mov edx, 0xd2
call fcn.28cb69f50
mov ebx, eax
call fcn.28ca716b8
mov byte [rax + 0x42], bl
mov rcx, qword [rsp + 0x28]
mov edx, 0x66
call fcn.28cb69f50
test al, al
je 0x28cad6f99
call method.lld::elf.printHelp__
jmp 0x28cad7f17
mov rcx, qword [rsp + 0x28]
mov edx, 0x181
call fcn.28cb69f50
test al, al
lea rax, [rsp + 0x5b8]
mov qword [rsp + 0x30], rax
je 0x28cad6fd3
call fcn.28ca71608
lea rsi, [rsp + 0x568]
mov rbp, rax
mov rcx, rsi
call fcn.28ca716a8
jmp 0x28cad6fe8
mov rcx, qword [rsp + 0x28]
mov edx, 0x17e
call fcn.28cb69f50
test al, al
jne 0x28cad6fb9
jmp 0x28cad7031
lea rdi, [rsp + 0x590]
lea r8, str.__compatible_with_GNU_linkers_
mov rdx, rsi
mov rcx, rdi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char_const_
mov rcx, qword [rsp + 0x30]
mov rdx, rbp
mov word [rsp + 0x5d8], 0x104
mov qword [rsp + 0x5b8], rdi
call fcn.28ca715d8
mov rcx, rdi
call fcn.28ca71ec0
mov rcx, rsi
call fcn.28ca71ec0
mov rcx, qword [rsp + 0x28]
mov edx, 0x125
call fcn.28cb69b70
test rax, rax
je 0x28cad704e
mov rax, qword [rax + 0x30]
mov r12, qword [rax]
jmp 0x28cad705d
lea rcx, str.LLD_REPRODUCE
call sub.msvcrt.dll_getenv
mov r12, rax
lea rax, [rsp + 0x90]
test r12, r12
lea rbp, [rsp + 0x80]
mov qword [rsp + 0x38], rax
je 0x28cad72fb
lea rdi, [rsp + 0x590]
mov rdx, r12
mov rcx, rdi
call fcn.28cb50e50
mov rcx, qword [rsp + 0x38]
xor r8d, r8d
mov rdx, rbp
movaps xmm0, xmmword [rsp + 0x590]
movaps xmmword [rsp + 0x80], xmm0
call fcn.28ca71b08
mov rcx, qword [rsp + 0x30]
mov rdx, r12
movups xmm6, xmmword [rsp + 0x90]
lea r14, [rsp + 0x540]
call fcn.28cb50e50
mov rdx, qword [rsp + 0x38]
mov r8, rbp
mov rcx, r14
movups xmm1, xmmword [rsp + 0x5b8]
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x90], xmm1
call fcn.28ca71ab8
test byte [rsp + 0x548], 1
mov rax, qword [rsp + 0x540]
lea r12, [rsp + 0x568]
mov qword [rsp + 0x540], 0
jne 0x28cad727c
mov r13, qword [sym.liblldELF.dll_lld::elf::tar]
mov rcx, qword [r13]
mov qword [r13], rax
test rcx, rcx
je 0x28cad7136
call fcn.28cb7d0b0
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov r15, qword [r13]
call method.lld::elf.createResponseFile_abi:cxx11__llvm::opt::InputArgList_const_
lea rdx, str.response.txt
mov rcx, rdi
mov rsi, qword [rsp + 0x5b8]
mov rbx, qword [rsp + 0x5c0]
call fcn.28cb50e50
mov rdx, qword [rsp + 0x38]
mov r8, rbp
mov rcx, r15
movaps xmm2, xmmword [rsp + 0x590]
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rbx
movaps xmmword [rsp + 0x90], xmm2
call fcn.28ca71ac0
mov rcx, qword [rsp + 0x30]
call fcn.28ca71ec0
mov rcx, rdi
mov r13, qword [r13]
call fcn.28ca716a8
mov rcx, qword [rsp + 0x30]
lea r8, [0x28cbc88c6]
mov rdx, rdi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char_const_
lea rdx, str.version.txt
mov rcx, r12
mov rbx, qword [rsp + 0x5b8]
mov r15, qword [rsp + 0x5c0]
call fcn.28cb50e50
mov rdx, qword [rsp + 0x38]
mov r8, rbp
mov rcx, r13
movups xmm3, xmmword [rsp + 0x568]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], r15
movaps xmmword [rsp + 0x90], xmm3
call fcn.28ca71ac0
mov rcx, qword [rsp + 0x30]
call fcn.28ca71ec0
mov rcx, rdi
call fcn.28ca71ec0
mov rcx, qword [rsp + 0x30]
lea rdx, [0x28cbc7064]
call fcn.28cb50e50
movups xmm4, xmmword [rsp + 0x5b8]
mov rdx, qword [rsp + 0x28]
mov r9, rbp
mov rcx, qword [rsp + 0x38]
mov r8d, 0x8c
movaps xmmword [rsp + 0x80], xmm4
call fcn.28ca71888
cmp qword [rsp + 0x98], 0
je 0x28cad72f3
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
call method.lld::elf.readFile_llvm::StringRef_
jmp 0x28cad72f3
mov rcx, qword [rsp + 0x30]
xor edx, edx
mov qword [rsp + 0x518], rax
mov qword [rsp + 0x5b8], rdx
call method.std::unique_ptr_llvm::ErrorInfoBase__std::default_delete_llvm::ErrorInfoBase___.unique_ptr__
lea rdx, [rsp + 0x518]
mov rcx, r12
call fcn.28ca71ac8
mov r8, r12
lea rdx, str.__reproduce:
mov rcx, rdi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x5b8], rdi
mov word [rsp + 0x5d8], 0x104
call fcn.28ca715f8
mov rcx, rdi
call fcn.28ca71ec0
mov rcx, r12
call fcn.28ca71ec0
mov rcx, qword [rsp + 0x518]
call fcn.28cb46040
mov rcx, r14
call method.llvm::Expected_std::unique_ptr_llvm::TarWriter__std::default_delete_llvm::TarWriter_____.Expected__
mov rcx, qword [rsp + 0x28]
call fcn.28ca7f5d0
lea rcx, [rsp + 0xf8]
lea rdx, str.max_page_size
call fcn.28cb50e50
movups xmm5, xmmword [rsp + 0xf8]
mov r8, qword [rsp + 0x38]
xor r9d, r9d
mov rcx, qword [rsp + 0x28]
mov edx, 0x194
movaps xmmword [rsp + 0x90], xmm5
call fcn.28ca71628
lea rcx, [rsp + 0xe8]
lea rdx, str.common_page_size
call fcn.28cb50e50
movups xmm0, xmmword [rsp + 0xe8]
mov r8, qword [rsp + 0x38]
xor r9d, r9d
mov rcx, qword [rsp + 0x28]
mov edx, 0x194
movaps xmmword [rsp + 0x90], xmm0
call fcn.28ca71628
lea rcx, [rsp + 0xd8]
lea rdx, str.rela
call fcn.28cb50e50
lea rcx, [rsp + 0xc8]
lea rdx, [0x28cbc81dc]
call fcn.28cb50e50
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
mov r8, rbp
movups xmm1, xmmword [rsp + 0xc8]
movups xmm2, xmmword [rsp + 0xd8]
mov rcx, qword [rsp + 0x28]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm2
call fcn.28ca957f0
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov r8d, 0x194
call fcn.28cb6a120
mov rax, qword [rsp + 0x5c8]
movups xmm3, xmmword [rsp + 0x5b8]
lea rbp, [rsp + 0xb8]
lea r12, str.unknown__z_value:
mov rdi, qword [rsp + 0x5d0]
lea r13, [rsp + 0x108]
mov qword [rsp + 0x5a0], rax
movaps xmmword [rsp + 0x590], xmm3
mov rax, qword [rsp + 0x590]
cmp rdi, rax
je 0x28cad74a5
mov rdx, qword [rax]
mov rax, qword [rdx + 0x10]
test rax, rax
cmove rax, rdx
test byte [rax + 0x2c], 1
jne 0x28cad7496
mov rax, qword [rdx + 0x30]
mov rcx, rbp
mov rdx, qword [rax]
call fcn.28cb50e50
mov rax, qword [rsp + 0xb8]
mov rcx, r13
mov word [rsp + 0x128], 0x503
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
call fcn.28ca71600
lea rcx, [rsp + 0x590]
call fcn.28cb459f0
jmp 0x28cad742c
mov rcx, qword [rsp + 0x28]
mov edx, 0x181
call fcn.28cb69f50
test al, al
jne 0x28cad74d0
mov rcx, qword [rsp + 0x28]
mov edx, 0x17e
call fcn.28cb69f50
test al, al
je 0x28cad74e8
jmp 0x28cad7f17
mov rcx, qword [rsp + 0x28]
mov edx, 1
call fcn.28cb69f50
test al, al
jne 0x28cad74b8
jmp 0x28cad7f17
cmp byte [0x28cbc0302], 0
je 0x28cad7510
movups xmm4, xmmword [0x28cbc0048]
mov rdx, qword [rsp + 0x38]
mov ecx, dword [0x28cbc03c8]
movaps xmmword [rsp + 0x90], xmm4
call fcn.28ca71b70
mov rcx, qword [rsp + 0x30]
lea rdx, str.ExecuteLinker
call fcn.28cb50e50
movups xmm5, xmmword [rsp + 0x5b8]
mov rcx, qword [rsp + 0x38]
movaps xmmword [rsp + 0x90], xmm5
call fcn.28cb3dcb0
call sub.libLLVMX86Info.dll_LLVMInitializeX86TargetInfo
call sub.libLLVMARMInfo.dll_LLVMInitializeARMTargetInfo
call sub.libLLVMAArch64Info.dll_LLVMInitializeAArch64TargetInfo
call sub.libLLVMNVPTXInfo.dll_LLVMInitializeNVPTXTargetInfo
call sub.libLLVMAMDGPUInfo.dll_LLVMInitializeAMDGPUTargetInfo
call sub.libLLVMWebAssemblyInfo.dll_LLVMInitializeWebAssemblyTargetInfo
call sub.libLLVMX86CodeGen.dll_LLVMInitializeX86Target
call sub.libLLVMARMCodeGen.dll_LLVMInitializeARMTarget
call sub.libLLVMAArch64CodeGen.dll_LLVMInitializeAArch64Target
call sub.libLLVMNVPTXCodeGen.dll_LLVMInitializeNVPTXTarget
call sub.libLLVMAMDGPUCodeGen.dll_LLVMInitializeAMDGPUTarget
call sub.libLLVMWebAssemblyCodeGen.dll_LLVMInitializeWebAssemblyTarget
call sub.libLLVMX86Desc.dll_LLVMInitializeX86TargetMC
call sub.libLLVMARMDesc.dll_LLVMInitializeARMTargetMC
call sub.libLLVMAArch64Desc.dll_LLVMInitializeAArch64TargetMC
call sub.libLLVMNVPTXDesc.dll_LLVMInitializeNVPTXTargetMC
call sub.libLLVMAMDGPUDesc.dll_LLVMInitializeAMDGPUTargetMC
call sub.libLLVMWebAssemblyDesc.dll_LLVMInitializeWebAssemblyTargetMC
call sub.libLLVMX86CodeGen.dll_LLVMInitializeX86AsmPrinter
call sub.libLLVMARMCodeGen.dll_LLVMInitializeARMAsmPrinter
call sub.libLLVMAArch64CodeGen.dll_LLVMInitializeAArch64AsmPrinter
call sub.libLLVMNVPTXCodeGen.dll_LLVMInitializeNVPTXAsmPrinter
call sub.libLLVMAMDGPUCodeGen.dll_LLVMInitializeAMDGPUAsmPrinter
call sub.libLLVMWebAssemblyCodeGen.dll_LLVMInitializeWebAssemblyAsmPrinter
call sub.libLLVMX86AsmParser.dll_LLVMInitializeX86AsmParser
call sub.libLLVMARMAsmParser.dll_LLVMInitializeARMAsmParser
call sub.libLLVMAArch64AsmParser.dll_LLVMInitializeAArch64AsmParser
call sub.libLLVMAMDGPUAsmParser.dll_LLVMInitializeAMDGPUAsmParser
call sub.libLLVMWebAssemblyAsmParser.dll_LLVMInitializeWebAssemblyAsmParser
lea rax, [rsp + 0x680]
mov rcx, qword [rsp + 0x840]
mov rdx, rax
mov qword [rsp + 0x30], rax
call method.lld::elf::LinkerDriver.createFiles_llvm::opt::InputArgList_
call fcn.28ca716d8
mov rbx, rax
test rax, rax
jne 0x28cad7e4d
mov rcx, qword [rsp + 0x840]
call method.lld::elf::LinkerDriver.inferMachineType__
mov al, byte [0x28cbc02c7]
mov dl, byte [0x28cbc0370]
mov bp, word [0x28cbc0372]
test al, al
jne 0x28cad7624
mov al, byte [0x28cbc029d]
mov byte [0x28cbc03e0], al
lea eax, [rdx - 3]
movzx r8d, byte [0x28cbc02c1]
cmp al, 1
mov eax, edx
setbe byte [0x28cbc03e1]
and eax, 0xfffffffd
dec al
sete al
cmp dl, 3
mov byte [0x28cbc03e2], al
movzx eax, al
mov dword [0x28cbc03e4], eax
sete al
cmp bp, 8
sete dl
and eax, edx
mov byte [0x28cbc03e8], al
test r8b, r8b
jne 0x28cad7679
movzx r8d, byte [0x28cbc02f9]
mov rcx, qword [rsp + 0x30]
mov edx, 0xf0
mov byte [0x28cbc03f1], r8b
call fcn.28cb69f70
cmp byte [0x28cbc03e1], 1
mov byte [0x28cbc02c0], al
lea rdi, [rsp + 0x5b8]
lea rsi, [0x28cbbf020]
sbb eax, eax
mov ecx, 9
lea rdx, [rsp + 0x5b4]
rep movsd dword [rdi], dword [rsi]
and eax, 0xfffffffc
lea rsi, [rsp + 0x5b8]
add eax, 8
mov qword [rsp + 0x38], rsi
mov dword [0x28cbc03f4], eax
movzx eax, word [0x28cbc0372]
add rbx, 4
cmp dword [rdx + rbx], eax
je 0x28cad76ef
cmp rbx, 0x24
jne 0x28cad76dc
xor ebx, ebx
jmp 0x28cad76f1
mov bl, 1
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov r8d, 0x194
call fcn.28cb6a120
mov rax, qword [rsp + 0x5c8]
movups xmm6, xmmword [rsp + 0x5b8]
lea r14, [0x28cbc81dc]
lea r15, str.rela
mov r13, qword [rsp + 0x5d0]
mov qword [rsp + 0x5a0], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0x590], xmm6
mov rax, qword [rsp + 0x590]
cmp r13, rax
je 0x28cad781b
mov rsi, qword [rax]
lea rcx, [rsp + 0x518]
lea r12, [rsp + 0x568]
lea rdi, [rsp + 0x540]
mov rax, qword [rsi + 0x30]
mov rdx, qword [rax]
call fcn.28cb50e50
mov rdx, r14
mov rcx, r12
call fcn.28cb50e50
movups xmm0, xmmword [rsp + 0x518]
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
movups xmm1, xmmword [rsp + 0x568]
movaps xmmword [rsp + 0x540], xmm0
movaps xmmword [rsp + 0x90], xmm1
call method.llvm::StringRef.equals_llvm::StringRef__const
test al, al
jne 0x28cad77fd
mov rdx, r15
mov rcx, r12
call fcn.28cb50e50
movups xmm2, xmmword [rsp + 0x518]
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
movups xmm3, xmmword [rsp + 0x568]
movaps xmmword [rsp + 0x540], xmm2
movaps xmmword [rsp + 0x90], xmm3
call method.llvm::StringRef.equals_llvm::StringRef__const
mov edi, eax
test al, al
jne 0x28cad77ff
jmp 0x28cad7809
xor edi, edi
mov rcx, rsi
mov ebx, edi
call method.llvm::opt::Arg.claim___const
lea rcx, [rsp + 0x590]
call fcn.28cb459f0
jmp 0x28cad7749
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov edx, 0xb
mov r8d, 0xa3
mov byte [0x28cbc03f0], bl
call fcn.28ca71880
test al, al
jne 0x28cad7846
mov al, byte [0x28cbc03f0]
xor eax, 1
mov rcx, qword [rsp + 0x30]
xor r9d, r9d
mov edx, 0x1f
mov r8d, 0xa6
mov byte [0x28cbc0323], al
call fcn.28ca71880
xor ebx, ebx
cmp bp, 0x15
mov rcx, qword [rsp + 0x30]
mov r8d, 0xc9
sete bl
mov edx, 0x167
mov byte [0x28cbc027d], al
mov r9d, ebx
call fcn.28ca71880
mov rcx, qword [rsp + 0x30]
mov r9d, ebx
mov edx, 0xee
mov r8d, 0xc1
mov byte [0x28cbc0303], al
call fcn.28ca71880
cmp word [0x28cbc0372], 8
mov byte [0x28cbc0304], al
jne 0x28cad78dd
cmp byte [0x28cbc02a7], 0
je 0x28cad7933
mov rcx, qword [rsp + 0x38]
lea rdx, str.the_.gnu.hash_section_is_not_compatible_with_the_MIPS_target
call fcn.28cb46240
mov rcx, qword [rsp + 0x38]
call fcn.28ca715f8
cmp word [0x28cbc0372], 0x28
mov al, byte [0x28cbc0268]
jne 0x28cad7933
test al, al
jne 0x28cad799b
cmp qword [0x28cbc00d0], 0
je 0x28cad7918
lea rcx, [rsp + 0x590]
lea rdx, str.__in_implib_may_not_be_used_without___cmse_implib
call fcn.28cb46240
call fcn.28ca715f8
cmp qword [0x28cbc00e0], 0
lea rcx, [rsp + 0x568]
lea rdx, str.__out_implib_may_not_be_used_without___cmse_implib
je 0x28cad799b
jmp 0x28cad7991
cmp byte [0x28cbc0268], 0
je 0x28cad7955
lea rcx, [rsp + 0x540]
lea rdx, str.__cmse_implib_is_only_supported_on_ARM_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp qword [0x28cbc00d0], 0
je 0x28cad7978
lea rcx, [rsp + 0x518]
lea rdx, str.__in_implib_is_only_supported_on_ARM_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp qword [0x28cbc00e0], 0
je 0x28cad799b
lea rcx, [rsp + 0x4f0]
lea rdx, str.__out_implib_is_only_supported_on_ARM_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02a1], 0
je 0x28cad79c8
cmp word [0x28cbc0372], 0xb7
je 0x28cad79c8
lea rcx, [rsp + 0x4c8]
lea rdx, str.__fix_cortex_a53_843419_is_only_supported_on_AArch64_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02a2], 0
je 0x28cad79f4
cmp word [0x28cbc0372], 0x28
je 0x28cad79f4
lea rcx, [rsp + 0x4a0]
lea rdx, str.__fix_cortex_a8_is_only_supported_on_ARM_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc0271], 0
je 0x28cad7a20
cmp word [0x28cbc0372], 0x28
je 0x28cad7a20
lea rcx, [rsp + 0x478]
lea rdx, str.__be8_is_only_supported_on_ARM_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02a2], 0
je 0x28cad7a4b
cmp byte [0x28cbc03e2], 0
jne 0x28cad7a4b
lea rcx, [rsp + 0x450]
lea rdx, str.__fix_cortex_a8_is_not_supported_on_big_endian_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc0303], 0
je 0x28cad7a77
cmp word [0x28cbc0372], 0x15
je 0x28cad7a77
lea rcx, [rsp + 0x428]
lea rdx, str.__toc_optimize_is_only_supported_on_PowerPC64_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc0304], 0
je 0x28cad7aa3
cmp word [0x28cbc0372], 0x15
je 0x28cad7aa3
lea rcx, [rsp + 0x400]
lea rdx, str.__pcrel_optimize_is_only_supported_on_PowerPC64_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02c6], 0
je 0x28cad7ad0
cmp word [0x28cbc0372], 0xf3
je 0x28cad7ad0
lea rcx, [rsp + 0x3d8]
lea rdx, str.__relax_gp_is_only_supported_on_RISC_V_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02c1], 0
mov al, byte [0x28cbc02f9]
je 0x28cad7b07
test al, al
jne 0x28cad7aee
cmp dword [0x28cbc01b0], 0
je 0x28cad7b34
jmp 0x28cad7b12
lea rcx, [rsp + 0x3b0]
lea rdx, str._shared_and__pie_may_not_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02f9], 0
jne 0x28cad7b56
jmp 0x28cad7ae3
lea rcx, [rsp + 0x388]
lea rdx, str._F_may_not_be_used_without__shared
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02f9], 0
jne 0x28cad7b56
cmp dword [0x28cbc01a0], 0
je 0x28cad7b56
lea rcx, [rsp + 0x360]
lea rdx, str._f_may_not_be_used_without__shared
call fcn.28cb46240
call fcn.28ca715f8
cmp dword [0x28cbc0350], 1
jne 0x28cad7b81
cmp byte [0x28cbc029d], 0
je 0x28cad7b81
lea rcx, [rsp + 0x338]
lea rdx, str.__strip_all_and___emit_relocs_may_not_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc0339], 0
je 0x28cad7bac
cmp byte [0x28cbc032a], 0
je 0x28cad7bac
lea rcx, [rsp + 0x310]
lea rdx, str._z_text_and__z_ifunc_noplt_may_not_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02c7], 0
je 0x28cad7c63
cmp byte [0x28cbc02f9], 0
je 0x28cad7bdb
lea rcx, [rsp + 0x2e8]
lea rdx, str._r_and__shared_may_not_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02a6], 0
je 0x28cad7bfd
lea rcx, [rsp + 0x2c0]
lea rdx, str._r_and___gdb_index_may_not_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp dword [0x28cbc0344], 0
je 0x28cad7c1f
lea rcx, [rsp + 0x298]
lea rdx, str._r_and___icf_may_not_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02c1], 0
je 0x28cad7c41
lea rcx, [rsp + 0x270]
lea rdx, str._r_and__pie_may_not_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02a0], 0
je 0x28cad7c63
lea rcx, [rsp + 0x248]
lea rdx, str._r_and___export_dynamic_may_not_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc029f], 0
je 0x28cad7cc2
cmp word [0x28cbc0372], 0xb7
je 0x28cad7c90
lea rcx, [rsp + 0x220]
lea rdx, str.__execute_only_is_only_supported_on_AArch64_targets
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc02f8], 0
je 0x28cad7cc2
mov rax, qword [sym.liblldELF.dll_lld::elf::script]
mov rax, qword [rax]
cmp byte [rax + 0x50], 0
jne 0x28cad7cc2
lea rcx, [rsp + 0x1f8]
lea rdx, str.__execute_only_and___no_rosegment_cannot_be_used_together
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc033a], 0
je 0x28cad7ced
cmp byte [0x28cbc0327], 0
je 0x28cad7ced
lea rcx, [rsp + 0x1d0]
lea rdx, str._z_force_ibt_may_not_be_used_with__z_retpolineplt
call fcn.28cb46240
call fcn.28ca715f8
cmp word [0x28cbc0372], 0xb7
lea rbx, [rsp + 0x80]
lea rsi, [0x28cbc713c]
jne 0x28cad7d4d
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.28cb50e50
movups xmm4, xmmword [0x28cbc00f8]
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
movups xmm5, xmmword [rsp + 0x5b8]
movaps xmmword [rsp + 0x90], xmm4
movaps xmmword [rsp + 0x80], xmm5
call method.llvm.operator__llvm::StringRef__llvm::StringRef_
test al, al
je 0x28cad7e18
jmp 0x28cad7dff
cmp byte [0x28cbc0333], 0
je 0x28cad7d6f
lea rcx, [rsp + 0x1a8]
lea rdx, str._z_pac_plt_only_supported_on_AArch64
call fcn.28cb46240
call fcn.28ca715f8
cmp byte [0x28cbc0326], 0
je 0x28cad7d91
lea rcx, [rsp + 0x180]
lea rdx, str._z_force_bti_only_supported_on_AArch64
call fcn.28cb46240
call fcn.28ca715f8
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.28cb50e50
movups xmm6, xmmword [0x28cbc00e8]
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
movups xmm0, xmmword [rsp + 0x5b8]
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm0
call method.llvm.operator__llvm::StringRef__llvm::StringRef_
test al, al
je 0x28cad7de7
lea rcx, [rsp + 0x158]
lea rdx, str._z_bti_report_only_supported_on_AArch64
call fcn.28cb46240
call fcn.28ca715f8
mov ax, word [0x28cbc0372]
cmp ax, 0x3e
je 0x28cad7e18
cmp ax, 3
je 0x28cad7e18
jmp 0x28cad7d07
lea rcx, [rsp + 0x130]
lea rdx, str._z_cet_report_only_supported_on_X86_and_X86_64
call fcn.28cb46240
call fcn.28ca715f8
call fcn.28ca716d8
test rax, rax
jne 0x28cad7e4d
lea rdi, [rsp + 0x680]
mov rcx, qword [rsp + 0x840]
mov rdx, rdi
call method.lld::elf::LinkerDriver.link_llvm::opt::InputArgList_
call fcn.28cb3df50
cmp byte [0x28cbc0302], 0
jne 0x28cad7e57
jmp 0x28cad7f17
call fcn.28cb3df50
jmp 0x28cad7f17
lea rcx, [rsp + 0x568]
lea rdx, [0x28cbc7064]
call fcn.28cb50e50
lea rsi, [rsp + 0x590]
mov r9, qword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x568]
mov r8d, 0x165
mov rdx, rdi
mov rcx, rsi
movaps xmmword [rsp + 0x90], xmm1
call fcn.28ca71888
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call method.llvm::StringRef.str_abi:cxx11____const
mov rax, qword [rsp + 0x5b8]
movups xmm2, xmmword [0x28cbbffe8]
lea rdi, [rsp + 0x540]
mov r8, rbx
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
lea rsi, [rsp + 0x5b8]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x5c0]
movaps xmmword [rsp + 0x80], xmm2
mov qword [rsp + 0x98], rax
call fcn.28ca71b90
mov rcx, rdi
call fcn.28ca716e0
mov rcx, qword [rsp + 0x540]
call fcn.28cb46040
mov rcx, rsi
call fcn.28ca71ec0
call fcn.28ca71b78
mov rcx, qword [rsp + 0x28]
call method.llvm::opt::InputArgList.InputArgList__
mov rcx, qword [rsp + 0x48]
call sym.liblldELF.dll_lld::elf::ELFOptTable::ELFOptTable__
nop
movaps xmm6, xmmword [rsp + 0x7e0]
add rsp, 0x7f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret