Function at 0x40a9a8
Capabilities:
Acquire debug privileges
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x114c
call fcn.00411cc0
and byte [ebp - 0x1018], 0
mov dword [ebp - 0x1030], 0x10
lea eax, [ebp - 0x103c]
push eax
push 0
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [0x41cc50]
test eax, eax
jne 0x40aa03
lea eax, [ebp - 0x103c]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x41ccd0]
test eax, eax
jne 0x40aa03
and dword [ebp - 0x103c], 0
cmp dword [ebp - 0x103c], 0
je 0x40aa86
mov dword [ebp - 0x10], 1
mov dword [ebp - 4], 2
lea eax, [ebp - 0xc]
push eax
push 0x41786c
push 0
call dword [0x41cca4]
lea eax, [ebp - 0x1030]
push eax
lea eax, [ebp - 0x102c]
push eax
push 0x10
lea eax, [ebp - 0x10]
push eax
push 0
push dword [ebp - 0x103c]
call dword [0x41cd30]
test eax, eax
je 0x40aa73
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x514
jne 0x40aa71
push dword [ebp - 0x103c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x103c], 0
jmp 0x40aa86
push dword [ebp - 0x103c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [ebp - 0x103c], 0
lea eax, [ebp - 0x101c]
push eax
push 0x1000
lea eax, [ebp - 0x1014]
push eax
call dword [0x41cce0]
test eax, eax
jne 0x40aaaa
xor al, al
jmp 0x40ac5e
mov eax, dword [ebp - 0x101c]
shr eax, 2
mov dword [ebp - 0x1040], eax
and dword [ebp - 0x1038], 0
and dword [ebp - 0x1034], 0
jmp 0x40aad6
mov eax, dword [ebp - 0x1034]
inc eax
mov dword [ebp - 0x1034], eax
mov eax, dword [ebp - 0x1034]
cmp eax, dword [ebp - 0x1040]
jae 0x40ac0b
push 0x417880
lea eax, [ebp - 0x1148]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
mov eax, dword [ebp - 0x1034]
push dword [ebp + eax*4 - 0x1014]
push 0
push 0x411
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x1044], eax
cmp dword [ebp - 0x1044], 0
je 0x40ac06
lea eax, [ebp - 0x101c]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x1044]
call dword [0x41ccb4]
test eax, eax
je 0x40abfa
push 0x104
lea eax, [ebp - 0x1148]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x1044]
call dword [0x41cc38]
and dword [ebp - 0x114c], 0
jmp 0x40ab7a
mov eax, dword [ebp - 0x114c]
inc eax
mov dword [ebp - 0x114c], eax
lea eax, [ebp - 0x1148]
push eax
call sub.MSVCRT.dll_strlen
pop ecx
cmp dword [ebp - 0x114c], eax
jae 0x40abb4
mov eax, dword [ebp - 0x1034]
movsx eax, byte [ebp + eax - 0x1148]
push eax
call dword [sym.imp.MSVCRT.dll_toupper]
pop ecx
mov ecx, dword [ebp - 0x1034]
mov byte [ebp + ecx - 0x1148], al
jmp 0x40ab6d
cmp dword [ebp + 8], 0
jne 0x40abc3
and byte [ebp - 0x1018], 0
jmp 0x40abfa
push dword [ebp + 8]
lea eax, [ebp - 0x1148]
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x40abfa
mov eax, dword [ebp - 0x1038]
inc eax
mov dword [ebp - 0x1038], eax
push 0
push dword [ebp - 0x1044]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov byte [ebp - 0x1018], 1
push dword [ebp - 0x1044]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40aac9
cmp dword [ebp + 0xc], 0
je 0x40ac28
push dword [ebp - 0x1038]
push 0x417888
push dword [ebp + 0xc]
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
cmp dword [ebp - 0x103c], 0
je 0x40ac58
push 0
push 0
push 0x10
lea eax, [ebp - 0x102c]
push eax
push 0
push dword [ebp - 0x103c]
call dword [0x41cd30]
push dword [ebp - 0x103c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x1018]
leave
ret