Function at 0x4027e0
Capabilities:
Acquire debug privileges
Enumerate processes
Terminate process
Terminate process by name

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x268
mov eax, dword [0x496400]
xor eax, esp
mov dword [esp + 0x264], eax
mov eax, 0x6fa10
mov ecx, 0xffffffff
add eax, 0x10
push esi
cmovo eax, ecx
push edi
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x402826
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0
push 2
mov dword [esp + 0x40], 0x22c
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, eax
cmp esi, 0xffffffff
jne 0x402849
xor esi, esi
jmp 0x402898
xor eax, eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x38]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x402891
nop
lea eax, [esp + 0x5c]
push str.digiexam.exe
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x402889
lea eax, [esp + 0x38]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x402860
jmp 0x402891
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
push esi
call edi
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push eax
xorps xmm0, xmm0
push 0x28
movaps xmmword [esp + 0x28], xmm0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x402903
lea eax, [esp + 0x24]
mov dword [esp + 0x20], 1
push eax
push str.SeDebugPrivilege
push 0
mov dword [esp + 0x38], 2
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x4028fd
push 0
push 0
push 0
lea eax, [esp + 0x2c]
push eax
push 0
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
push dword [esp + 0x18]
call edi
push esi
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
jne 0x40291d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_IsWow64Process]
lea eax, [esp + 0x1c]
push eax
push edi
mov dword [esp + 0x24], 0
call esi
test eax, eax
je 0x402957
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x14]
je 0x40295e
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.libcrypto_3.dll_EVP_CIPHER_CTX_new]
mov esi, eax
test esi, esi
jne 0x402981
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push eax
call dword [sym.imp.libcrypto_3.dll_ERR_print_errors_fp]
add esp, 8
jmp 0x402a07
push 0x496468
push 0x505e88
push 0
call dword [sym.imp.libcrypto_3.dll_EVP_aes_256_cbc]
push eax
push esi
call dword [sym.imp.libcrypto_3.dll_EVP_DecryptInit_ex]
add esp, 0x14
cmp eax, 1
je 0x4029be
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push eax
call dword [sym.imp.libcrypto_3.dll_ERR_print_errors_fp]
push esi
call dword [sym.imp.libcrypto_3.dll_EVP_CIPHER_CTX_free]
add esp, 0xc
jmp 0x402a07
push 0x6fa10
push 0x496478
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x1c]
push esi
call dword [sym.imp.libcrypto_3.dll_EVP_DecryptUpdate]
add esp, 0x14
cmp eax, 1
jne 0x4029a3
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
push eax
push esi
call dword [sym.imp.libcrypto_3.dll_EVP_DecryptFinal_ex]
add esp, 0xc
cmp eax, 1
jne 0x4029a3
push esi
call dword [sym.imp.libcrypto_3.dll_EVP_CIPHER_CTX_free]
add esp, 4
mov edx, dword [esp + 0x10]
sub esp, 0x1c
mov ecx, edi
call fcn.004056a0
add esp, 0x1c
test al, al
jne 0x402a23
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::basic_istream_char__struct_std::char_traits_char__::get_void_]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x26c]
pop edi
pop esi
xor ecx, esp
call fcn.0047af12
mov esp, ebp
pop ebp
ret