Function at 0x458f70
Capabilities:
Enumerate process modules
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4b8
mov ecx, dword [ecx + 8]
cmp dword [0x501144], 0
jne 0x459346
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x54], edx
push 8
push 0x220
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x459366
mov dword [ebp - 0x60], 4
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 4
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x24], 0
push 0
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
cmp eax, 0xffffffff
je 0x4592f4
mov ebx, eax
lea eax, [ebp - 0x4c0]
push 0x424
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x4c4], 0x428
lea eax, [ebp - 0x4c4]
push eax
push ebx
call sub.KERNEL32.dll_Module32FirstW
cmp eax, 1
jne 0x4592ee
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x1c], ebx
jmp 0x459046
mov ebx, dword [ebp - 0x1c]
nop
lea eax, [ebp - 0x4c4]
push eax
push ebx
call sub.KERNEL32.dll_Module32NextW
cmp eax, 1
jne 0x4592ee
mov ecx, 0x208
xor eax, eax
nop dword [eax]
cmp word [ebp + eax*2 - 0x2a4], 0
je 0x459066
inc eax
add ecx, 0xfffffffe
jne 0x459050
mov eax, 0x104
push eax
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x44]
push eax
call sym.__LT_std..ffi..os_str..OsString_u20_as_u20_std..os..windows..ffi..OsStringExt_GT_::from_wide::hb6f6a97bb780d583
add esp, 0xc
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
mov edx, esi
lea ecx, [ebp - 0x7c]
push edi
call sym.std::backtrace_rs::symbolize::gimli::mmap::h8fef77e5045428e6
add esp, 4
cmp dword [ebp - 0x7c], 0
je 0x459193
lea eax, [ebp - 0x78]
mov ebx, dword [eax + 8]
movsd xmm0, qword [eax]
mov dword [ebp - 0x64], ebx
movsd qword [ebp - 0x6c], xmm0
mov eax, dword [ebp - 0x68]
push 0
push 0x40
push 0
push 0
push ebx
mov dword [ebp - 0x20], eax
push eax
call sym.__LT__RF__u5b_u8_u5d__u20_as_u20_object..read..read_ref..ReadRef_GT_::read_bytes_at::h06be9384d665f39b
add esp, 0x18
test eax, eax
je 0x459180
cmp edx, 0x40
jb 0x459180
movzx ecx, word [eax]
cmp ecx, 0x5a4d
jne 0x459180
mov eax, dword [eax + 0x3c]
push 0
push 0x78
push 0
mov dword [ebp - 0x18], eax
push eax
push ebx
push dword [ebp - 0x20]
call sym.__LT__RF__u5b_u8_u5d__u20_as_u20_object..read..read_ref..ReadRef_GT_::read_bytes_at::h06be9384d665f39b
add esp, 0x18
test eax, eax
mov dword [ebp - 0x10], eax
je 0x459180
xor eax, eax
add dword [ebp - 0x18], 0x78
setb cl
cmp edx, 0x78
jb 0x459180
mov edx, dword [ebp - 0x10]
cmp dword [edx], 0x4550
jne 0x459180
mov edx, dword [ebp - 0x10]
movzx edx, word [edx + 0x18]
cmp edx, 0x10b
jne 0x459180
mov edx, dword [ebp - 0x10]
movzx edx, word [edx + 0x14]
cmp dx, 0x60
jb 0x459180
mov al, cl
movzx ecx, dx
mov edx, 0
add ecx, 0xffffffa0
adc edx, 0xffffffff
push edx
push ecx
push eax
push dword [ebp - 0x18]
push ebx
push dword [ebp - 0x20]
call sym.__LT__RF__u5b_u8_u5d__u20_as_u20_object..read..read_ref..ReadRef_GT_::read_bytes_at::h06be9384d665f39b
add esp, 0x18
test eax, eax
je 0x459180
mov ecx, dword [ebp - 0x10]
push dword [ecx + 0x74]
push edx
push eax
lea eax, [ebp - 0x7c]
push eax
call sym.object::read::pe::data_directory::DataDirectories::parse::h31dedae9eb0927ab
add esp, 0x10
cmp dword [ebp - 0x7c], 0
je 0x4591af
nop word [eax + eax]
push dword [ebp - 0x20]
call sub.KERNEL32.dll_UnmapViewOfFile
push dword [ebp - 0x6c]
call sub.KERNEL32.dll_CloseHandle
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x459030
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
jmp 0x459030
mov eax, dword [ebp - 0x10]
movsd xmm0, qword [ebp - 0x44]
movsd xmm1, qword [ebp - 0x3c]
mov ebx, dword [eax + 0x34]
mov eax, dword [ebp - 0x4b0]
movsd qword [ebp - 0x74], xmm1
movsd qword [ebp - 0x7c], xmm0
mov dword [ebp - 0x10], eax
push 4
push 8
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x459377
mov ecx, dword [ebp - 0x4ac]
lea edx, [ebp - 0x37]
mov dword [eax], ebx
mov dword [ebp - 0x4c], eax
mov dword [eax + 4], ecx
movzx eax, word [edx]
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
movzx eax, byte [edx + 2]
mov byte [ebp - 0x12], al
movzx eax, byte [ebp - 0x38]
mov byte [ebp - 0x18], al
push dword [ebp - 0x20]
call sub.KERNEL32.dll_UnmapViewOfFile
push dword [ebp - 0x6c]
call sub.KERNEL32.dll_CloseHandle
movzx eax, byte [ebp - 0x18]
cmp al, 2
je 0x45902c
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], edi
mov byte [ebp - 0x90], al
movzx eax, word [ebp - 0x14]
lea ecx, [ebp - 0x8f]
sub edx, ebx
mov word [ecx], ax
movzx eax, byte [ebp - 0x12]
mov byte [ecx + 2], al
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x88], 1
cmp edx, dword [ebp - 0x2c]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], 1
jne 0x45929d
lea ecx, [ebp - 0x2c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::hc4f11a8a51af19cc
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x1c]
jmp 0x4592a3
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x84]
mov eax, edx
inc edx
mov dword [ebp - 0x30], ecx
shl eax, 5
mov dword [ebp - 0x34], edx
movsd qword [ecx + eax + 0x18], xmm0
movsd xmm0, qword [ebp - 0x8c]
movsd qword [ecx + eax + 0x10], xmm0
movsd xmm0, qword [ebp - 0x9c]
movsd xmm1, qword [ebp - 0x94]
movsd qword [ecx + eax + 8], xmm1
movsd qword [ecx + eax], xmm0
mov dword [ebp - 0x24], edx
jmp 0x459030
push ebx
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [ebp - 0x24]
movsd xmm1, qword [ebp - 0x60]
mov ecx, dword [ebp - 0x58]
movsd xmm0, qword [ebp - 0x2c]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4b0], ecx
movsd qword [ebp - 0x4b8], xmm1
movsd qword [0x501140], xmm0
mov ecx, dword [ebp - 0x50]
movsd xmm0, qword [ebp - 0x4bc]
movsd xmm1, qword [ebp - 0x4b4]
movsd qword [0x501148], xmm0
movsd qword [0x501150], xmm1
xor eax, eax
sub ecx, 1
cmovb ecx, eax
push 0x501140
push dword [ebp + 8]
call sym.std::backtrace_rs::symbolize::gimli::resolve::__u7b__u7b_closure_u7d__u7d_::hf89b0f9cf34b9bed
add esp, 0x4c0
pop esi
pop edi
pop ebx
pop ebp
ret
push 8
push 0x220
call sym.alloc::alloc::handle_alloc_error::h1460775c4f8d05ce
add esp, 8
ud2
push 4
push 8
call sym.alloc::alloc::handle_alloc_error::h1460775c4f8d05ce
add esp, 8
ud2