Function at 0x28cb09770
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, 0x188
lea rcx, [0x28cbc3037]
xor edi, edi
lea rax, [rsp + 0x158]
mov byte [rsp + 0x158], 0
lea rsi, [rsp + 0x88]
mov rdx, rax
mov qword [rsp + 0x30], rax
call method.lld::elf::StringTableSection_lld::make_lld::elf.StringTableSection__char_const_____10___bool__char_const_____10___bool_
mov rdx, qword [rsp + 0x30]
lea rcx, [0x28cbc3041]
mov byte [rsp + 0x158], 0
mov rbp, rax
call method.lld::elf::StringTableSection_lld::make_lld::elf.StringTableSection__char_const_____8___bool__char_const_____8___bool_
mov r8d, 8
lea r9, [method.lld::SpecificAlloc_lld::elf::SymbolTableSection_llvm::object.ELFType__llvm::endianness_0__true_____::create_void_]
mov edx, 0x68
lea rcx, [method.lld::SpecificAlloc_lld::elf::SymbolTableSection_llvm::object.ELFType__llvm::endianness_0__true_____::tag]
mov rbx, rax
call fcn.28ca71690
mov r8d, 8
mov edx, 0xf8
lea rcx, [rax + 8]
call method.llvm::BumpPtrAllocatorImpl_llvm::MallocAllocator__4096ull__4096ull__128ull_.Allocate_unsigned_long_long__unsigned_long_long_
mov rdx, rbx
mov rcx, rax
mov r12, rax
call fcn.28cb00860
mov dword [rsp + 0x158], edi
mov r8, qword [rsp + 0x30]
xor r11d, r11d
mov dword [rsp + 0x130], edi
lea rax, [rsp + 0x78]
lea rcx, [rbx + 0x10]
lea rdi, [rsp + 0x130]
mov qword [rsp + 0x78], rsi
mov rdx, rdi
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x38], rax
call method.lld::elf::OutputSection_lld::make_lld::elf::OutputSection__llvm.StringRef__int__int__llvm::StringRef__int__int_
mov rcx, qword [rsp + 0x38]
mov rdx, rax
mov r8, rbx
call fcn.28cb3f170
mov r8, qword [rsp + 0x30]
xor r10d, r10d
lea rcx, [r12 + 0x10]
mov rdx, rdi
mov dword [rsp + 0x158], r10d
mov dword [rsp + 0x130], r10d
call method.lld::elf::OutputSection_lld::make_lld::elf::OutputSection__llvm.StringRef__int__int__llvm::StringRef__int__int_
mov rcx, qword [rsp + 0x38]
mov rdx, rax
mov r8, r12
call fcn.28cb3f1b0
mov r8, qword [rsp + 0x30]
xor r9d, r9d
lea rcx, [rbp + 0x10]
mov rdx, rdi
mov dword [rsp + 0x158], r9d
mov dword [rsp + 0x130], r9d
call method.lld::elf::OutputSection_lld::make_lld::elf::OutputSection__llvm.StringRef__int__int__llvm::StringRef__int__int_
mov rcx, qword [rsp + 0x38]
mov rdx, rax
mov r8, rbp
call fcn.28cb3f170
mov r14, qword [sym.liblldELF.dll_lld::elf::symtab]
mov r13d, dword [r14 + 0x58]
mov rbx, qword [r14 + 0x50]
shl r13, 5
lea r15, [rbx + r13]
cmp r15, rbx
je 0x28cb09945
mov rcx, r13
sar rcx, 5
call method.long_long_std.__lg_long_long__long_long_
xor r9d, r9d
mov rdx, r15
mov rcx, rbx
lea r8, [rax + rax]
call method.void_std::__introsort_loop_std::pair_llvm::StringRef__lld::elf::ArmCmseEntryFunction___long_long____gnu_cxx::__ops::_Iter_comp_iter_lld::elf::writeARMCmseImportLib_llvm::object.ELFType__llvm::endianness_0__true_____::lambda_auto:1_const__auto:2_
cmp r13, 0x200
jbe 0x28cb09937
lea r13, [rbx + 0x200]
xor r8d, r8d
mov rcx, rbx
mov rdx, r13
call method.void_std::__insertion_sort_std::pair_llvm::StringRef__lld::elf::ArmCmseEntryFunction_____gnu_cxx::__ops::_Iter_comp_iter_lld::elf::writeARMCmseImportLib_llvm::object.ELFType__llvm::endianness_0__true_____::lambda_auto:1_const__auto:2_const_1_
cmp r15, r13
je 0x28cb09945
xor edx, edx
mov rcx, r13
call method.void_std::__unguarded_linear_insert_std::pair_llvm::StringRef__lld::elf::ArmCmseEntryFunction_____gnu_cxx::__ops::_Val_comp_iter_lld::elf::writeARMCmseImportLib_llvm::object.ELFType__llvm::endianness_0__true_____::lambda_auto:1_const__auto:2_con
add r13, 0x20
jmp 0x28cb09922
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call method.void_std::__insertion_sort_std::pair_llvm::StringRef__lld::elf::ArmCmseEntryFunction_____gnu_cxx::__ops::_Iter_comp_iter_lld::elf::writeARMCmseImportLib_llvm::object.ELFType__llvm::endianness_0__true_____::lambda_auto:1_const__auto:2_const_1_
mov eax, dword [r14 + 0x58]
mov rbx, qword [r14 + 0x50]
lea r15, [rsp + 0x98]
lea r14, [rsp + 0xb8]
shl rax, 5
add rax, rbx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x40], rbx
je 0x28cb09a1f
mov r13, qword [rbx + 0x18]
mov rcx, r13
call method.lld::elf::Symbol.getSize___const
xor edx, edx
mov rcx, r13
mov qword [rsp + 0x130], rax
call method.lld::elf::Symbol.getVA_long_long__const
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x108], rax
mov dword [rsp + 0xe0], 2
mov dword [rsp + 0xb8], r8d
call method.lld::elf::Symbol.computeBinding___const
mov byte [rsp + 0x98], al
mov eax, dword [r13 + 0x10]
mov r8, r14
mov rdx, qword [r13 + 8]
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x108]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x158], rdx
mov rdx, r15
call fcn.28cacc8d0
mov rdx, rax
mov rcx, r12
call method.lld::elf::SymbolTableBaseSection.addSymbol_lld::elf::Symbol_
add rbx, 0x20
jmp 0x28cb09976
mov r12d, dword [rsp + 0x80]
lea rax, [rsp + 0x50]
mov rbx, qword [rsp + 0x78]
xor r14d, r14d
mov qword [rsp + 0x40], rax
mov r13d, 0x40
shl r12, 4
add r12, rbx
cmp r12, rbx
je 0x28cb09ad4
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
inc r14
mov dword [rcx + 0x30], r14d
test rdx, rdx
je 0x28cb09a66
add rdx, 8
call method.lld::elf::OutputSection.recordSection_lld::elf::InputSectionBase_
mov rcx, qword [rbx]
call method.lld::elf::OutputSection.finalizeInputSections__
mov r15, qword [rbx]
mov rdx, qword [rsp + 0x40]
mov r8d, 1
mov rcx, rbp
movups xmm0, xmmword [r15 + 8]
movaps xmmword [rsp + 0x50], xmm0
call method.lld::elf::StringTableSection.addString_llvm::StringRef__bool_
mov rcx, qword [rbx + 8]
mov dword [r15 + 0x60], eax
mov r15, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbx + 8]
mov qword [r15 + 0x48], rax
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rdx, qword [rbx]
add rbx, 0x10
mov eax, dword [rdx + 0x20]
lea r13, [rax + r13 - 1]
neg rax
and r13, rax
mov qword [rdx + 0x50], r13
add r13, qword [rdx + 0x48]
jmp 0x28cb09a46
mov r12, qword [sym.liblldELF.dll_lld::elf::config]
mov r14d, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [r12 + 0x574]
inc r14
movups xmm1, xmmword [r12 + 0x258]
mov r15, r14
lea rbx, [rax + r13 - 1]
mov r13b, byte [r12 + 0x435]
neg rax
shl r15, 6
and rbx, rax
movaps xmmword [rsp + 0x50], xmm1
xor r13d, 1
add r15, rbx
movzx r13d, r13b
add r13d, r13d
call fcn.28ca716c8
mov rdx, qword [rsp + 0x40]
mov r9d, r13d
mov r8, r15
mov rcx, rsi
movups xmm2, xmmword [r12 + 0x258]
movaps xmmword [rsp + 0x50], xmm2
call fcn.28ca71be8
test byte [rsp + 0x90], 1
je 0x28cb09c26
lea rbx, [rsp + 0x70]
mov rdx, rsi
lea rbp, [rsp + 0x98]
mov rcx, rbx
call method.llvm::Expected_std::unique_ptr_llvm::FileOutputBuffer__std::default_delete_llvm::FileOutputBuffer_____.takeError__
mov rdx, rbx
mov rcx, rbp
call fcn.28ca71ac8
lea r8, [rsp + 0xe0]
lea rdx, [0x28cbc2d6c]
mov word [rsp + 0x150], 0x104
mov rcx, r8
lea rax, [0x28cbc3049]
mov qword [rsp + 0x130], rbp
lea rbx, [rsp + 0x108]
call fcn.28cb46140
mov qword [rsp + 0xb8], rax
mov rax, qword [r12 + 0x258]
mov rcx, rbx
lea rdx, [rsp + 0xb8]
mov word [rsp + 0xd8], 0x503
mov qword [rsp + 0xc8], rax
mov rax, qword [r12 + 0x260]
mov qword [rsp + 0xd0], rax
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, qword [rsp + 0x30]
mov r8, rdi
mov rdx, rbx
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, qword [rsp + 0x30]
call fcn.28ca715f8
mov rcx, rbp
call fcn.28ca71ec0
mov rcx, qword [rsp + 0x70]
jmp 0x28cb09e1d
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
call qword [rax]
xor edx, edx
mov dword [rax], 0x464c457f
mov r13, rax
bswap rbx
mov word [rax + 0x10], 0x100
xor ecx, ecx
rol r14w, 8
mov qword [rax + 0x28], rbx
bswap rbx
add rbx, r13
mov qword [rax + 0x18], rdx
mov byte [rax + 4], 1
mov al, 2
sub al, byte [r12 + 0x562]
mov byte [r13 + 5], al
mov al, byte [r12]
mov byte [r13 + 6], 1
mov byte [r13 + 7], al
mov word [r13 + 0x12], 0x2800
mov dword [r13 + 0x14], 0x1000000
mov byte [r13 + 8], 0
mov eax, dword [r12 + 0x56c]
mov word [r13 + 0x34], 0x4000
mov word [r13 + 0x38], 0
bswap eax
mov word [r13 + 0x3a], 0x4000
mov dword [r13 + 0x30], eax
mov qword [r13 + 0x20], rcx
mov word [r13 + 0x36], 0
mov word [r13 + 0x3c], r14w
mov rax, qword [rbp + 0x40]
mov eax, dword [rax + 0x30]
xchg al, ah
mov word [r13 + 0x3e], ax
mov r12d, dword [rsp + 0x80]
mov rbp, qword [rsp + 0x78]
shl r12, 4
add r12, rbp
cmp r12, rbp
je 0x28cb09cff
add rbx, 0x40
mov rcx, qword [rbp]
mov rdx, rbx
call method.void_lld::elf::OutputSection::writeHeaderTo_llvm::object.ELFType__llvm::endianness_0__true____llvm::object::ELFType__llvm::endianness_0__true_::Shdr_
add rbp, 0x10
jmp 0x28cb09ce4
mov rcx, qword [rsp + 0x30]
call fcn.28ca71ad8
mov ebp, dword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
shl rbp, 4
add rbp, rbx
cmp rbp, rbx
je 0x28cb09d3b
mov rcx, qword [rbx]
mov r8, qword [rsp + 0x30]
mov rdx, qword [rcx + 0x50]
add rdx, r13
call method.void_lld::elf::OutputSection::writeTo_llvm::object.ELFType__llvm::endianness_0__true____unsigned_char__llvm::parallel::TaskGroup_
add rbx, 0x10
jmp 0x28cb09d1c
mov rcx, qword [rsp + 0x30]
call fcn.28ca71ad0
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x68]
mov rax, qword [rdx]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x68]
xor ecx, ecx
test rax, rax
je 0x28cb09e1d
lea rbp, [rsp + 0x98]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x70]
xor eax, eax
mov rcx, rbp
mov qword [rsp + 0x68], rax
call fcn.28ca71ac8
lea r8, [rsp + 0xe0]
lea rdx, [0x28cbc3059]
mov word [rsp + 0x150], 0x104
mov rcx, r8
mov qword [rsp + 0x130], rbp
lea rbx, [0x28cbc305d]
call fcn.28cb46140
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb8], rbx
lea rbx, [rsp + 0x108]
mov word [rsp + 0xd8], 0x503
mov rcx, rbx
mov qword [rsp + 0xc8], rdx
lea rdx, [rsp + 0xb8]
mov qword [rsp + 0xd0], rax
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, qword [rsp + 0x30]
mov r8, rdi
mov rdx, rbx
call method.llvm::Twine.concat_llvm::Twine_const__const
mov rcx, qword [rsp + 0x30]
call fcn.28ca715e8
call fcn.28cb45fe0
mov rcx, rsi
call method.llvm::Expected_std::unique_ptr_llvm::FileOutputBuffer__std::default_delete_llvm::FileOutputBuffer_____.Expected__
mov rcx, qword [rsp + 0x38]
call method.llvm::SmallVectorImpl_std::pair_lld::elf::OutputSection__lld::elf::SyntheticSection___.SmallVectorImpl__
nop
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret