Function at 0x49ee9c
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 5
add esp, 0xfffff004
push eax
dec eax
jne 0x49eea5
mov eax, dword [ebp - 4]
add esp, 0xfffffbb0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x5454], edx
mov dword [ebp - 0x5450], edx
mov dword [ebp - 0x544c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49f0fb
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x49f0d3
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x4136e8]
call fcn.00403b7c
mov ebx, eax
call fcn.0049f7c0
test al, al
je 0x49efd3
push 0x49f10c
call sub.user32.dll_IsChild
mov edi, eax
test edi, edi
jne 0x49ef26
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f0dd
push 0x49f11c
push edi
call fcn.00406f5c
mov esi, eax
mov dword [0x4a7d0c], esi
test esi, esi
jne 0x49ef50
push edi
call sub.user32.dll_ExitWindowsEx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f0dd
xor eax, eax
mov dword [ebp - 0xc], eax
push 0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0xc]
push eax
push 2
push 0
call dword [0x4a7d0c]
test eax, eax
je 0x49ef86
push edi
call sub.user32.dll_ExitWindowsEx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f0dd
cmp dword [ebp - 0x10], 0
jbe 0x49f090
mov esi, dword [ebp - 0x10]
dec esi
test esi, esi
jl 0x49f090
inc esi
mov dword [ebp - 8], 0
lea eax, [ebp - 0x544c]
mov edx, dword [ebp - 8]
shl edx, 2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + edx*8]
call fcn.00404bc4
mov edx, dword [ebp - 0x544c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 8]
dec esi
jne 0x49efa4
jmp 0x49f090
push 0x49f12c
call sub.user32.dll_IsChild
mov edi, eax
test edi, edi
jne 0x49eff0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f0dd
push 0x49f11c
push edi
call fcn.00406f5c
mov esi, eax
mov dword [0x4a7d10], esi
test esi, esi
jne 0x49f01a
push edi
call sub.user32.dll_ExitWindowsEx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f0dd
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x16]
push eax
push 0x542a
lea eax, [ebp - 0x5446]
push eax
push 0x32
push 0
call dword [0x4a7d10]
test eax, eax
je 0x49f04f
push edi
call sub.user32.dll_ExitWindowsEx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f0dd
cmp word [ebp - 0x16], 0
jbe 0x49f090
movzx esi, word [ebp - 0x16]
dec esi
test esi, esi
jl 0x49f090
inc esi
lea eax, [ebp - 0x5446]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x5450]
mov edx, dword [ebp - 0x1c]
mov ecx, 0xd
call fcn.00404c0c
mov edx, dword [ebp - 0x5450]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
add dword [ebp - 0x1c], 0x2a
dec esi
jne 0x49f069
push edi
call sub.user32.dll_ExitWindowsEx
lea edx, [ebp - 0x5454]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
cmp dword [ebp - 0x5454], 0
jne 0x49f0b8
mov edx, 0x49f140
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, ebx
call fcn.00403bac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49f0dd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49f102
lea eax, [ebp - 0x5454]
mov edx, 3
call fcn.004049c0
ret