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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0xb8], 0
lea r15, [rsp + 0x80]
lea r14, [rsp + 0xb8]
mov rcx, r15
mov r9, r14
call sym.goblin::pe::header::CoffHeader::parse::h7920837a8b296de4
mov rax, qword [rsp + 0x80]
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0x50], xmm0
mov ecx, dword [rsp + 0x98]
mov dword [rsp + 0x60], ecx
cmp rax, 9
jne 0x14009ba5a
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x30], xmm0
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x40], eax
mov rax, qword [0x140199090]
mov rax, qword [rax]
cmp rax, 4
jb 0x14009b9c0
lea rax, [rsp + 0x30]
mov qword [rsp + 0xe8], rax
lea rax, [sym.__goblin::pe::header::CoffHeader_as_core::fmt::Debug_::fmt::h7c54ce7355b9a540]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x80], 2
mov qword [rsp + 0x90], 2
mov qword [rsp + 0xa0], 0
movabs rax, 0x400000020
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 3
lea rax, [0x1401a8e00]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], 1
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 1
lea rcx, [0x1401a94e0]
call sym.log::__private_api::loc::h97aaa56fe5361bde
lea rcx, str.goblin::peentry__image_base__is_64:
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], 0xa
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 0xa
mov qword [rsp + 0xe0], rax
lea rcx, [rsp + 0x50]
lea r8, [rsp + 0xc0]
mov edx, 4
xor r9d, r9d
call sym.log::__private_api::log_impl::h759e1be48f14871c
movzx eax, word [rsp + 0x40]
add qword [rsp + 0xb8], rax
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x30]
mov r8, rdi
mov r9, rbx
call sym.goblin::pe::header::CoffHeader::sections::hdfad8e29e9a78da4
mov rax, qword [rsp + 0x80]
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0x50], xmm0
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x60], rcx
cmp rax, 9
jne 0x14009ba7a
movabs r14, 0x8000000000000000
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xc0], xmm0
mov r12d, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
add rax, rax
lea r15, [rax + rax*8]
mov rax, rbx
sub rax, r12
jbe 0x14009bab1
cmp rax, r15
jae 0x14009bac0
xor ecx, ecx
mov r12, r15
jmp 0x14009bab6
mov ecx, dword [rsp + 0x9c]
mov edx, dword [rsp + 0x60]
mov dword [rsi + 0x20], edx
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 8], rax
mov dword [rsi + 0x24], ecx
jmp 0x14009ba90
mov rcx, qword [rsp + 0x60]
mov qword [rsi + 0x20], rcx
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rax, rsi
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ecx, 1
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], r12
jmp 0x14009bafe
lea r9, [r15 + r12]
mov rax, rbx
sub rax, r9
jbe 0x14009bae3
cmp rax, 4
jae 0x14009bb7f
mov r9d, 4
xor ecx, ecx
xor r8d, r8d
jmp 0x14009baf0
mov rcx, r9
shr rcx, 0x20
mov r8d, 1
mov qword [rsi + 8], r8
mov dword [rsi + 0x10], r9d
mov dword [rsi + 0x14], ecx
mov r15, rdx
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], r15
mov qword [rsi], r14
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
test rbx, rbx
je 0x14009bb57
lea r15, [rdi + 0x10]
jmp 0x14009bb39
add r15, 0x40
dec rbx
je 0x14009bb57
mov rdx, qword [r15 - 8]
cmp rdx, r14
je 0x14009bb30
test rdx, rdx
je 0x14009bb30
mov rcx, qword [r15]
mov r8d, 1
call sym.__rust_dealloc
jmp 0x14009bb30
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x14009ba9d
shl rdx, 6
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
jmp 0x14009ba9d
mov eax, dword [rdi + r9]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x28], 0
lea rcx, [rsp + 0x80]
mov rdx, rdi
mov r8, rbx
call sym.goblin::strtab::Strtab::parse::hc2f94935a4813323
mov r10, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x94]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
cmp r10, r14
je 0x14009baf0
add rdi, r12
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rsi + 0x40], xmm0
mov qword [rsi + 0x20], r8
mov dword [rsi + 0x28], r9d
mov dword [rsi + 0x2c], ecx
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdx
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rsi + 0x60], xmm0
mov eax, dword [rsp + 0x40]
mov dword [rsi + 0x70], eax
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsi], xmm0
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], r10
mov qword [rsi + 0x50], rdi
mov qword [rsi + 0x58], r15
jmp 0x14009ba9d