Function at 0x4353d0
Capabilities:
Enumerate process modules
Enumerate processes
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa80
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0xa70]
push esi
push edi
push 0x22c
push 0
push eax
mov dword [ebp - 0xa74], ebx
call fcn.0043a7a0
add esp, 0xc
xor esi, esi
mov edi, 3
mov dword [ebp - 0xa7c], edi
push esi
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, eax
mov dword [ebp - 0xa78], ecx
cmp ecx, 0xffffffff
je 0x43566a
jmp 0x435430
lea eax, [ebp - 0xa70]
mov dword [ebp - 0xa70], 0x22c
push eax
push ecx
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x435629
nop
push 0x428
lea eax, [ebp - 0x844]
push 0
push eax
call fcn.0043a7a0
add esp, 0xc
push dword [ebp - 0xa68]
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0xffffffff
je 0x4354e4
lea eax, [ebp - 0x844]
mov dword [ebp - 0x844], 0x428
push eax
push edi
call sub.KERNEL32.dll_Module32FirstW
test eax, eax
je 0x435602
lea esp, [esp]
push 0x104
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x624]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea eax, [ebp - 0x214]
push eax
push ebx
call fcn.0043ab85
add esp, 8
test eax, eax
jne 0x4354ce
inc esi
lea eax, [ebp - 0x844]
push eax
push edi
call sub.KERNEL32.dll_Module32NextW
test eax, eax
jne 0x4354a0
jmp 0x435602
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12b
jne 0x435602
push dword [ebp - 0xa68]
mov dword [ebp - 0xa80], 0x104
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_OpenProcess]
push str.QueryFullProcessImageNameW
push str.Kernel32.dll
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x43555d
lea ecx, [ebp - 0xa80]
push ecx
lea ecx, [ebp - 0x41c]
push ecx
push 0
push ebx
call eax
test eax, eax
je 0x4355f5
mov ecx, dword [ebp - 0xa74]
lea eax, [ebp - 0x41c]
push eax
push ecx
jmp 0x4355e8
push str.GetProcessImageFileNameW
push str.Psapi.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4355f5
push dword [ebp - 0xa80]
lea ecx, [ebp - 0x41c]
push ecx
push ebx
call eax
test eax, eax
je 0x4355f5
push 2
push dword [ebp - 0xa74]
lea eax, [ebp - 0xc]
push 3
push eax
call fcn.0043aa3f
add esp, 0x10
lea eax, [ebp - 0x214]
push 0x104
push eax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
mov ecx, dword [ebp - 0xa74]
add ecx, 4
push ecx
mov ecx, 0x104
sub ecx, eax
lea eax, [ebp - 0x214]
push ecx
push eax
call fcn.004025f0
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.0043ab85
add esp, 8
test eax, eax
jne 0x4355f5
inc esi
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [ebp - 0xa74]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0xa70]
push eax
push dword [ebp - 0xa78]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x435450
mov edi, dword [ebp - 0xa7c]
push dword [ebp - 0xa78]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
dec edi
mov dword [ebp - 0xa7c], edi
test esi, esi
jle 0x43567d
test edi, edi
js 0x43567d
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
push esi
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, eax
mov dword [ebp - 0xa78], eax
cmp ecx, 0xffffffff
jne 0x435430
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00438f17
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
test esi, esi
pop edi
setg al
xor ecx, ebp
pop esi
pop ebx
call fcn.00438f17
mov esp, ebp
pop ebp
ret