Function at 0x446372
Capabilities:
Enumerate processes
Get disk information
Terminate process

Disassembly:
push 0x65c
mov eax, 0x487024
call fcn.00468ad7
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x668], eax
xor eax, eax
mov edi, 0x206
xor esi, esi
push edi
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push esi
push eax
mov dword [ebp - 0x65c], esi
call fcn.00466c70
push 0x228
lea eax, [ebp - 0x648]
push esi
push eax
mov dword [ebp - 0x64c], esi
call fcn.00466c70
add esp, 0x18
mov dword [ebp - 0x658], esi
mov dword [ebp - 0x660], esi
mov esi, 0x4c1160
push esi
lea ecx, [ebp - 0x650]
call fcn.004237f4
and dword [ebp - 4], 0
call fcn.0044538c
call fcn.00445496
test eax, eax
je 0x4464ad
push esi
lea ecx, [ebp - 0x654]
call fcn.004237f4
xor eax, eax
push edi
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
mov byte [ebp - 4], 1
call fcn.00466c70
movzx eax, word [ebx]
push eax
lea eax, [ebp - 0x654]
push 0x494d6c
push eax
call fcn.0041915d
mov esi, dword [ebp - 0x654]
add esp, 0x18
push 0x104
lea eax, [ebp - 0x420]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
lea eax, [ebp - 0x420]
push eax
call fcn.00468f76
pop ecx
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x650]
call fcn.00417d8b
lea eax, [ebp - 0x650]
push eax
call fcn.004461ac
push ebx
call fcn.00468f76
pop ecx
pop ecx
cmp eax, 3
jbe 0x44649f
add ebx, 6
push ebx
lea ecx, [ebp - 0x650]
call fcn.00417f66
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0
call fcn.00417891
jmp 0x4464b9
push ebx
lea ecx, [ebp - 0x650]
call fcn.00417f8c
push dword [ebp - 0x650]
mov esi, 0x4c1dc0
push str.KillProcessByPath_path:_ws
push esi
call fcn.00448b55
add esp, 0xc
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x654], eax
cmp eax, 0xffffffff
je 0x446672
lea eax, [ebp - 0x64c]
push eax
push dword [ebp - 0x654]
mov dword [ebp - 0x64c], 0x22c
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x446666
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x644]
cmp eax, dword [ebp - 0x664]
je 0x446638
test eax, eax
je 0x446638
cmp eax, 4
je 0x446638
push eax
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
mov dword [ebp - 0x65c], ebx
test ebx, ebx
je 0x446638
call fcn.00445496
test eax, eax
je 0x446584
mov eax, dword [0x4c1d08]
test eax, eax
je 0x446584
push 0x104
lea ecx, [ebp - 0x218]
push ecx
push ebx
call eax
jmp 0x4465a2
mov eax, dword [0x4c1d04]
test eax, eax
je 0x446625
push 0x104
lea ecx, [ebp - 0x218]
push ecx
push 0
push ebx
call eax
test eax, eax
je 0x446625
cmp dword [ebp + 0x10], 0
je 0x4465cc
mov edx, dword [ebp - 0x650]
mov ecx, dword [edx - 0xc]
cmp eax, ecx
jle 0x446625
push ecx
lea eax, [ebp - 0x218]
push eax
push edx
call fcn.004692b7
add esp, 0xc
jmp 0x4465e6
mov ecx, dword [ebp - 0x650]
cmp eax, dword [ecx - 0xc]
jne 0x446625
lea eax, [ebp - 0x218]
push eax
push ecx
call fcn.00468eeb
pop ecx
pop ecx
test eax, eax
jne 0x446625
push eax
push ebx
call edi
mov ebx, eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x644]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push str.Terminate_Process_return:_d__error:_d__pid:_d__path:_ws
push esi
call fcn.00448b55
add esp, 0x18
test ebx, ebx
jne 0x44661f
inc dword [ebp - 0x660]
jmp 0x446625
inc dword [ebp - 0x658]
push dword [ebp - 0x65c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x65c], 0
lea eax, [ebp - 0x64c]
push eax
push dword [ebp - 0x654]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x446520
cmp dword [ebp - 0x65c], eax
je 0x446666
push dword [ebp - 0x65c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x654]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x668]
test eax, eax
je 0x446684
mov ecx, dword [ebp - 0x658]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x650]
add ecx, 0xfffffff0
call fcn.00417891
mov eax, dword [ebp - 0x660]
call fcn.00468b5a
ret