Function at 0x140042460
Capabilities:
Enumerate process modules
Get common file path
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb68
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xac0], rdx
movzx eax, byte [rcx]
mov byte [rbp + 0xae6], al
mov byte [rbp + 0xae4], al
mov qword [rbp + 0xa80], 0
lea rax, [rbp + 0xa88]
mov qword [rbp + 0xad8], rax
mov qword [rbp + 0xa88], 2
mov qword [rbp + 0xa90], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0xac8], rax
xor r13d, r13d
mov r15d, 0xffffffff
xor r12d, r12d
xor esi, esi
cmp r8, 0x201
jae 0x140042510
jmp 0x1400424ff
jae 0x1400425cc
cmp r8, 0x201
jae 0x140042510
mov edi, 0x200
lea rbx, [rbp - 0x40]
mov r14, r8
jmp 0x140042562
sub r8, rsi
sub r12, rsi
cmp r8, r12
jbe 0x14004253f
lea rcx, [rbp + 0xa80]
mov rdx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h498cd2a0878ddf3d
mov r13, qword [rbp + 0xa80]
mov rax, qword [rbp + 0xa88]
mov qword [rbp + 0xac8], rax
cmp r13, r15
mov esi, 0xffffffff
cmovb rsi, r13
mov qword [rbp + 0xa90], rsi
mov r12, r13
mov rdi, rsi
mov rbx, qword [rbp + 0xac8]
mov r14, rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ecx, r14d
mov rdx, rbx
call sub.KERNEL32.dll_GetCurrentDirectoryW
test eax, eax
jne 0x140042593
mov r15d, eax
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
mov eax, r15d
mov r15d, 0xffffffff
test ecx, ecx
jne 0x14004264f
mov r8d, eax
cmp r14, r8
jne 0x1400424f0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x140042f6a
add r14, r14
cmp r14, r15
cmovae r14, r15
mov r8, r14
cmp r8, 0x201
jb 0x1400424ff
jmp 0x140042510
cmp rdi, r8
jb 0x140042f95
lea rcx, [rbp + 0x498]
mov rdx, rbx
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::h4f0d847f13879248
movups xmm0, xmmword [rbp + 0x498]
movups xmm1, xmmword [rbp + 0x4a8]
movaps xmmword [rbp + 0xa20], xmm1
movaps xmmword [rbp + 0xa10], xmm0
cmp qword [rbp + 0xa80], 0
je 0x14004261b
mov rcx, qword [rbp + 0xa88]
mov edx, 2
call sym.__rust_dealloc
mov rsi, qword [rbp + 0xa10]
lea rcx, [rbp + 0xa18]
movabs rax, 0x8000000000000000
cmp rsi, rax
je 0x1400426a0
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x8e0], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x8d0], xmm0
jmp 0x1400426a5
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0xa18], rax
movabs rax, 0x8000000000000000
mov qword [rbp + 0xa10], rax
cmp qword [rbp + 0xa80], 0
je 0x14004268f
mov rcx, qword [rbp + 0xa88]
mov edx, 2
call sym.__rust_dealloc
lea rcx, [rbp + 0xa18]
movabs rsi, 0x8000000000000000
call sym.core::ptr::drop_in_place_std::io::error::Error_::h3466fc80fe41233f
movzx eax, byte [rbp + 0xae6]
mov byte [rbp + 0xa08], al
mov qword [rbp + 0x9e8], rsi
movaps xmm0, xmmword [rbp + 0x8d0]
movups xmmword [rbp + 0x9f0], xmm0
mov rax, qword [rbp + 0x8e0]
mov qword [rbp + 0xa00], rax
mov rax, qword [rbp + 0xac0]
mov rcx, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
lea rdx, str.stack_backtrace:_n
mov r8d, 0x11
call qword [rax + 0x18]
test al, al
jne 0x140042ee4
mov rax, qword [rbp + 0xac0]
mov qword [rbp + 0x8e8], rax
mov qword [rbp + 0x900], 0
movzx ecx, byte [rbp + 0xae6]
mov byte [rbp + 0x908], cl
lea rax, [rbp + 0x9e8]
mov qword [rbp + 0x8f0], rax
lea rax, sym.core::ptr::drop_in_place_std::sys::backtrace::_print_fmt::_u7b__u7b_closure_u7d__u7d__::hcedfd830f717b248
mov qword [rbp + 0x8f8], rax
mov byte [rbp + 0xae7], 0
mov qword [rbp + 0x9d0], 0
mov byte [rbp + 0xae2], 1
test cl, cl
setne byte [rbp + 0xae3]
lea rbx, [rbp - 0x40]
mov r8d, 0x4d0
mov rcx, rbx
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, rbx
call sub.KERNEL32.dll_RtlCaptureContext
mov r15, qword [rbp + 0xb8]
mov qword [rbp + 0xad0], 0
lea rdx, [rbp + 0xad0]
mov rcx, r15
xor r8d, r8d
call sub.KERNEL32.dll_RtlLookupFunctionEntry
test rax, rax
je 0x140042edb
lea r14, [rbp + 0xae5]
lea r12, [rbp + 0x498]
xor r13d, r13d
jmp 0x1400427ec
inc r13
mov qword [rbp + 0xad0], 0
mov rcx, rsi
lea rdx, [rbp + 0xad0]
xor r8d, r8d
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov r15, rsi
test rax, rax
je 0x140042edb
mov qword [rbp + 0xac8], rax
mov rax, qword [rbp + 0xad0]
mov rcx, qword [rbp + 0x58]
mov qword [rbp + 0x958], rax
mov qword [rbp + 0x960], r15
mov qword [rbp + 0x968], rcx
cmp byte [rbp + 0xae4], 0
jne 0x140042826
cmp r13, 0x64
ja 0x140042edb
mov rax, r15
sub rax, 1
mov edi, 0
cmovae rdi, rax
mov byte [rbp + 0xae5], 0
mov qword [rbp + 0xa80], r14
lea rax, [rbp + 0xae4]
mov qword [rbp + 0xa88], rax
lea rax, [rbp + 0xae3]
mov qword [rbp + 0xa90], rax
lea rax, [rbp + 0x9d0]
mov qword [rbp + 0xa98], rax
lea rax, [rbp + 0xae2]
mov qword [rbp + 0xaa0], rax
lea rax, [rbp + 0x8e8]
mov qword [rbp + 0xaa8], rax
lea rax, [rbp + 0xae7]
mov qword [rbp + 0xab0], rax
lea rax, [rbp + 0x958]
mov qword [rbp + 0xab8], rax
lea rax, [rbp + 0xa80]
mov qword [rbp + 0x910], rax
lea rax, [0x14004fb00]
mov qword [rbp + 0x918], rax
movabs rax, 0x8000000000000000
cmp qword [0x140048010], rax
jne 0x140042dca
movzx eax, byte [0x140058030]
mov ecx, 0x8c0
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h1ca289f3d44bb24b
test rax, rax
je 0x140042f84
mov qword [rbp + 0x9b8], 4
mov qword [rbp + 0x9c0], rax
mov qword [rbp + 0x9c8], 0
mov qword [rbp + 0xa68], 0
mov qword [rbp + 0xa70], 8
mov qword [rbp + 0xa78], 0
mov ecx, 8
xor edx, edx
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
cmp rax, 0xffffffffffffffff
je 0x140042cc8
mov r14, rax
mov r8d, 0x438
mov rcx, r12
xor edx, edx
call sub.msvcrt.dll_memset
mov dword [rbp + 0x498], 0x438
mov rcx, r14
mov rdx, r12
call sub.KERNEL32.dll_Module32FirstW
cmp eax, 1
jne 0x140042cc0
mov eax, 8
mov qword [rbp + 0xa50], rax
xor eax, eax
mov qword [rbp + 0xad8], rax
jmp 0x1400429b4
lea r12, [rbp + 0x498]
nop word cs:[rax + rax]
mov rcx, r14
mov rdx, r12
call sub.KERNEL32.dll_Module32NextW
cmp eax, 1
jne 0x140042cc0
mov eax, 0x208
xor r8d, r8d
nop dword [rax]
cmp word [rbp + r8*2 + 0x6c8], 0
je 0x140042a30
cmp word [rbp + r8*2 + 0x6ca], 0
je 0x140042a0e
cmp word [rbp + r8*2 + 0x6cc], 0
je 0x140042a13
cmp word [rbp + r8*2 + 0x6ce], 0
je 0x140042a19
cmp word [rbp + r8*2 + 0x6d0], 0
je 0x140042a1f
add r8, 5
add rax, 0xfffffffffffffff6
jne 0x1400429c0
mov r8d, 0x104
jmp 0x140042a30
inc r8
jmp 0x140042a30
add r8, 2
jmp 0x140042a30
add r8, 3
jmp 0x140042a30
add r8, 4
nop word cs:[rax + rax]
lea rcx, [rbp + 0x970]
lea rdx, [rbp + 0x6c8]
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::h4f0d847f13879248
mov rbx, qword [rbp + 0x978]
mov r8, qword [rbp + 0x980]
lea rcx, [rbp + 0x990]
mov rdx, rbx
call sym.std::backtrace_rs::symbolize::gimli::mmap::h78e3ff3b668087cd
cmp qword [rbp + 0x990], 0
je 0x140042b17
mov rsi, qword [rbp + 0x998]
mov r12, qword [rbp + 0x9a0]
mov rcx, qword [rbp + 0x9a8]
cmp rcx, 0x40
jb 0x140042b00
movzx eax, word [r12]
cmp eax, 0x5a4d
jne 0x140042b00
mov eax, dword [r12 + 0x3c]
mov rdx, rcx
sub rdx, rax
jb 0x140042b00
cmp rdx, 0x88
jb 0x140042b00
cmp dword [r12 + rax], 0x4550
jne 0x140042b00
movzx edx, word [r12 + rax + 0x18]
cmp edx, 0x20b
jne 0x140042b00
movzx edx, word [r12 + rax + 0x14]
cmp rdx, 0x70
jb 0x140042b00
lea r8, [rax + 0x88]
add rdx, 0xffffffffffffff90
sub rcx, r8
cmp rcx, rdx
jb 0x140042b00
mov ecx, dword [r12 + rax + 0x84]
shl rcx, 3
cmp rcx, rdx
jbe 0x140042b37
nop word cs:[rax + rax]
mov rcx, r12
call sub.KERNEL32.dll_UnmapViewOfFile
mov rcx, rsi
call fcn.140045bec
lea r12, [rbp + 0x498]
cmp qword [rbp + 0x970], 0
je 0x1400429a0
mov edx, 1
mov rcx, rbx
call sym.__rust_dealloc
jmp 0x1400429a0
mov rax, qword [r12 + rax + 0x30]
mov qword [rbp + 0xa58], rax
mov rax, qword [rbp + 0x4b0]
mov qword [rbp + 0x9d8], rax
mov rax, qword [rbp + 0x970]
mov qword [rbp + 0xa60], rax
movzx eax, byte [0x140058030]
mov ecx, 0x10
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h1ca289f3d44bb24b
test rax, rax
je 0x140042fac
mov edx, dword [rbp + 0x4b8]
mov rcx, qword [rbp + 0xa58]
mov qword [rax], rcx
mov qword [rbp + 0x9e0], rax
mov qword [rax + 8], rdx
lea rax, [rbp + 0x980]
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x990], xmm0
mov rcx, r12
call sub.KERNEL32.dll_UnmapViewOfFile
mov rcx, rsi
call fcn.140045bec
movabs rax, 0x8000000000000000
mov rcx, qword [rbp + 0xa60]
cmp rcx, rax
je 0x14004298f
mov rax, rcx
mov rcx, qword [rbp + 0x9d8]
sub rcx, qword [rbp + 0xa58]
mov qword [rbp + 0xa10], rax
mov qword [rbp + 0xa18], rbx
movaps xmm0, xmmword [rbp + 0x990]
lea rax, [rbp + 0xa20]
movups xmmword [rax], xmm0
mov qword [rbp + 0xa30], 1
mov rax, qword [rbp + 0x9e0]
mov qword [rbp + 0xa38], rax
mov qword [rbp + 0xa40], 1
mov qword [rbp + 0xa48], rcx
mov rax, qword [rbp + 0xad8]
cmp rax, qword [rbp + 0xa68]
lea r12, [rbp + 0x498]
jne 0x140042c5b
lea rcx, [rbp + 0xa68]
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h16e5c50b0446a3bb
mov rax, qword [rbp + 0xa70]
mov qword [rbp + 0xa50], rax
mov rcx, qword [rbp + 0xad8]
mov rax, rcx
shl rax, 6
movups xmm0, xmmword [rbp + 0xa10]
movups xmm1, xmmword [rbp + 0xa20]
movups xmm2, xmmword [rbp + 0xa30]
movups xmm3, xmmword [rbp + 0xa40]
mov rdx, qword [rbp + 0xa50]
movups xmmword [rdx + rax + 0x30], xmm3
movups xmmword [rdx + rax + 0x20], xmm2
movups xmmword [rdx + rax + 0x10], xmm1
movups xmmword [rdx + rax], xmm0
inc rcx
mov rax, rcx
mov qword [rbp + 0xad8], rcx
mov qword [rbp + 0xa78], rcx
jmp 0x1400429a0
mov rcx, r14
call fcn.140045bec
movups xmm0, xmmword [rbp + 0xa68]
movaps xmmword [rbp + 0x920], xmm0
mov rax, qword [rbp + 0xa78]
mov qword [rbp + 0x930], rax
mov rax, qword [rbp + 0x9c8]
lea rcx, [rbp + 0x938]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbp + 0x9b8]
movups xmmword [rcx], xmm0
mov rbx, qword [0x140048010]
movabs rax, 0x8000000000000000
cmp rbx, rax
je 0x140042d95
mov rsi, qword [0x140048018]
mov r14, qword [0x140048020]
test r14, r14
je 0x140042d70
lea r12, [rsi + 0x28]
jmp 0x140042d39
add r12, 0x40
dec r14
je 0x140042d70
cmp qword [r12 - 0x28], 0
je 0x140042d50
mov rcx, qword [r12 - 0x20]
mov edx, 1
call sym.__rust_dealloc
cmp qword [r12 - 8], 0
je 0x140042d30
mov rcx, qword [r12]
mov edx, 8
call sym.__rust_dealloc
jmp 0x140042d30
test rbx, rbx
je 0x140042d82
mov edx, 8
mov rcx, rsi
call sym.__rust_dealloc
lea rcx, [0x140048028]
call sym._ZN4core3ptr104drop_in_place_LT_alloc..vec..Vec_LT__LP_usize_C_std..backtrace_rs..symbolize..gimli..Mapping_RP__GT__GT_17hca6f
lea r12, [rbp + 0x498]
movaps xmm0, xmmword [rbp + 0x920]
movaps xmm1, xmmword [rbp + 0x930]
movaps xmm2, xmmword [rbp + 0x940]
movups xmmword [0x140048030], xmm2
movups xmmword [0x140048020], xmm1
movups xmmword [0x140048010], xmm0
lea rbx, [rbp - 0x40]
lea r14, [rbp + 0xae5]
mov rcx, rdi
lea rdx, [rbp + 0x910]
call sym.std::backtrace_rs::symbolize::gimli::resolve::__u7b__u7b_closure_u7d__u7d_::h0272916f41ce74dc
cmp byte [rbp + 0xae5], 0
jne 0x140042e60
cmp byte [rbp + 0xae3], 0
je 0x140042e60
lea rax, [rbp + 0x8e8]
mov qword [rbp + 0xa80], rax
mov qword [rbp + 0xa88], 0
mov rdx, qword [rbp + 0x960]
mov qword [rbp + 0x498], 3
mov qword [rbp + 0xa10], 2
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x20], 0
lea rcx, [rbp + 0xa80]
mov r8, r12
lea r9, [rbp + 0xa10]
call sym.std::backtrace_rs::print::BacktraceFrameFmt::print_raw_with_column::h34173e6fc8ff1ce1
mov byte [rbp + 0xae7], al
mov rcx, qword [rbp + 0xa80]
inc qword [rcx + 0x18]
test al, al
je 0x140042e6b
jmp 0x140042edb
movzx eax, byte [rbp + 0xae7]
test al, al
jne 0x140042edb
mov rdi, qword [rbp + 0x58]
mov qword [rbp + 0xa10], 0
mov qword [rbp + 0x498], 0
mov rdx, qword [rbp + 0xad0]
mov qword [rsp + 0x30], r12
lea rax, [rbp + 0xa10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x38], 0
xor ecx, ecx
mov r8, r15
mov r9, qword [rbp + 0xac8]
call sub.KERNEL32.dll_RtlVirtualUnwind
mov rsi, qword [rbp + 0xb8]
test rsi, rsi
je 0x140042edb
cmp rsi, r15
jne 0x1400427c0
cmp qword [rbp + 0x58], rdi
jne 0x1400427c0
cmp byte [rbp + 0xae7], 0
je 0x140042f1a
mov rax, qword [rbp + 0x9e8]
shl rax, 1
test rax, rax
je 0x140042f04
mov rcx, qword [rbp + 0x9f0]
mov edx, 1
call sym.__rust_dealloc
mov al, 1
add rsp, 0xb68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [rbp + 0xae6], 0
jne 0x140042f46
mov rax, qword [rbp + 0xac0]
mov rcx, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
lea rdx, str.note:_Some_details_are_omitted__run_with__RUST_BACKTRACEfull__for_a_verbose_backtrace._n__rust_begin_short_backtrace__rust_end_short_backtraces_______..._omitted__frame_...__n
mov r8d, 0x58
call qword [rax + 0x18]
test al, al
jne 0x140042ee4
mov rax, qword [rbp + 0x9e8]
shl rax, 1
test rax, rax
je 0x140042f66
mov rcx, qword [rbp + 0x9f0]
mov edx, 1
call sym.__rust_dealloc
xor eax, eax
jmp 0x140042f06
lea rcx, str.internal_error:_entered_unreachable_code_
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call sym.core::panicking::panic::h82631201f060ca88
jmp 0x140042fc2
mov ecx, 8
mov edx, 0x8c0
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
jmp 0x140042fc2
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, rdi
mov r8, rax
call sym.core::slice::index::slice_end_index_len_fail::hdaa9bbd2fcad4cbb
jmp 0x140042fc2
mov r14, qword [rbp + 0xa60]
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
ud2