Function at 0x402790
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, 0xfd410
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 0x4027d6
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 0x4027f9
xor esi, esi
jmp 0x402848
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 0x402841
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 0x402839
lea eax, [esp + 0x38]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x402810
jmp 0x402841
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 0x4028b3
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 0x4028ad
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 0x4028cd
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 0x402907
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 0x40290e
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 0x402931
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 0x4029b7
push 0x496468
push 0x593888
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 0x40296e
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 0x4029b7
push 0xfd410
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 0x402953
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 0x402953
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.004054d0
add esp, 0x1c
test al, al
jne 0x4029d3
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.0047ad02
mov esp, ebp
pop ebp
ret