Function at 0x28cab5b20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x298
mov r12, qword [sym.liblldELF.dll_lld::elf::config]
cmp byte [r12 + 0x447], 0
mov qword [rsp + 0x30], rcx
jne 0x28cab611d
lea rbx, [rsp + 0x248]
lea rdx, str..preinit_array
mov rcx, rbx
lea rsi, [rsp + 0xf0]
call fcn.28cb510a0
movups xmm0, xmmword [rsp + 0x248]
mov edx, 1
mov rcx, rsi
movaps xmmword [rsp + 0xf0], xmm0
call fcn.28ca7f1e0
lea rdx, str..init_array
mov rcx, rbx
mov r15, rax
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::preinitArray]
mov qword [rax], r15
call fcn.28cb510a0
movups xmm1, xmmword [rsp + 0x248]
mov edx, 1
mov rcx, rsi
movaps xmmword [rsp + 0xf0], xmm1
call fcn.28ca7f1e0
mov r14, qword [sym.liblldELF.dll_lld::elf::Out::initArray]
lea rdx, str..fini_array
mov rcx, rbx
mov qword [r14], rax
call fcn.28cb510a0
movups xmm2, xmmword [rsp + 0x248]
mov edx, 1
mov rcx, rsi
movaps xmmword [rsp + 0xf0], xmm2
call fcn.28ca7f1e0
mov r13, qword [sym.liblldELF.dll_lld::elf::Out::finiArray]
lea rdx, str..text
mov rcx, rbx
mov qword [r13], rax
call fcn.28cb510a0
movups xmm3, xmmword [rsp + 0x248]
mov edx, 1
mov rcx, rsi
movaps xmmword [rsp + 0xf0], xmm3
call fcn.28ca7f1e0
test rax, rax
jne 0x28cab5c3f
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::elfHeader]
mov rax, qword [rax]
lea rdi, [rsp + 0x220]
lea rdx, str.__preinit_array_end
mov qword [rsp + 0x1f8], rax
mov rcx, rdi
lea rbp, [rsp + 0x1f8]
call fcn.28cb510a0
lea rdx, str.__preinit_array_start
mov rcx, rbx
call fcn.28cb510a0
mov r9, r15
mov rdx, rsi
mov rcx, rbp
lea rax, [rsp + 0xe0]
movups xmm4, xmmword [rsp + 0x248]
movaps xmm5, xmmword [rsp + 0x220]
mov r8, rax
mov qword [rsp + 0x38], rax
movaps xmmword [rsp + 0xf0], xmm4
movaps xmmword [rsp + 0xe0], xmm5
call fcn.28cbb7730
mov r9, qword [r14]
lea rdx, str.__init_array_end
mov rcx, rdi
mov qword [rsp + 0x40], r9
call fcn.28cb510a0
lea rdx, str.__init_array_start
mov rcx, rbx
call fcn.28cb510a0
mov r8, qword [rsp + 0x38]
mov rdx, rsi
mov rcx, rbp
movups xmm0, xmmword [rsp + 0x248]
movaps xmm1, xmmword [rsp + 0x220]
mov r9, qword [rsp + 0x40]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm1
call fcn.28cbb7730
mov r9, qword [r13]
lea rdx, str.__fini_array_end
mov rcx, rdi
mov qword [rsp + 0x40], r9
call fcn.28cb510a0
lea rdx, str.__fini_array_start
mov rcx, rbx
call fcn.28cb510a0
mov r9, qword [rsp + 0x40]
mov rdx, rsi
mov rcx, rbp
movups xmm2, xmmword [rsp + 0x248]
movaps xmm3, xmmword [rsp + 0x220]
mov r8, qword [rsp + 0x38]
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0xe0], xmm3
call fcn.28cbb7730
lea rdx, str..ARM.exidx
mov rcx, rbx
call fcn.28cb510a0
movups xmm4, xmmword [rsp + 0x248]
mov edx, 1
mov rcx, rsi
movaps xmmword [rsp + 0xf0], xmm4
call fcn.28ca7f1e0
test rax, rax
mov qword [rsp + 0x40], rax
je 0x28cab5df3
lea rdx, str.__exidx_end
mov rcx, rdi
call fcn.28cb510a0
lea rdx, str.__exidx_start
mov rcx, rbx
call fcn.28cb510a0
mov r9, qword [rsp + 0x40]
mov rdx, rsi
mov rcx, rbp
movups xmm5, xmmword [rsp + 0x248]
movaps xmm0, xmmword [rsp + 0x220]
mov r8, qword [rsp + 0x38]
movaps xmmword [rsp + 0xf0], xmm5
movaps xmmword [rsp + 0xe0], xmm0
call fcn.28cbb7730
mov rax, qword [sym.liblldELF.dll_lld::elf::script]
mov rax, qword [rax]
mov rbp, qword [rax + 0x30]
mov eax, dword [rax + 0x38]
lea r13, [rbp + rax*8]
cmp r13, rbp
je 0x28cab5e2b
mov rcx, qword [rbp]
call fcn.28cb4a160
test rax, rax
je 0x28cab5e25
lea rcx, [rax + 8]
call fcn.28cab15a0
add rbp, 8
jmp 0x28cab5e09
mov rax, qword [sym.liblldELF.dll_lld::elf::mainPart]
mov rax, qword [rax]
mov rbp, qword [rax + 0x48]
cmp qword [rbp + 0x40], 0
je 0x28cab5ef2
mov rax, qword [sym.liblldELF.dll_lld::elf::ctx]
lea rdx, str._DYNAMIC
mov rcx, rdi
xor r15d, r15d
add rbp, 8
mov r13, qword [rax + 0x180]
call fcn.28cb510a0
mov rax, qword [rsp + 0x220]
mov edx, dword [rsp + 0x260]
mov word [rsp + 0x25c], 0x220
mov rcx, qword [sym.liblldELF.dll_lld::elf::symtab]
mov qword [rsp + 0x248], r13
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x228]
and dx, 0xeff7
mov byte [rsp + 0x25e], 1
mov dword [rsp + 0x258], eax
movzx eax, byte [r12 + 0x420]
mov qword [rsp + 0x270], r15
shl eax, 3
mov qword [rsp + 0x278], r15
and ax, 0x1008
mov qword [rsp + 0x280], rbp
or eax, edx
mov rdx, rbx
mov word [rsp + 0x260], ax
call method.lld::elf::Symbol_lld::elf::SymbolTable::addSymbol_lld::elf.Defined__lld::elf::Defined_const_
or byte [rax + 0x18], 2
call fcn.28cab0550
cmp word [r12 + 0x4f2], 0xf3
jne 0x28cab5fdd
mov rbp, qword [sym.liblldELF.dll_lld::elf::ElfSym::riscvGlobalPointer]
xor r14d, r14d
cmp byte [r12 + 0x479], 0
mov qword [rbp], r14
jne 0x28cab60cc
lea rdx, str..sdata
mov rcx, rbx
call fcn.28cb510a0
movups xmm1, xmmword [rsp + 0x248]
mov edx, 1
mov rcx, rsi
movaps xmmword [rsp + 0xf0], xmm1
call fcn.28ca7f1e0
mov rdi, rax
test rax, rax
jne 0x28cab5f63
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::elfHeader]
mov rdi, qword [rax]
lea r13, str.__global_pointer_
mov rcx, rbx
mov rdx, r13
call fcn.28cb510a0
xor r9d, r9d
mov rdx, rdi
mov rcx, rsi
movups xmm2, xmmword [rsp + 0x248]
mov r8d, 0x800
movaps xmmword [rsp + 0xf0], xmm2
call fcn.28ca8c740
cmp byte [r12 + 0x446], 0
je 0x28cab5fdd
mov rdx, r13
mov rcx, rbx
call fcn.28cb510a0
movups xmm3, xmmword [rsp + 0x248]
mov rcx, qword [sym.liblldELF.dll_lld::elf::symtab]
mov rdx, rsi
movaps xmmword [rsp + 0xf0], xmm3
call method.lld::elf::SymbolTable.find_llvm::StringRef_
test rax, rax
je 0x28cab5fdd
cmp byte [rax + 0x16], 1
jne 0x28cab5fdd
mov qword [rbp], rax
mov ax, word [r12 + 0x4f2]
cmp ax, 0x3e
je 0x28cab5ff6
cmp ax, 3
jne 0x28cab60cc
lea rdx, str._TLS_MODULE_BASE_
mov rcx, rbx
call fcn.28cb510a0
movups xmm4, xmmword [rsp + 0x248]
mov rcx, qword [sym.liblldELF.dll_lld::elf::symtab]
mov rdx, rsi
movaps xmmword [rsp + 0xf0], xmm4
call method.lld::elf::SymbolTable.find_llvm::StringRef_
mov rdi, rax
test rax, rax
je 0x28cab60cc
cmp byte [rax + 0x16], 4
jne 0x28cab60cc
mov rax, qword [sym.liblldELF.dll_lld::elf::ctx]
xor r13d, r13d
xor r11d, r11d
xor ebp, ebp
movzx edx, byte [r12 + 0x420]
mov rcx, rdi
mov qword [rsp + 0x250], r11
mov rax, qword [rax + 0x180]
mov dword [rsp + 0x258], ebp
shl edx, 3
mov byte [rsp + 0x25e], 1
mov qword [rsp + 0x248], rax
mov eax, dword [rsp + 0x260]
and dx, 0x1008
mov word [rsp + 0x25c], 0x216
and ax, 0xeff7
mov qword [rsp + 0x270], r13
or edx, eax
mov qword [rsp + 0x278], r13
mov word [rsp + 0x260], dx
mov rdx, rbx
mov qword [rsp + 0x280], r13
call method.lld::elf::Symbol.resolve_lld::elf::Defined_const_
mov rax, qword [sym.liblldELF.dll_lld::elf::ElfSym::tlsModuleBase]
mov qword [rax], rdi
mov rcx, rbx
lea rdx, str.Finalize_.eh_frame
call fcn.28cb510a0
movups xmm5, xmmword [rsp + 0x248]
mov rcx, rsi
movaps xmmword [rsp + 0xf0], xmm5
call fcn.28cb3de40
mov rax, qword [sym.liblldELF.dll_lld::elf::partitions]
mov rsi, qword [rax + 8]
mov rbx, qword [rax]
cmp rsi, rbx
je 0x28cab6118
mov rcx, qword [rbx + 0x68]
call fcn.28ca8bc90
add rbx, 0xc0
jmp 0x28cab6101
call fcn.28cb3e050
call fcn.28ca940b0
cmp byte [r12 + 0x560], 0
jne 0x28cab614b
call fcn.28ca92e40
cmp byte [r12 + 0x560], 0
je 0x28cab624f
call fcn.28cab0630
jmp 0x28cab624f
cmp dword [r12 + 0x4bc], 3
je 0x28cab612d
cmp byte [r12 + 0x425], 0
jne 0x28cab612d
mov rax, qword [sym.liblldELF.dll_lld::elf::ctx]
mov rsi, qword [rax + 0x88]
mov eax, dword [rax + 0x90]
lea r13, [rsi + rax*8]
cmp r13, rsi
je 0x28cab612d
mov rbp, qword [rsi]
mov rdi, qword [rbp + 0x10]
mov eax, dword [rbp + 0x18]
lea r14, [rdi + rax*8]
cmp r14, rdi
je 0x28cab6246
mov rcx, qword [rdi]
call method.auto_llvm::dyn_cast_if_present_lld::elf::InputSection__lld::elf.InputSectionBase__lld::elf::InputSectionBase_
test rax, rax
jne 0x28cab61a8
add rdi, 8
jmp 0x28cab618c
mov edx, dword [rax + 4]
cmp edx, 9
jne 0x28cab61f3
mov rbx, qword [rax + 0x58]
mov r15, qword [rax + 0x50]
and rbx, 0xfffffffffffffff0
add rbx, r15
cmp rbx, r15
je 0x28cab61a2
movzx edx, byte [r12 + 0x568]
mov rcx, r15
call method.llvm::object::Elf_Rel_Impl_llvm::object.ELFType__llvm::endianness_1__true___false_::getRInfo_bool__const
mov rcx, rbp
shr rax, 0x20
mov edx, eax
call method.lld::elf::ObjFile_llvm::object.ELFType__llvm::endianness_1__true___::getSymbol_unsigned_int__const
cmp byte [rax + 0x14], 0xf
ja 0x28cab61ed
or byte [rax + 0x18], 4
add r15, 0x10
jmp 0x28cab61bf
cmp edx, 4
jne 0x28cab61a2
mov r15, qword [rax + 0x50]
mov rax, qword [rax + 0x58]
mov ebx, 0x18
xor edx, edx
div rbx
imul rax, rax, 0x18
lea rbx, [r15 + rax]
cmp rbx, r15
je 0x28cab61a2
movzx edx, byte [r12 + 0x568]
mov rcx, r15
call method.llvm::object::Elf_Rel_Impl_llvm::object.ELFType__llvm::endianness_1__true___false_::getRInfo_bool__const
mov rcx, rbp
shr rax, 0x20
mov edx, eax
call method.lld::elf::ObjFile_llvm::object.ELFType__llvm::endianness_1__true___::getSymbol_unsigned_int__const
cmp byte [rax + 0x14], 0xf
ja 0x28cab6240
or byte [rax + 0x18], 4
add r15, 0x18
jmp 0x28cab6212
add rsi, 8
jmp 0x28cab6179
mov r14, qword [sym.liblldELF.dll_lld::elf::script]
mov rcx, qword [r14]
call method.lld::elf::LinkerScript.processSymbolAssignments__
lea rax, [rsp + 0x248]
cmp byte [r12 + 0x447], 0
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x40], rax
jne 0x28cab6708
mov rcx, qword [rsp + 0x38]
lea rdx, str.Scan_relocations
call fcn.28cb510a0
movups xmm0, xmmword [rsp + 0x248]
mov rcx, qword [rsp + 0x40]
movaps xmmword [rsp + 0xf0], xmm0
call fcn.28cb3de40
mov rcx, qword [sym.liblldELF.dll_lld::elf::ppc64noTocRelax]
call sym.liblldELF.dll_llvm::DenseMapBase_llvm::DenseMap_std::pair_lld::elf::Symbol_const__unsigned_long_long___llvm::detail::DenseSetEmpty__llvm::DenseMapInfo_std::pair_lld::elf::Symbol_const__unsigned_long_long___void___llvm::detail::DenseSetPair_std::pair_lld::elf::Symbol_const__unsigned_long_long_______std::pair_lld::elf::Symbol_const__unsigned_long_long___llvm::detail::DenseSetEmpty__llvm::DenseMapInfo_std::pair_lld::elf::Symbol_const__unsigned_long_long___void___llvm::detail::DenseSetPair_std::pair_lld::elf::Symbol_const__unsigned_long_long_____::clear__
call method.void_lld::elf::scanRelocations_llvm::object.ELFType__llvm::endianness_1__true_____
call method.lld::elf.reportUndefinedSymbols__
call method.lld::elf.postScanRelocations__
mov rbx, qword [sym.liblldELF.dll_lld::elf::in]
mov rcx, qword [rbx + 0x88]
test rcx, rcx
jne 0x28cab62ee
mov rcx, qword [rbx + 0x90]
test rcx, rcx
jne 0x28cab6306
jmp 0x28cab630f
mov rax, qword [rcx]
call qword [rax + 0x20]
test al, al
je 0x28cab62e0
mov rcx, qword [rbx + 0x88]
call method.lld::elf::PltSection.addSymbols__
jmp 0x28cab62e0
cmp dword [rcx + 0xb0], 0
jne 0x28cab631e
mov eax, dword [r12 + 0x4d8]
cmp eax, 2
jne 0x28cab632f
jmp 0x28cab6325
call method.lld::elf::IpltSection.addSymbols__
jmp 0x28cab630f
call fcn.28cb3e050
jmp 0x28cab6708
test eax, eax
lea rdx, [fcn.28ca71600]
lea rax, [method.lld::elf.errorOrWarn_llvm::Twine_const_]
cmovne rax, rdx
mov rdx, qword [sym.liblldELF.dll_lld::elf::ctx]
mov r15, rax
mov rax, qword [rdx + 0x98]
mov edx, dword [rdx + 0xa0]
mov r13, rax
lea rdi, [rax + rdx*8]
lea rax, [rsp + 0x148]
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x80], r13
je 0x28cab6325
mov rbp, qword [r13]
mov edi, dword [rbp + 0x108]
mov rsi, qword [rbp + 0x100]
shl rdi, 4
lea rax, [rsi + rdi]
sar rdi, 6
mov qword [rsp + 0x48], rax
test rdi, rdi
je 0x28cab63f8
mov rcx, rsi
call fcn.28cb51a60
test al, al
jne 0x28cab6463
lea rbx, [rsi + 0x10]
mov rcx, rbx
call fcn.28cb51a60
test al, al
jne 0x28cab6466
lea rbx, [rsi + 0x20]
mov rcx, rbx
call fcn.28cb51a60
test al, al
jne 0x28cab6466
lea rbx, [rsi + 0x30]
mov rcx, rbx
call fcn.28cb51a60
test al, al
jne 0x28cab6466
add rsi, 0x40
dec rdi
jmp 0x28cab63a2
mov rax, qword [rsp + 0x48]
sub rax, rsi
cmp rax, 0x20
je 0x28cab6429
cmp rax, 0x30
je 0x28cab6417
cmp rax, 0x10
jne 0x28cab6448
mov rbx, rsi
jmp 0x28cab643c
mov rcx, rsi
call fcn.28cb51a60
lea rbx, [rsi + 0x10]
test al, al
je 0x28cab642c
jmp 0x28cab6463
mov rbx, rsi
mov rcx, rbx
call fcn.28cb51a60
test al, al
jne 0x28cab6466
add rbx, 0x10
mov rcx, rbx
call fcn.28cb51a60
test al, al
jne 0x28cab6466
mov rbx, qword [rbp + 0x128]
mov eax, dword [rbp + 0x130]
lea rax, [rbx + rax*8]
mov qword [rsp + 0x88], rax
jmp 0x28cab6483
mov rbx, rsi
cmp qword [rsp + 0x48], rbx
je 0x28cab6448
add r13, 8
jmp 0x28cab6376
mov rsi, qword [rbx]
test byte [rsi + 0x19], 0x40
je 0x28cab648f
add rbx, 8
cmp qword [rsp + 0x88], rbx
jne 0x28cab6476
jmp 0x28cab646d
mov al, byte [rsi + 0x16]
cmp al, 4
jne 0x28cab64a2
mov al, byte [rsi + 0x14]
and eax, 0xfffffff0
cmp al, 0x20
je 0x28cab647f
jmp 0x28cab64ab
dec al
jne 0x28cab647f
jmp 0x28cab657e
lea rax, [rsp + 0x1a8]
mov rdx, rbp
mov rcx, rax
mov qword [rsp + 0x48], rax
call method.lld.toString_abi:cxx11__lld::elf::InputFile_const_
lea rax, [rsp + 0x220]
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x58], rax
call method.lld.toString_abi:cxx11__lld::elf::Symbol_const_
lea rax, [rsp + 0x1f8]
mov r8, qword [rsp + 0x58]
lea rdx, str.undefined_reference_due_to___no_allow_shlib_undefined:
mov rcx, rax
mov qword [rsp + 0x60], rax
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____
lea rsi, [rsp + 0x1d0]
mov rdx, qword [rsp + 0x60]
lea r8, str._n____referenced_by
mov rcx, rsi
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 rdi, [rsp + 0x188]
mov r8, qword [rsp + 0x48]
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_____std::__cxx11::basi
mov word [rsp + 0x268], 0x104
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x248], rdi
call r15
mov rcx, rdi
call fcn.28ca71ec0
mov rcx, rsi
call fcn.28ca71ec0
lea rcx, [rsp + 0x1f8]
call fcn.28ca71ec0
lea rcx, [rsp + 0x220]
call fcn.28ca71ec0
mov rcx, qword [rsp + 0x48]
jmp 0x28cab66fe
mov rcx, rsi
call method.lld::elf::Symbol.computeBinding___const
test al, al
jne 0x28cab647f
mov rcx, qword [rsp + 0x50]
mov rdx, rbp
call method.lld.toString_abi:cxx11__lld::elf::InputFile_const_
lea rax, [rsp + 0x1a8]
mov rdx, qword [rsi]
mov rcx, rax
mov qword [rsp + 0x78], rax
call method.lld.toString_abi:cxx11__lld::elf::InputFile_const_
lea rax, [rsp + 0x220]
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x58], rax
call method.lld.toString_abi:cxx11__lld::elf::Symbol_const_
lea rax, [rsp + 0x1f8]
mov r8, qword [rsp + 0x58]
lea rdx, str.non_exported_symbol_
mov rcx, rax
mov qword [rsp + 0x60], rax
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____
lea rax, [rsp + 0x1d0]
mov rdx, qword [rsp + 0x60]
lea r8, str._in_
mov rcx, rax
mov qword [rsp + 0x68], rax
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 rax, [rsp + 0x188]
mov rdx, qword [rsp + 0x68]
lea r8, [rsp + 0x1a8]
mov rcx, rax
mov qword [rsp + 0x70], rax
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_____std::__cxx11::basi
lea rax, [rsp + 0x168]
mov rdx, qword [rsp + 0x70]
lea r8, str._is_referenced_by_DSO_
mov rcx, rax
mov qword [rsp + 0x48], rax
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 rsi, [rsp + 0x128]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
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_____std::__cxx11::basi
lea rdi, [rsp + 0x108]
lea r8, [0x28cbd34c5]
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 word [rsp + 0x268], 0x104
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x248], rdi
call r15
mov rcx, rdi
call fcn.28ca71ec0
mov rcx, rsi
call fcn.28ca71ec0
mov rcx, qword [rsp + 0x48]
call fcn.28ca71ec0
lea rcx, [rsp + 0x188]
call fcn.28ca71ec0
lea rcx, [rsp + 0x1d0]
call fcn.28ca71ec0
lea rcx, [rsp + 0x1f8]
call fcn.28ca71ec0
lea rcx, [rsp + 0x220]
call fcn.28ca71ec0
lea rcx, [rsp + 0x1a8]
call fcn.28ca71ec0
mov rcx, qword [rsp + 0x50]
call fcn.28ca71ec0
jmp 0x28cab647f
mov rcx, qword [rsp + 0x38]
lea rdx, str.Add_symbols_to_symtabs
call fcn.28cb510a0
movups xmm1, xmmword [rsp + 0x248]
mov rcx, qword [rsp + 0x40]
movaps xmmword [rsp + 0xf0], xmm1
call fcn.28cb3de40
mov rax, qword [sym.liblldELF.dll_lld::elf::symtab]
mov rbp, qword [sym.liblldELF.dll_lld::elf::in]
mov rsi, qword [rax + 0xc8]
mov eax, dword [rax + 0xd0]
lea rdi, [rsi + rax*8]
cmp rdi, rsi
je 0x28cab6817
mov rbx, qword [rsi]
test byte [rbx + 0x18], 2
jne 0x28cab676a
add rsi, 8
jmp 0x28cab6752
mov rcx, rbx
call method.lld::elf.includeInSymtab_lld::elf::Symbol_const_
test al, al
je 0x28cab6764
cmp byte [r12 + 0x447], 0
jne 0x28cab6799
mov rcx, rbx
call method.lld::elf::Symbol.computeBinding___const
shl eax, 4
mov edx, eax
mov al, byte [rbx + 0x14]
and eax, 0xf
or eax, edx
mov byte [rbx + 0x14], al
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
jne 0x28cab67b3
mov rcx, rbx
call method.lld::elf::Symbol.includeInDynsym___const
test al, al
je 0x28cab6764
jmp 0x28cab67bd
mov rdx, rbx
call method.lld::elf::SymbolTableBaseSection.addSymbol_lld::elf::Symbol_
jmp 0x28cab67a5
movzx eax, byte [rbx + 0x17]
mov rdx, qword [sym.liblldELF.dll_lld::elf::partitions]
dec eax
cdqe
imul rax, rax, 0xc0
add rax, qword [rdx]
mov rdx, rbx
mov rcx, qword [rax + 0x58]
call method.lld::elf::SymbolTableBaseSection.addSymbol_lld::elf::Symbol_
mov rcx, qword [rbx]
call method.auto_llvm::dyn_cast_if_present_lld::elf::SharedFile__lld::elf.InputFile__lld::elf::InputFile_
test rax, rax
je 0x28cab6764
cmp byte [rax + 0x120], 0
je 0x28cab6764
cmp byte [rbx + 0x16], 4
je 0x28cab6764
mov rcx, rbx
call method.lld::elf.addVerneed_lld::elf::Symbol_
jmp 0x28cab6764
mov rbp, qword [sym.liblldELF.dll_lld::elf::partitions]
lea rdi, [rsp + 0x220]
mov rax, qword [rbp]
mov r13, qword [rbp + 8]
lea rsi, [rax + 0xc0]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x48], rax
cmp r13, rsi
je 0x28cab68f9
mov rcx, rdi
call fcn.28cb4e610
mov rax, qword [rsi + 0x58]
mov r15d, dword [rax + 0xb0]
mov rbx, qword [rax + 0xa8]
shl r15, 4
add r15, rbx
cmp r15, rbx
je 0x28cab6887
mov rcx, qword [rsp + 0x48]
mov r8, rbx
mov rdx, rdi
call method.llvm::detail::DenseSetImpl_lld::elf::Symbol__llvm::DenseMap_lld::elf::Symbol__llvm::detail::DenseSetEmpty__llvm::DenseMapInfo_lld::elf::Symbol__void___llvm::detail::DenseSetPair_lld::elf::Symbol_____llvm::DenseMapInfo_lld::elf::Symbol__void___
add rbx, 0x10
jmp 0x28cab686c
mov rax, qword [rsi + 0x98]
mov r15d, dword [rax + 0xb8]
mov rbx, qword [rax + 0xb0]
shl r15, 6
add r15, rbx
cmp r15, rbx
je 0x28cab68e5
cmp qword [rbx], 0
je 0x28cab68df
mov eax, dword [rbx + 0x38]
sub eax, 2
cmp eax, 1
ja 0x28cab68df
mov rcx, qword [rsp + 0x38]
mov r8, rbx
mov rdx, rdi
call method.llvm::detail::DenseSetImpl_lld::elf::Symbol__llvm::DenseMap_lld::elf::Symbol__llvm::detail::DenseSetEmpty__llvm::DenseMapInfo_lld::elf::Symbol__void___llvm::detail::DenseSetPair_lld::elf::Symbol_____llvm::DenseMapInfo_lld::elf::Symbol__void___
cmp byte [rsp + 0x258], 0
je 0x28cab68df
mov rcx, qword [rsi + 0x58]
mov rdx, qword [rbx]
call method.lld::elf::SymbolTableBaseSection.addSymbol_lld::elf::Symbol_
add rbx, 0x40
jmp 0x28cab68a3
mov rcx, rdi
add rsi, 0xc0
call method.llvm::DenseMap_lld::elf::Symbol__llvm::detail::DenseSetEmpty__llvm::DenseMapInfo_lld::elf::Symbol__void___llvm::detail::DenseSetPair_lld::elf::Symbol___.DenseMap__
jmp 0x28cab6842
call fcn.28cb3e050
mov rax, qword [sym.liblldELF.dll_lld::elf::in]
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x28cab6913
call method.lld::elf::MipsGotSection.build__
call fcn.28ca93a20
mov rcx, qword [r14]
call method.lld::elf::LinkerScript.diagnoseOrphanHandling___const
mov rcx, qword [r14]
call method.lld::elf::LinkerScript.diagnoseMissingSGSectionAddress___const
mov rcx, qword [rsp + 0x38]
lea rdx, str.Sort_sections
call fcn.28cb510a0
movups xmm2, xmmword [rsp + 0x248]
mov rcx, qword [rsp + 0x40]
movaps xmmword [rsp + 0xf0], xmm2
call fcn.28cb3de40
cmp byte [r12 + 0x447], 0
je 0x28cab6985
mov rcx, qword [r14]
call method.lld::elf::LinkerScript.adjustOutputSections__
call fcn.28cb3e050
mov rax, qword [r14]
mov rbx, qword [sym.liblldELF.dll_lld::elf::outputSections]
mov rdi, qword [rax + 0x30]
mov eax, dword [rax + 0x38]
lea rsi, [rdi + rax*8]
jmp 0x28cab6da0
call fcn.28cab0a70
mov rax, qword [r14]
mov rbx, qword [rax + 0x30]
mov eax, dword [rax + 0x38]
lea rdi, [rbx + rax*8]
cmp rdi, rbx
je 0x28cab69bf
mov rcx, qword [rbx]
call fcn.28cb4a160
mov rsi, rax
test rax, rax
je 0x28cab69b9
lea rcx, [rax + 8]
call fcn.28ca889c0
mov dword [rsi + 0x3c], eax
add rbx, 8
jmp 0x28cab6998
mov rax, qword [r14]
cmp byte [rax + 0x50], 0
je 0x28cab69d5
mov rcx, qword [r14]
call method.lld::elf::LinkerScript.processInsertCommands__
jmp 0x28cab6ace
mov rsi, qword [rax + 0x30]
mov eax, dword [rax + 0x38]
shl rax, 3
lea rbx, [rsi + rax]
sar rax, 5
test rax, rax
je 0x28cab6a2b
mov rdx, qword [rsi]
cmp dword [rdx], 1
jne 0x28cab6a65
mov rdx, qword [rsi + 8]
cmp dword [rdx], 1
je 0x28cab6a04
add rsi, 8
jmp 0x28cab6a65
mov rdx, qword [rsi + 0x10]
cmp dword [rdx], 1
je 0x28cab6a13
add rsi, 0x10
jmp 0x28cab6a65
mov rdx, qword [rsi + 0x18]
cmp dword [rdx], 1
je 0x28cab6a22
add rsi, 0x18
jmp 0x28cab6a65
add rsi, 0x20
dec rax
jmp 0x28cab69e8
mov rax, rbx
sub rax, rsi
cmp rax, 0x10
je 0x28cab6a51
cmp rax, 0x18
je 0x28cab6a45
cmp rax, 8
je 0x28cab6a5d
jmp 0x28cab6ab3
mov rax, qword [rsi]
cmp dword [rax], 1
jne 0x28cab6a65
add rsi, 8
mov rax, qword [rsi]
cmp dword [rax], 1
jne 0x28cab6a65
add rsi, 8
mov rax, qword [rsi]
cmp dword [rax], 1
je 0x28cab6ab3
cmp rbx, rsi
je 0x28cab6ab3
mov rdx, rbx
mov rcx, qword [rsp + 0x38]
sub rdx, rsi
sar rdx, 3
call fcn.28cb85220
mov rax, qword [rsp + 0x250]
mov rdx, rbx
mov rcx, rsi
mov r9, qword [rsp + 0x258]
mov r8, qword [rsp + 0x248]
mov qword [rsp + 0x20], rax
call fcn.28cbb05b0
mov rcx, qword [rsp + 0x38]
mov rbx, rax
call method.std::_Temporary_buffer_lld::elf::SectionCommand__lld::elf::SectionCommand_._Temporary_buffer__
mov rax, qword [r14]
lea r8, [0x28ca89a10]
mov rdx, rbx
mov rcx, qword [rax + 0x30]
call method.void_std::stable_sort_lld::elf.SectionCommand__bool____lld::elf::SectionCommand_const__lld::elf::SectionCommand_const___lld::elf::SectionCommand__lld::elf::SectionCommand__bool____lld::elf::SectionCommand_const__lld::elf::SectionCommand_
jmp 0x28cab69c8
mov rcx, qword [r14]
call method.lld::elf::LinkerScript.adjustOutputSections__
mov rax, qword [r14]
cmp byte [rax + 0x50], 0
jne 0x28cab6aec
mov rcx, qword [r14]
call method.lld::elf::LinkerScript.adjustSectionsAfterSorting__
jmp 0x28cab6966
mov r13d, dword [rax + 0x38]
mov rsi, qword [rax + 0x30]
shl r13, 3
mov rbx, rsi
lea rdi, [rsi + r13]
sar r13, 5
mov r8, r13
test r8, r8
je 0x28cab6b5d
mov rcx, qword [rbx]
call fcn.28cb51620
test al, al
jne 0x28cab6ba8
mov rcx, qword [rbx + 8]
call fcn.28cb51620
test al, al
je 0x28cab6b2e
add rbx, 8
jmp 0x28cab6ba8
mov rcx, qword [rbx + 0x10]
call fcn.28cb51620
test al, al
je 0x28cab6b41
add rbx, 0x10
jmp 0x28cab6ba8
mov rcx, qword [rbx + 0x18]
call fcn.28cb51620
test al, al
je 0x28cab6b54
add rbx, 0x18
jmp 0x28cab6ba8
add rbx, 0x20
dec r8
jmp 0x28cab6b06
mov rax, rdi
sub rax, rbx
cmp rax, 0x10
je 0x28cab6b8a
cmp rax, 0x18
je 0x28cab6b7a
cmp rax, 8
je 0x28cab6b9a
mov rbx, rdi
jmp 0x28cab6ba8
mov rcx, qword [rbx]
call fcn.28cb51620
test al, al
jne 0x28cab6ba8
add rbx, 8
mov rcx, qword [rbx]
call fcn.28cb51620
test al, al
jne 0x28cab6ba8
add rbx, 8
mov rcx, qword [rbx]
call fcn.28cb51620
test al, al
cmove rbx, rdi
lea r8, [0x28ca89a10]
mov rdx, rdi
mov rcx, rbx
call method.void_std::stable_sort_lld::elf.SectionCommand__bool____lld::elf::SectionCommand_const__lld::elf::SectionCommand_const___lld::elf::SectionCommand__lld::elf::SectionCommand__bool____lld::elf::SectionCommand_const__lld::elf::SectionCommand_
test r13, r13
je 0x28cab6c11
mov rcx, qword [rsi]
call fcn.28cb51600
test al, al
jne 0x28cab6c57
mov rcx, qword [rsi + 8]
call fcn.28cb51600
test al, al
je 0x28cab6be2
add rsi, 8
jmp 0x28cab6c57
mov rcx, qword [rsi + 0x10]
call fcn.28cb51600
test al, al
je 0x28cab6bf5
add rsi, 0x10
jmp 0x28cab6c57
mov rcx, qword [rsi + 0x18]
call fcn.28cb51600
test al, al
je 0x28cab6c08
add rsi, 0x18
jmp 0x28cab6c57
add rsi, 0x20
dec r13
jmp 0x28cab6bba
mov rax, rdi
sub rax, rsi
cmp rax, 0x10
je 0x28cab6c3b
cmp rax, 0x18
je 0x28cab6c2b
cmp rax, 8
je 0x28cab6c4b
jmp 0x28cab6c6a
mov rcx, qword [rsi]
call fcn.28cb51600
test al, al
jne 0x28cab6c57
add rsi, 8
mov rcx, qword [rsi]
call fcn.28cb51600
test al, al
jne 0x28cab6c57
add rsi, 8
mov rcx, qword [rsi]
call fcn.28cb51600
test al, al
je 0x28cab6c6a
cmp rdi, rsi
je 0x28cab6c93
mov rax, qword [rsi]
cmp dword [rax], 0
jne 0x28cab6c93
add rsi, 8
jmp 0x28cab6c93
mov rsi, rdi
jmp 0x28cab6c93
add r13, 0x20
dec rdx
test rdx, rdx
jle 0x28cab6cf0
mov r8, qword [r13]
cmp eax, dword [r8 + 0x3c]
je 0x28cab6cc0
mov rdx, rbx
mov r8, r13
mov rbx, r13
call method.lld::elf::SectionCommand_std::_V2::rotate_lld::elf.SectionCommand__lld::elf::SectionCommand__lld::elf::SectionCommand__lld::elf::SectionCommand_
cmp rdi, rbx
je 0x28cab6adf
mov rdx, rbx
mov rcx, rsi
lea r13, [rbx + 8]
call fcn.28ca86fa0
mov rdx, rdi
mov rcx, rax
mov rax, qword [rbx]
sub rdx, r13
sar rdx, 5
mov eax, dword [rax + 0x3c]
jmp 0x28cab6c76
mov r8, qword [r13 + 8]
cmp eax, dword [r8 + 0x3c]
je 0x28cab6cd0
add r13, 8
jmp 0x28cab6c85
mov r8, qword [r13 + 0x10]
cmp eax, dword [r8 + 0x3c]
je 0x28cab6ce0
add r13, 0x10
jmp 0x28cab6c85
mov r8, qword [r13 + 0x18]
cmp eax, dword [r8 + 0x3c]
je 0x28cab6c6f
add r13, 0x18
jmp 0x28cab6c85
mov rdx, rdi
sub rdx, r13
cmp rdx, 0x10
je 0x28cab6d21
cmp rdx, 0x18
je 0x28cab6d10
cmp rdx, 8
je 0x28cab6d32
mov r13, rdi
jmp 0x28cab6c85
mov rdx, qword [r13]
cmp eax, dword [rdx + 0x3c]
jne 0x28cab6c85
add r13, 8
mov rdx, qword [r13]
cmp eax, dword [rdx + 0x3c]
jne 0x28cab6c85
add r13, 8
mov rdx, qword [r13]
cmp eax, dword [rdx + 0x3c]
cmove r13, rdi
jmp 0x28cab6c85
mov rcx, qword [rdi]
call fcn.28cb4a160
mov r13, rax
test rax, rax
je 0x28cab6d9c
lea r15, [rax + 8]
mov rcx, rbx
mov rdx, r15
call method.llvm::SmallVectorTemplateBase_lld::elf::OutputSection__true_.push_back_lld::elf::OutputSection_
mov eax, dword [rbx + 8]
movups xmm3, xmmword [r13 + 0x10]
mov r8d, 1
mov rdx, qword [rsp + 0x40]
mov dword [r13 + 0x38], eax
mov rax, qword [sym.liblldELF.dll_lld::elf::in]
movaps xmmword [rsp + 0xf0], xmm3
mov rcx, qword [rax + 0xb8]
call method.lld::elf::StringTableSection.addString_llvm::StringRef__bool_
mov dword [r13 + 0x68], eax
add rdi, 8
cmp rsi, rdi
jne 0x28cab6d47
mov r15, qword [sym.liblldELF.dll_lld::elf::outputSections]
lea rdi, [0x28cb82fb0]
lea r13, [0x28cb82f80]
mov r14, qword [r15]
mov eax, dword [r15 + 8]
lea rax, [r14 + rax*8]
mov qword [rsp + 0x50], rax
lea rax, [r12 + 0x60]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x50], r14
je 0x28cab6e4c
mov rbx, qword [r14]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
movups xmm4, xmmword [rbx + 8]
movaps xmmword [rsp + 0xf0], xmm4
call method.llvm::StringMap_unsigned_long_long__llvm::MallocAllocator_.find_llvm::StringRef_
mov rcx, qword [rsp + 0x48]
mov rsi, rax
call method.llvm::StringMap_unsigned_long_long__llvm::MallocAllocator_.end__
cmp rsi, rax
je 0x28cab6e46
mov rcx, qword [rsp + 0x38]
xor r10d, r10d
lea rdx, [rbx + 0x78]
mov qword [rsp + 0x248], rsi
mov qword [rsp + 0x250], r10
mov qword [rsp + 0x260], rdi
mov qword [rsp + 0x258], r13
call method.std::function_lld::elf.ExprValue____::swap_std::function_lld::elf::ExprValue_____
mov rcx, qword [rsp + 0x38]
call method.std::_Function_base._Function_base__
add r14, 8
jmp 0x28cab6dd4
cmp word [r12 + 0x4f2], 0xa4
jne 0x28cab6f26
mov rdx, qword [r15]
mov eax, dword [r15 + 8]
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], rax
call method.lld::elf.hexagonNeedsTLSSymbol_llvm::ArrayRef_lld::elf::OutputSection__
test al, al
je 0x28cab6f26
mov rax, qword [sym.liblldELF.dll_lld::elf::ctx]
lea rcx, [rsp + 0x220]
lea rdx, str.__tls_get_addr
mov rbx, qword [rax + 0x180]
call fcn.28cb510a0
mov rax, qword [rsp + 0x220]
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
mov rcx, qword [sym.liblldELF.dll_lld::elf::symtab]
and word [rsp + 0x260], 0xeff7
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x248], rbx
mov dword [rsp + 0x258], eax
mov word [rsp + 0x25c], 0x10
mov byte [rsp + 0x25e], 4
mov dword [rsp + 0x270], r9d
mov byte [rsp + 0x274], 0
call method.lld::elf::Symbol_lld::elf::SymbolTable::addSymbol_lld::elf.Undefined__lld::elf::Undefined_const_
or byte [rax + 0x18], 1
mov rdx, rax
mov rax, qword [rbp]
mov rcx, qword [rax + 0x58]
call method.lld::elf::SymbolTableBaseSection.addSymbol_lld::elf::Symbol_
cmp byte [r12 + 0x447], 0
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::elfHeader]
mov rax, qword [rax]
mov dword [rax + 0x30], 1
mov qword [rax + 0x48], 0x40
je 0x28cab6fa5
call fcn.28cab1860
lea rax, [rsp + 0x248]
lea rdx, str.Finalize_synthetic_sections
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.28cb510a0
lea rax, [rsp + 0xf0]
movups xmm5, xmmword [rsp + 0x248]
mov rcx, rax
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0xf0], xmm5
call fcn.28cb3de40
mov rbx, qword [sym.liblldELF.dll_lld::elf::in]
mov rcx, qword [rbx + 0x10]
call fcn.28ca8bc90
jmp 0x28cab7796
cmp byte [r12 + 0x43a], 0
jne 0x28cab6f4a
mov rax, qword [rbp + 8]
mov rbx, qword [rbp]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], rbx
je 0x28cab774d
mov rax, qword [sym.liblldELF.dll_lld::elf::script]
lea rcx, [rsp + 0x188]
mov rdx, qword [rax]
cmp dword [rdx + 0x48], 0
je 0x28cab6fea
call method.lld::elf::LinkerScript.createPhdrs__
jmp 0x28cab76a0
xor r8d, r8d
mov qword [rsp + 0x168], rcx
lea rax, [rsp + 0x198]
mov rcx, rbx
mov qword [rsp + 0x188], rax
lea rdi, [rsp + 0x248]
mov qword [rsp + 0x190], r8
call method.lld::elf::Partition.getNumber___const
mov ecx, 4
mov r15d, eax
call fcn.28ca85180
mov qword [rsp + 0x40], rax
mov rax, qword [sym.liblldELF.dll_lld::elf::config]
cmp byte [rax + 0x436], 0
je 0x28cab7046
xor esi, esi
jmp 0x28cab7135
mov rax, qword [sym.liblldELF.dll_lld::elf::config]
cmp byte [rax + 0x43b], 0
jne 0x28cab703f
cmp r15d, 1
mov r8d, 4
mov edx, 6
lea rbp, [rsp + 0x168]
mov rcx, rbp
jne 0x28cab7086
call fcn.28cbb76e0
mov rcx, rax
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::programHeaders]
mov rdx, qword [rax]
jmp 0x28cab7096
call fcn.28cbb76e0
mov rcx, rax
mov rax, qword [rbx + 0x20]
mov rdx, qword [rax + 0x40]
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
lea rdx, str..interp
mov rcx, rdi
call fcn.28cb510a0
movups xmm0, xmmword [rsp + 0x248]
lea rcx, [rsp + 0xf0]
mov edx, r15d
movaps xmmword [rsp + 0xf0], xmm0
call fcn.28ca7f1e0
mov rsi, rax
test rax, rax
je 0x28cab70f5
mov rcx, rax
call method.lld::elf::OutputSection.getPhdrFlags___const
mov r8d, eax
mov edx, 3
mov rcx, rbp
call fcn.28cbb76e0
mov rcx, rax
mov rdx, rsi
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
cmp r15d, 1
jne 0x28cab703f
mov r8d, dword [rsp + 0x40]
mov edx, 1
mov rcx, rbp
call fcn.28cbb76e0
mov rsi, rax
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::elfHeader]
mov rcx, rsi
mov rdx, qword [rax]
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::programHeaders]
mov rdx, qword [rax]
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
lea rdx, [rsp + 0x220]
mov rcx, rdi
mov dword [rsp + 0x220], 4
mov dword [rsp + 0x248], 0x6474e552
call fcn.28cb30460
mov qword [rsp + 0x38], rax
mov rax, qword [sym.liblldELF.dll_lld::elf::outputSections]
xor r13d, r13d
xor r14d, r14d
mov rdi, qword [rax]
mov eax, dword [rax + 8]
lea rax, [rdi + rax*8]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], rdi
je 0x28cab7283
mov r12, qword [rdi]
movzx eax, byte [r12 + 1]
cmp r15d, eax
jne 0x28cab727a
mov rcx, r12
call fcn.28ca7f5b0
test al, al
je 0x28cab727a
call fcn.28ca88e80
mov ebp, eax
test al, al
je 0x28cab726f
test r14, r14
jne 0x28cab71cf
mov rcx, qword [rsp + 0x38]
mov rdx, r12
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
jmp 0x28cab726a
lea r13, [rsp + 0x1d0]
lea r8, [rsp + 0x220]
lea rdx, str._sections
mov rcx, r13
lea rax, str.section:
call fcn.28cb463c0
mov rcx, r8
lea rdx, str._is_not_contiguous_with_other_relro
call fcn.28cb463c0
mov qword [rsp + 0x248], rax
mov rax, qword [r12 + 8]
lea rdx, [rsp + 0x248]
mov word [rsp + 0x268], 0x503
mov qword [rsp + 0x258], rax
mov rax, qword [r12 + 0x10]
lea r12, [rsp + 0x1f8]
mov rcx, r12
mov qword [rsp + 0x260], rax
call method.llvm::Twine.concat_llvm::Twine_const__const
lea rcx, [rsp + 0x1a8]
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x58], rcx
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, qword [rsp + 0x58]
call fcn.28ca715f8
mov r13d, ebp
jmp 0x28cab727a
test r13b, r13b
je 0x28cab727a
mov r14, r12
xor r13d, r13d
add rdi, 8
jmp 0x28cab717c
mov rax, qword [rsp + 0x38]
mov r13, qword [sym.liblldELF.dll_lld::elf::outputSections]
mov dword [rax + 0x28], 1
mov rbp, qword [r13]
mov eax, dword [r13 + 8]
lea rax, [rbp + rax*8]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x168]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x50], rbp
je 0x28cab73d6
mov rdi, qword [rbp]
mov rcx, rdi
call fcn.28ca7f5b0
test al, al
je 0x28cab73cd
movzx edx, byte [rdi + 1]
mov eax, edx
cmp r15d, edx
je 0x28cab731d
cmp r15d, 1
jne 0x28cab73cd
inc al
jne 0x28cab73cd
call method.lld::elf::OutputSection.getPhdrFlags___const
mov ecx, eax
call fcn.28ca85180
lea rcx, [rsp + 0x168]
mov edx, 1
mov r8d, eax
call fcn.28cbb76e0
mov rcx, rax
mov rdx, rdi
jmp 0x28cab73c8
call method.lld::elf::OutputSection.getPhdrFlags___const
mov ecx, eax
call fcn.28ca85180
mov r12, rax
xor eax, eax
test rsi, rsi
je 0x28cab734c
cmp qword [rdi + 0xc8], 0
jne 0x28cab734c
mov rax, qword [rsi + 0x38]
mov rdx, qword [rdi + 0x70]
cmp qword [rax + 0x70], rdx
sete al
test rsi, rsi
sete dl
cmp r14, rdi
sete cl
or dl, cl
jne 0x28cab73a8
mov rdx, qword [rsp + 0x40]
cmp r12, rdx
jne 0x28cab73a8
mov rdx, qword [rsi + 0x38]
mov rdx, qword [rdx + 0x68]
cmp qword [rdi + 0x68], rdx
jne 0x28cab73a8
test al, al
jne 0x28cab7388
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::programHeaders]
mov rax, qword [rax]
cmp qword [rsi + 0x40], rax
jne 0x28cab73a8
mov rax, qword [sym.liblldELF.dll_lld::elf::script]
mov rax, qword [rax]
cmp byte [rax + 0x50], 0
jne 0x28cab73c2
cmp dword [rdi + 4], 8
je 0x28cab73c2
mov rax, qword [rsi + 0x40]
cmp dword [rax + 4], 8
jne 0x28cab73c2
mov rcx, qword [rsp + 0x58]
mov r8d, r12d
mov edx, 1
call fcn.28cbb76e0
mov qword [rsp + 0x40], r12
mov rsi, rax
mov rdx, rdi
mov rcx, rsi
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
add rbp, 8
jmp 0x28cab72b5
lea rsi, [rsp + 0x248]
lea rdx, [rsp + 0x220]
mov dword [rsp + 0x220], 4
mov dword [rsp + 0x248], 7
mov rcx, rsi
call fcn.28cb30460
mov rcx, rax
mov rax, qword [sym.liblldELF.dll_lld::elf::outputSections]
mov r9, qword [rax]
mov eax, dword [rax + 8]
lea r10, [r9 + rax*8]
cmp r10, r9
je 0x28cab743a
mov rdx, qword [r9]
movzx eax, byte [rdx + 1]
cmp r15d, eax
jne 0x28cab7434
test byte [rdx + 0x19], 4
je 0x28cab7434
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
add r9, 8
jmp 0x28cab7418
cmp qword [rcx + 0x38], 0
jne 0x28cab7450
mov rax, qword [rbx + 0x48]
mov rdi, qword [rax + 0x40]
test rdi, rdi
jne 0x28cab7465
jmp 0x28cab748d
lea rax, [rsp + 0x188]
mov rdx, rcx
mov rcx, rax
call method.llvm::SmallVectorTemplateBase_lld::elf::PhdrEntry__true_.push_back_lld::elf::PhdrEntry_
jmp 0x28cab7441
mov rcx, rdi
call method.lld::elf::OutputSection.getPhdrFlags___const
mov r8d, eax
lea rcx, [rsp + 0x168]
mov edx, 2
call fcn.28cbb76e0
mov rcx, rax
mov rdx, rdi
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x38], 0
jne 0x28cab74a8
mov rdx, qword [rbx + 0x68]
cmp dword [rdx + 0xb0], 0
jne 0x28cab74bc
jmp 0x28cab74ff
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x188]
call method.llvm::SmallVectorTemplateBase_lld::elf::PhdrEntry__true_.push_back_lld::elf::PhdrEntry_
jmp 0x28cab7499
mov rax, qword [rbx + 0x60]
test rax, rax
je 0x28cab74ff
cmp qword [rdx + 0x40], 0
je 0x28cab74ff
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x28cab74ff
call method.lld::elf::OutputSection.getPhdrFlags___const
mov r8d, eax
lea rcx, [rsp + 0x168]
mov edx, 0x6474e550
call fcn.28cbb76e0
mov rcx, rax
mov rax, qword [rbx + 0x60]
mov rdx, qword [rax + 0x40]
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
lea rdx, str..openbsd.randomdata
mov rcx, rsi
lea rbp, [rsp + 0xf0]
call fcn.28cb510a0
movups xmm1, xmmword [rsp + 0x248]
mov edx, r15d
mov rcx, rbp
movaps xmmword [rsp + 0xf0], xmm1
call fcn.28ca7f1e0
mov rdi, rax
test rax, rax
je 0x28cab7561
mov rcx, rax
call method.lld::elf::OutputSection.getPhdrFlags___const
mov r8d, eax
lea rcx, [rsp + 0x168]
mov edx, 0x65a3dbe6
call fcn.28cbb76e0
mov rcx, rax
mov rdx, rdi
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
mov rdi, qword [sym.liblldELF.dll_lld::elf::config]
mov eax, dword [rdi + 0x4c0]
test eax, eax
je 0x28cab759b
dec eax
lea rcx, [rsp + 0x168]
mov edx, 0x6474e551
mov r12, qword [rdi + 0x520]
sete al
movzx eax, al
lea r8d, [rax + 6]
call fcn.28cbb76e0
mov qword [rax + 0x10], r12
cmp byte [rdi + 0x4bb], 0
jne 0x28cab75d8
mov rcx, rsi
lea rdx, str..note.gnu.property
call fcn.28cb510a0
movups xmm2, xmmword [rsp + 0x248]
mov edx, r15d
mov rcx, rbp
movaps xmmword [rsp + 0xf0], xmm2
call fcn.28ca7f1e0
mov rsi, rax
test rax, rax
jne 0x28cab75f2
jmp 0x28cab7615
lea rcx, [rsp + 0x168]
mov r8d, 1
mov edx, 0x65a3dbe7
call fcn.28cbb76e0
jmp 0x28cab75a4
lea rcx, [rsp + 0x168]
mov r8d, 4
mov edx, 0x6474e553
call fcn.28cbb76e0
mov rcx, rax
mov rdx, rsi
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
mov rsi, qword [r13]
mov eax, dword [r13 + 8]
xor ecx, ecx
lea rbp, [rsi + rax*8]
cmp rbp, rsi
je 0x28cab76a0
mov rdi, qword [rsi]
movzx eax, byte [rdi + 1]
cmp r15d, eax
jne 0x28cab7682
cmp dword [rdi + 4], 7
jne 0x28cab7680
test byte [rdi + 0x18], 2
je 0x28cab7680
test rcx, rcx
je 0x28cab765b
cmp qword [rdi + 0xc8], 0
jne 0x28cab765b
mov rax, qword [rcx + 0x40]
mov edx, dword [rdi + 0x20]
cmp dword [rax + 0x20], edx
je 0x28cab7676
lea rcx, [rsp + 0x168]
mov r8d, 4
mov edx, 4
call fcn.28cbb76e0
mov rcx, rax
mov rdx, rdi
call method.lld::elf::PhdrEntry.add_lld::elf::OutputSection_
jmp 0x28cab7682
xor ecx, ecx
add rsi, 8
jmp 0x28cab7623
lea rsi, [rsp + 0x188]
lea rcx, [rbx + 0x28]
mov rdx, rsi
call fcn.28cb340f0
mov rcx, rsi
call method.llvm::SmallVectorImpl_lld::elf::PhdrEntry_.SmallVectorImpl__
mov rsi, qword [sym.liblldELF.dll_lld::elf::config]
cmp word [rsi + 0x4f2], 0x28
jne 0x28cab76e0
mov r8d, 0x70000001
mov edx, 0x70000001
mov rcx, rbx
call fcn.28cab5760
cmp word [rsi + 0x4f2], 8
jne 0x28cab7723
mov r8d, 0x70000000
mov edx, 0x70000006
mov rcx, rbx
call fcn.28cab5760
mov r8d, 0x70000002
mov edx, 0x7000000d
mov rcx, rbx
call fcn.28cab5760
mov r8d, 0x70000003
mov edx, 0x7000002a
mov rcx, rbx
call fcn.28cab5760
cmp word [rsi + 0x4f2], 0xf3
jne 0x28cab7741
mov r8d, 0x70000003
mov edx, 0x70000003
mov rcx, rbx
call fcn.28cab5760
add rbx, 0xc0
jmp 0x28cab6fbd
mov rax, qword [sym.liblldELF.dll_lld::elf::mainPart]
mov rcx, qword [sym.liblldELF.dll_lld::elf::Out::programHeaders]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov edx, dword [rax + 0x30]
mov rax, qword [rax + 0x28]
imul r8, rdx, 0x38
mov qword [rcx + 0x48], r8
mov r8, qword [sym.liblldELF.dll_lld::elf::Out::tlsPhdr]
lea rcx, [rax + rdx*8]
cmp rax, rcx
je 0x28cab6f4a
mov rdx, qword [rax]
cmp dword [rdx + 0x2c], 7
jne 0x28cab7790
mov qword [r8], rdx
add rax, 8
jmp 0x28cab777b
mov rcx, qword [rbx + 0x18]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0xd0]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0xb8]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0xc0]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x20]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x58]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x30]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x28]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0xb0]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0xa8]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x88]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x90]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x98]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x80]
call fcn.28ca8bc90
mov rdi, qword [sym.liblldELF.dll_lld::elf::partitions]
mov rbp, qword [rdi + 8]
mov rsi, qword [rdi]
cmp rsi, rbp
je 0x28cab78ed
mov rcx, qword [rsi + 0x98]
test rcx, rcx
jne 0x28cab7860
mov rcx, qword [rsi + 0xa0]
test rcx, rcx
jne 0x28cab787f
jmp 0x28cab7890
call method.lld::elf::RelocationBaseSection.mergeRels__
mov rcx, qword [rsi + 0x98]
call method.lld::elf::RelocationBaseSection.partitionRels__
mov rcx, qword [rsi + 0x98]
call fcn.28ca8bc90
jmp 0x28cab7852
call method.lld::elf::RelrBaseSection.mergeRels__
mov rcx, qword [rsi + 0xa0]
call fcn.28ca8bc90
mov rcx, qword [rsi + 0x58]
call fcn.28ca8bc90
mov rcx, qword [rsi + 0x70]
call fcn.28ca8bc90
mov rcx, qword [rsi + 0x78]
call fcn.28ca8bc90
mov rcx, qword [rsi + 0xa8]
call fcn.28ca8bc90
mov rcx, qword [rsi + 0x60]
call fcn.28ca8bc90
mov rcx, qword [rsi + 0xb8]
call fcn.28ca8bc90
mov rcx, qword [rsi + 0xb0]
call fcn.28ca8bc90
mov rcx, qword [rsi + 0x48]
call fcn.28ca8bc90
add rsi, 0xc0
jmp 0x28cab783d
call fcn.28cb3e050
mov rax, qword [sym.liblldELF.dll_lld::elf::script]
mov rax, qword [rax]
cmp byte [rax + 0x50], 0
je 0x28cab7921
call fcn.28cab1af0
call fcn.28ca716d8
mov rsi, qword [sym.liblldELF.dll_lld::elf::outputSections]
test rax, rax
jne 0x28cab7bbb
jmp 0x28cab7b06
mov rax, qword [sym.liblldELF.dll_lld::elf::config]
cmp byte [rax + 0x447], 0
jne 0x28cab7902
mov r12, qword [rdi + 8]
mov rdi, qword [rdi]
lea r13, [0x28cb83470]
lea r14, [0x28cb83440]
cmp rdi, r12
je 0x28cab7902
mov rsi, qword [rdi + 0x28]
mov eax, dword [rdi + 0x30]
xor r9d, r9d
lea r15, [rsi + rax*8]
cmp rsi, r15
je 0x28cab7afa
mov rbp, qword [rsi]
cmp dword [rbp + 0x2c], 1
jne 0x28cab7af1
mov r8, qword [rbp + 0x38]
test r8, r8
je 0x28cab7af1
xor ecx, ecx
mov eax, dword [r8 + 0x20]
xor edx, edx
mov qword [rsp + 0x50], r9
mov dword [rsp + 0x254], ecx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x24c], rdx
lea rdx, [r8 + 0x98]
mov qword [rsp + 0x48], r8
mov dword [rsp + 0x248], eax
mov qword [rsp + 0x260], r13
mov qword [rsp + 0x258], r14
call method.std::function_lld::elf.ExprValue____::swap_std::function_lld::elf::ExprValue_____
mov rcx, qword [rsp + 0x38]
call method.std::_Function_base._Function_base__
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
cmp qword [r8 + 0x88], 0
jne 0x28cab7aee
mov rax, qword [sym.liblldELF.dll_lld::elf::config]
lea rdx, [r8 + 0x78]
mov eax, dword [rax + 0x4ec]
cmp eax, 2
je 0x28cab7a1b
dec eax
jne 0x28cab7a11
test r9, r9
je 0x28cab7a11
mov eax, dword [r9 + 0x30]
xor eax, dword [rbp + 0x30]
test al, 1
jne 0x28cab7a1b
cmp dword [r8 + 4], 0x6fff4c06
jne 0x28cab7a48
xor eax, eax
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], rax
lea rax, [0x28cb83380]
mov qword [rsp + 0x260], rax
lea rax, [0x28cb83360]
jmp 0x28cab7ad2
mov rax, qword [sym.liblldELF.dll_lld::elf::Out::tlsPhdr]
mov rax, qword [rax]
test rax, rax
je 0x28cab7aaa
mov rcx, qword [rbp + 0x38]
cmp qword [rax + 0x38], rcx
jne 0x28cab7aaa
xor eax, eax
lea rcx, [rsp + 0x248]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], rax
lea rax, [0x28cb833c0]
mov qword [rsp + 0x260], rax
lea rax, [0x28cb833a0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x258], rax
call method.std::function_lld::elf.ExprValue____::swap_std::function_lld::elf::ExprValue_____
mov rcx, qword [rsp + 0x48]
jmp 0x28cab7ae9
xor eax, eax
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], rax
lea rax, [0x28cb83410]
mov qword [rsp + 0x260], rax
lea rax, [0x28cb833f0]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x258], rax
call method.std::function_lld::elf.ExprValue____::swap_std::function_lld::elf::ExprValue_____
mov rcx, qword [rsp + 0x38]
call method.std::_Function_base._Function_base__
mov r9, rbp
add rsi, 8
jmp 0x28cab7959
add rdi, 0xc0
jmp 0x28cab7946
mov rcx, qword [rsp + 0x38]
lea rdx, str.Finalize_synthetic_sections
call fcn.28cb510a0
movups xmm3, xmmword [rsp + 0x248]
mov rcx, qword [rsp + 0x40]
movaps xmmword [rsp + 0xf0], xmm3
call fcn.28cb3de40
mov rcx, qword [rbx + 0xc8]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x48]
call fcn.28ca8bc90
mov rcx, qword [rbx + 0x40]
call fcn.28ca8bc90
call fcn.28cb3e050
mov rdi, qword [sym.liblldELF.dll_lld::elf::config]
cmp byte [rdi + 0x43e], 0
je 0x28cab7b69
call fcn.28cab16a0
mov rbx, qword [rsi]
mov eax, dword [rsi + 8]
lea rbp, [rbx + rax*8]
cmp rbp, rbx
je 0x28cab7b86
mov rcx, qword [rbx]
add rbx, 8
call method.lld::elf::OutputSection.finalize__
jmp 0x28cab7b73
mov rax, qword [sym.liblldELF.dll_lld::elf::script]
mov rcx, qword [rax]
call method.lld::elf::LinkerScript.checkFinalScriptConditions___const
cmp word [rdi + 0x4f2], 0x28
jne 0x28cab7bbb
cmp byte [rdi + 0x562], 0
jne 0x28cab7bbb
cmp byte [rdi + 0x3f1], 0
je 0x28cab7bbb
call method.lld::elf.addArmInputSectionMappingSymbols__
call method.lld::elf.sortArmMappingSymbols__
call fcn.28cab01c0
mov rbx, qword [rsi]
mov eax, dword [rsi + 8]
lea rdi, [rbx + rax*8]
jmp 0x28cab7cc0
cmp rdi, rbx
je 0x28cab7cd3
mov rcx, qword [rbx]
add rbx, 8
call method.void_lld::elf::OutputSection::maybeCompress_llvm::object.ELFType__llvm::endianness_1__true_____
jmp 0x28cab7cc0
mov rax, qword [sym.liblldELF.dll_lld::elf::script]
mov rcx, qword [rax]
cmp byte [rcx + 0x50], 0
je 0x28cab7cf6
mov rax, qword [sym.liblldELF.dll_lld::elf::mainPart]
mov rdx, qword [rax]
add rdx, 0x28
call method.lld::elf::LinkerScript.allocateHeaders_llvm::SmallVector_lld::elf::PhdrEntry__0u__
mov rdi, qword [sym.liblldELF.dll_lld::elf::partitions]
mov rbp, qword [rdi + 8]
mov rbx, qword [rdi]
cmp rbp, rbx
je 0x28cab7d1b
lea rcx, [rbx + 0x28]
add rbx, 0xc0
call fcn.28ca8c070
jmp 0x28cab7d04
mov rbx, qword [sym.liblldELF.dll_lld::elf::config]
cmp byte [rbx + 0x43a], 0
jne 0x28cab7d3a
mov rcx, qword [rsp + 0x30]
call fcn.28cab5890
jmp 0x28cab7dc5
mov rbp, qword [rsi]
mov eax, dword [rsi + 8]
or r12, 0xffffffffffffffff
lea r15, [rbp + rax*8]
mov r14, rbp
cmp r15, r14
je 0x28cab7d76
mov r13, qword [r14]
mov rcx, r13
call fcn.28cbb76c0
test al, al
je 0x28cab7d70
call method.lld::elf::OutputSection.getLMA___const
cmp r12, rax
mov qword [r13 + 0x50], rax
cmova r12, rax
add r14, 8
jmp 0x28cab7d4c
mov rax, qword [rsp + 0x30]
xor r13d, r13d
mov qword [rax + 8], r13
cmp r15, rbp
je 0x28cab7dc5
mov rdx, qword [rbp]
mov rcx, rdx
call fcn.28cbb76c0
test al, al
je 0x28cab7dbf
mov rax, qword [rdx + 0x50]
sub rax, r12
mov qword [rdx + 0x50], rax
add rax, qword [rdx + 0x48]
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx + 8]
cmp rax, rdx
cmovb rax, rdx
mov rdx, qword [rsp + 0x30]
mov qword [rdx + 8], rax
add rbp, 8
jmp 0x28cab7d82
mov r12, qword [rdi + 8]
mov rbp, qword [rdi]
cmp rbp, r12
je 0x28cab7de2
mov rcx, rbp
add rbp, 0xc0
call fcn.28cab51e0
jmp 0x28cab7dcc
call method.lld::elf.writeMapAndCref__
cmp byte [rbx + 0x444], 0
je 0x28cab7e0a
mov rax, qword [sym.liblldELF.dll_lld::elf::script]
mov rbp, qword [rax]
call fcn.28ca71608
mov rdx, rax
mov rcx, rbp
call method.lld::elf::LinkerScript.printMemoryUsage_llvm::raw_ostream_
cmp byte [rbx + 0x3fc], 0
je 0x28cab7e18
call fcn.28cab5310
call fcn.28ca716d8
test rax, rax
jne 0x28cab88b3
mov rcx, qword [rsp + 0x38]
lea rdx, str.Write_output_file
call fcn.28cb510a0
movups xmm4, xmmword [rsp + 0x248]
mov rcx, qword [rsp + 0x40]
movaps xmmword [rsp + 0xf0], xmm4
call fcn.28cb3de40
cmp byte [rbx + 0x561], 0
mov eax, 0xffffffff
movabs rdx, 0x7fffffffffffffff
cmovne rax, rdx
mov rdx, qword [rsp + 0x30]
cmp rax, qword [rdx + 8]
jae 0x28cab7fcf
lea rax, [rsp + 0x1f8]
xor r11d, r11d
mov byte [rsp + 0x208], 0
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x208]
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x1f8], rax
lea rax, [rsp + 0x248]
mov rcx, rax
mov qword [rsp + 0x200], r11
mov qword [rsp + 0x38], rax
call fcn.28cb407c0
mov rcx, qword [rsp + 0x38]
lea rdx, str.output_file_too_large:
call method.llvm::raw_ostream.operator___char_const_
mov word [rsp + 0x240], 0x10d
mov rbp, rax
mov rax, qword [rsp + 0x30]
mov rdx, rbp
add rax, 8
mov qword [rsp + 0x220], rax
lea rax, [rsp + 0x220]
mov rcx, rax
mov qword [rsp + 0x48], rax
call fcn.28ca71a70
lea rdx, str._bytes_n
mov rcx, rbp
call method.llvm::raw_ostream.operator___char_const_
mov rcx, rax
lea rdx, str.section_sizes:_n
call method.llvm::raw_ostream.operator___char_const_
mov rbp, qword [rsi]
mov eax, dword [rsi + 8]
lea r14, [rsp + 0xf0]
lea r15, [0x28cbd3a22]
lea r13, [rbp + rax*8]
cmp rbp, r13
je 0x28cab7f92
mov r12, qword [rbp]
mov rcx, qword [rsp + 0x38]
mov rdx, r14
movups xmm5, xmmword [r12 + 8]
movaps xmmword [rsp + 0xf0], xmm5
call method.llvm::raw_ostream.operator___llvm::StringRef_
mov rcx, rax
mov edx, 0x20
call method.llvm::raw_ostream.operator___char_
mov rdx, qword [r12 + 0x48]
mov rcx, rax
call fcn.28ca71c88
mov rcx, rax
mov rdx, r15
call method.llvm::raw_ostream.operator___char_const_
add rbp, 8
jmp 0x28cab7f43
mov rax, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x48]
mov word [rsp + 0x240], 0x104
mov qword [rsp + 0x220], rax
call fcn.28ca715f8
mov rcx, qword [rsp + 0x38]
call method.llvm::raw_string_ostream.raw_string_ostream__
mov rcx, qword [rsp + 0x40]
call fcn.28ca71ec0
jmp 0x28cab814d
movups xmm0, xmmword [rbx + 0x168]
lea r12, [rsp + 0xf0]
mov rcx, r12
movaps xmmword [rsp + 0xf0], xmm0
call fcn.28ca716c8
mov r9b, byte [rbx + 0x447]
xor r9d, 1
cmp byte [rbx + 0x435], 0
movzx r9d, r9b
jne 0x28cab800a
or r9d, 2
movups xmm1, xmmword [rbx + 0x168]
mov rax, qword [rsp + 0x30]
lea rbp, [rsp + 0x168]
mov rdx, r12
mov rcx, rbp
movaps xmmword [rsp + 0xf0], xmm1
mov r8, qword [rax + 8]
call fcn.28ca71be8
test byte [rsp + 0x170], 1
je 0x28cab811b
lea r13, [rsp + 0x148]
mov rdx, rbp
lea r12, [rsp + 0x188]
mov rcx, r13
call method.llvm::Expected_std::unique_ptr_llvm::FileOutputBuffer__std::default_delete_llvm::FileOutputBuffer_____.takeError__
mov rdx, r13
mov rcx, r12
call fcn.28ca71ac8
lea r8, [rsp + 0x1d0]
lea rdx, [0x28cbd3a24]
mov word [rsp + 0x240], 0x104
mov rcx, r8
lea rax, str.failed_to_open
mov qword [rsp + 0x220], r12
lea r14, [rsp + 0x1f8]
call fcn.28cb463c0
mov qword [rsp + 0x1a8], rax
mov rax, qword [rbx + 0x168]
lea rdx, [rsp + 0x1a8]
mov rcx, r14
lea r13, [rsp + 0x248]
mov word [rsp + 0x1c8], 0x503
mov qword [rsp + 0x1b8], rax
mov rax, qword [rbx + 0x170]
mov qword [rsp + 0x1c0], rax
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, r13
lea r8, [rsp + 0x220]
mov rdx, r14
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, r13
call fcn.28ca715f8
mov rcx, r12
call fcn.28ca71ec0
mov rcx, qword [rsp + 0x148]
call fcn.28cb460a0
jmp 0x28cab8145
mov rax, qword [rsp + 0x30]
mov rdx, rbp
mov rcx, qword [rax]
call fcn.28cb7f700
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax]
mov rdx, qword [sym.liblldELF.dll_lld::elf::Out::bufferStart]
mov qword [rdx], rax
mov rcx, rbp
call method.llvm::Expected_std::unique_ptr_llvm::FileOutputBuffer__std::default_delete_llvm::FileOutputBuffer_____.Expected__
call fcn.28ca716d8
test rax, rax
je 0x28cab81a7
jmp 0x28cab8862
cmp byte [rbx + 0x43a], 0
jne 0x28cab83b8
cmp dword [rbx + 0x4ec], 0
je 0x28cab81c2
call fcn.28cab00c0
mov rbp, qword [sym.liblldELF.dll_lld::elf::mainPart]
mov r12, qword [sym.liblldELF.dll_lld::elf::Out::bufferStart]
mov rdx, qword [rbp]
mov rcx, qword [r12]
call method.void_lld::elf::writeEhdr_llvm::object.ELFType__llvm::endianness_1__true____unsigned_char__lld::elf::Partition_
mov rax, qword [r12]
mov rdx, qword [rbp]
lea rcx, [rax + 0x40]
call method.void_lld::elf::writePhdrs_llvm::object.ELFType__llvm::endianness_1__true____unsigned_char__lld::elf::Partition_
call fcn.28ca7dff0
mov r13, qword [r12]
mov word [r13 + 0x10], ax
call fcn.28ca855e0
mov qword [r13 + 0x18], rax
mov rax, qword [rsp + 0x30]
mov rbp, qword [rax + 0x10]
mov qword [r13 + 0x28], rbp
mov eax, dword [rsi + 8]
add rbp, qword [r12]
inc rax
cmp rax, 0xfeff
jbe 0x28cab822a
mov qword [rbp + 0x20], rax
jmp 0x28cab822f
mov word [r13 + 0x3c], ax
mov rax, qword [sym.liblldELF.dll_lld::elf::in]
mov rax, qword [rax + 0xb8]
mov rax, qword [rax + 0x40]
mov eax, dword [rax + 0x30]
cmp eax, 0xfeff
jbe 0x28cab8257
mov dword [rbp + 0x28], eax
mov word [r13 + 0x3e], 0xffff
jmp 0x28cab825c
mov word [r13 + 0x3e], ax
mov r13, qword [rsi]
mov eax, dword [rsi + 8]
lea r14, [r13 + rax*8]
cmp r13, r14
je 0x28cab8282
add rbp, 0x40
mov rcx, qword [r13]
mov rdx, rbp
call method.void_lld::elf::OutputSection::writeHeaderTo_llvm::object.ELFType__llvm::endianness_1__true____llvm::object::ELFType__llvm::endianness_1__true_::Shdr_
add r13, 8
jmp 0x28cab8267
lea rbp, [rsp + 0x248]
lea rdx, str.Write_sections
mov rcx, rbp
call fcn.28cb510a0
movups xmm2, xmmword [rsp + 0x248]
lea rcx, [rsp + 0xf0]
movaps xmmword [rsp + 0xf0], xmm2
call fcn.28cb3de40
mov rcx, rbp
call fcn.28ca71ad8
mov r13, qword [rsi]
mov eax, dword [rsi + 8]
lea r14, [r13 + rax*8]
cmp r13, r14
je 0x28cab82f7
mov rcx, qword [r13]
mov eax, dword [rcx + 4]
cmp eax, 9
je 0x28cab82e5
cmp eax, 4
je 0x28cab82e5
add r13, 8
jmp 0x28cab82c9
mov rdx, qword [rcx + 0x50]
mov r8, rbp
add rdx, qword [r12]
call method.void_lld::elf::OutputSection::writeTo_llvm::object.ELFType__llvm::endianness_1__true____unsigned_char__llvm::parallel::TaskGroup_
jmp 0x28cab82df
mov rcx, rbp
call fcn.28ca71ad0
mov rcx, rbp
call fcn.28ca71ad8
mov rax, qword [rsi]
mov edx, dword [rsi + 8]
mov rsi, rax
lea r13, [rax + rdx*8]
cmp rsi, r13
je 0x28cab8341
mov rcx, qword [rsi]
mov eax, dword [rcx + 4]
cmp eax, 9
je 0x28cab8329
cmp eax, 4
jne 0x28cab832f
add rsi, 8
jmp 0x28cab8314
mov rdx, qword [rcx + 0x50]
mov r8, rbp
add rdx, qword [r12]
call method.void_lld::elf::OutputSection::writeTo_llvm::object.ELFType__llvm::endianness_1__true____unsigned_char__llvm::parallel::TaskGroup_
jmp 0x28cab8329
mov rcx, rbp
call fcn.28ca71ad0
cmp byte [rbx + 0x3fd], 0
jne 0x28cab835c
call fcn.28cb3e050
jmp 0x28cab841c
cmp byte [rbx + 0x4a3], 0
je 0x28cab8352
mov rax, qword [sym.liblldELF.dll_lld::elf::outputSections]
mov rsi, qword [rax]
mov eax, dword [rax + 8]
lea rbp, [rsi + rax*8]
cmp rsi, rbp
je 0x28cab8352
mov rcx, qword [rsi]
mov eax, dword [rcx + 4]
cmp eax, 9
je 0x28cab8391
cmp eax, 4
je 0x28cab8391
add rsi, 8
jmp 0x28cab8376
mov rdx, qword [r12]
call method.lld::elf::OutputSection.checkDynRelAddends_unsigned_char_const_
jmp 0x28cab838b
lea rbp, [rsp + 0x248]
mov rcx, rbp
call fcn.28ca71ad8
mov rax, qword [rsi]
mov edx, dword [rsi + 8]
mov r13, qword [sym.liblldELF.dll_lld::elf::Out::bufferStart]
lea r12, [rax + rdx*8]
mov rsi, rax
cmp rsi, r12
je 0x28cab8402
mov rcx, qword [rsi]
test byte [rcx + 0x18], 2
jne 0x28cab83f0
add rsi, 8
jmp 0x28cab83dc
mov rdx, qword [rcx + 0x50]
mov r8, rbp
add rdx, qword [r13]
call method.void_lld::elf::OutputSection::writeTo_llvm::object.ELFType__llvm::endianness_1__true____unsigned_char__llvm::parallel::TaskGroup_
jmp 0x28cab83ea
mov rcx, rbp
call fcn.28ca71ad0
jmp 0x28cab841c
mov rax, qword [sym.liblldELF.dll_lld::elf::mainPart]
mov rax, qword [rax]
mov rax, qword [rax + 0x40]
test rax, rax
je 0x28cab8708
cmp qword [rax + 0x40], 0
je 0x28cab8708
cmp dword [rbx + 0x4e8], 4
jne 0x28cab8492
mov rbp, qword [rdi + 8]
mov rsi, qword [rdi]
lea rdi, [rsp + 0xa0]
cmp rbp, rsi
je 0x28cab8708
mov rdx, qword [rbx + 0x398]
mov rcx, qword [rsi + 0x40]
mov rax, qword [rbx + 0x3a0]
mov qword [rsp + 0xa0], rdx
mov rdx, rdi
mov qword [rsp + 0xa8], rax
call method.lld::elf::BuildIdSection.writeBuildId_llvm::ArrayRef_unsigned_char__
add rsi, 0xc0
jmp 0x28cab8456
mov rcx, qword [rax + 0xa8]
mov qword [rsp + 0x188], rcx
call sub.libstdc_6.dll_operator_new___unsigned_long_long_
mov rdx, qword [sym.liblldELF.dll_lld::elf::Out::bufferStart]
mov rbp, rax
mov qword [rsp + 0x1a8], rax
mov ecx, dword [rbx + 0x4e8]
mov rax, qword [rsp + 0x30]
mov r13, qword [rsp + 0x188]
mov rdx, qword [rdx]
mov rax, qword [rax + 8]
cmp ecx, 3
je 0x28cab85c4
jg 0x28cab8646
dec ecx
lea rsi, [rsp + 0x248]
lea r9, [rsp + 0xa0]
lea rcx, [rsp + 0x90]
jne 0x28cab855e
xor r10d, r10d
mov qword [rsp + 0xa0], rdx
mov r8, rsi
lea r11, [0x28cb83fb0]
mov qword [rsp + 0x248], r10
mov rdx, r9
mov qword [rsp + 0x250], r10
lea r10, [0x28cb83f90]
mov qword [rsp + 0x260], r11
mov qword [rsp + 0x258], r10
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa8], rax
call fcn.28ca7eb70
jmp 0x28cab863c
xor r8d, r8d
mov qword [rsp + 0xa0], rdx
lea r11, [0x28cb83ec0]
lea r10, [0x28cb83e90]
mov qword [rsp + 0x250], r8
lea r8, [rsp + 0x188]
mov rdx, r9
mov qword [rsp + 0x248], r8
mov r8, rsi
mov qword [rsp + 0x260], r11
mov qword [rsp + 0x258], r10
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa8], rax
call fcn.28ca7eb70
jmp 0x28cab863c
lea rsi, [0x28cb83f40]
xor ecx, ecx
mov qword [rsp + 0xa0], rdx
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x260], rsi
lea rsi, [0x28cb83f10]
mov qword [rsp + 0x250], rcx
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x258], rsi
lea rsi, [rsp + 0x248]
mov qword [rsp + 0x248], rcx
mov r8, rsi
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa8], rax
call fcn.28ca7eb70
mov rcx, rsi
call method.std::_Function_base._Function_base__
jmp 0x28cab86c2
lea r12, [rsp + 0x1d0]
mov r8, r13
mov rdx, rbp
mov rcx, r12
call fcn.28ca71c38
cmp dword [rsp + 0x1d0], 0
je 0x28cab86c2
lea rsi, [rsp + 0x1f8]
mov rdx, r12
mov rcx, rsi
call method.std::error_code.message_abi:cxx11____const
lea r12, [rsp + 0x220]
mov r8, rsi
lea rdx, str.entropy_source_failure:
mov rcx, r12
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____
lea rcx, [rsp + 0x248]
mov qword [rsp + 0x248], r12
mov word [rsp + 0x268], 0x104
call fcn.28ca715f8
mov rcx, r12
call fcn.28ca71ec0
mov rcx, rsi
call fcn.28ca71ec0
mov r12, qword [rdi + 8]
mov rsi, qword [rdi]
lea rdi, [rsp + 0xa0]
cmp r12, rsi
je 0x28cab86fb
mov rcx, qword [rsi + 0x40]
mov rdx, rdi
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xa8], r13
call method.lld::elf::BuildIdSection.writeBuildId_llvm::ArrayRef_unsigned_char__
add rsi, 0xc0
jmp 0x28cab86d1
lea rcx, [rsp + 0x1a8]
call method.std::unique_ptr_unsigned_char_____std::default_delete_unsigned_char______.unique_ptr__
call fcn.28ca716d8
test rax, rax
je 0x28cab8757
jmp 0x28cab8862
mov rax, qword [rsp + 0x30]
lea rcx, [rsp + 0x148]
mov rax, qword [rax]
mov rdx, qword [rax]
mov rax, qword [rdx]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x148]
test rax, rax
je 0x28cab884b
lea rdi, [rsp + 0x188]
mov qword [rsp + 0x168], rax
lea rdx, [rsp + 0x168]
xor eax, eax
mov rcx, rdi
mov qword [rsp + 0x148], rax
call fcn.28ca71ac8
lea r8, [rsp + 0x1d0]
lea rdx, [0x28cbd3a5f]
mov word [rsp + 0x240], 0x104
mov rcx, r8
mov qword [rsp + 0x220], rdi
lea rsi, str.failed_to_write_output_
lea rbx, [rsp + 0x248]
call fcn.28cb463c0
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov rax, qword [rax]
mov rdx, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x1a8], rsi
lea rsi, [rsp + 0x1f8]
mov word [rsp + 0x1c8], 0x503
mov rcx, rsi
mov qword [rsp + 0x1b8], rdx
lea rdx, [rsp + 0x1a8]
mov qword [rsp + 0x1c0], rax
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, rbx
lea r8, [rsp + 0x220]
mov rdx, rsi
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, rbx
call fcn.28ca715e8
xor ecx, ecx
call fcn.28cb460a0
cmp qword [rbx + 0x260], 0
je 0x28cab8862
call method.void_lld::elf::writeARMCmseImportLib_llvm::object.ELFType__llvm::endianness_1__true_____
nop
add rsp, 0x298
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.28cb3e050
add rsp, 0x298
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret