Function at 0x140003c60
Capabilities:
Shutdown system

Disassembly:
mov dword ss:[rsp + 0x10], edx
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xf8
mov r14, rcx
mov qword [rsp + 0x30], 0x1c
lea rax, str.EnableWarnings
mov r15d, edx
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov esi, 0xc0000001
call sym.SystemInformer.exe_PhGetIntegerStringRefSetting
test eax, eax
je 0x140003f8d
lea r15, str.restart
mov qword [rsp + 0x130], r12
mov rbx, r15
mov qword [rsp + 0xf0], r13
and rbx, 0xfffffffffffffff1
mov rcx, r15
xorps xmm1, xmm1
and ecx, 0xf
je 0x140003cf7
movdqu xmm0, xmmword [rbx]
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
shr eax, cl
bsf ecx, eax
mov dword [rbp + 0x77], ecx
je 0x140003cf3
mov ebx, ecx
shr rbx, 1
jmp 0x140003d37
add rbx, 0x10
movdqu xmm0, xmmword [rbx]
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
bsf ecx, eax
mov dword [rbp + 0x77], ecx
jne 0x140003d29
nop dword [rax + rax]
movdqu xmm0, xmmword [rbx + 0x10]
add rbx, 0x10
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
bsf ecx, eax
mov dword [rbp + 0x77], ecx
je 0x140003d10
sub rbx, r15
mov eax, ecx
sar rbx, 1
shr rax, 1
add rbx, rax
mov rdx, qword [0x1402ca978]
add rbx, rbx
lea rcx, [rbx + 0x12]
call sym.SystemInformer.exe_PhCreateObject
mov rdi, rax
mov r8, rbx
mov rdx, r15
lea rcx, [rax + 0x10]
mov qword [rax], rbx
mov qword [rax + 8], rcx
xor eax, eax
mov word [rbx + rcx], ax
mov rcx, qword [rdi + 8]
call fcn.14020a640
mov rcx, rdi
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov rdx, qword [0x1402ca978]
mov r13, qword [rax]
mov r12, qword [rax + 8]
lea rcx, [r13 + 0x12]
call sym.SystemInformer.exe_PhCreateObject
mov r15, rax
lea rcx, [rax + 0x10]
mov qword [rax], r13
mov qword [rax + 8], rcx
xor eax, eax
mov word [rcx + r13], ax
test r12, r12
je 0x140003dce
mov rdi, r13
mov ebx, eax
shr rdi, 1
je 0x140003dcb
movzx ecx, word [r12 + rbx*2]
call qword [sym.imp.ntdll.dll_RtlDowncaseUnicodeChar]
mov rcx, qword [r15 + 8]
mov word [rcx + rbx*2], ax
inc rbx
cmp rbx, rdi
jb 0x140003db0
mov qword [r15], r13
mov rcx, r15
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov rdx, qword [0x1402ca978]
mov r15, rax
mov rdi, qword [rax]
mov r12, qword [rax + 8]
lea rcx, [rdi + 0x12]
call sym.SystemInformer.exe_PhCreateObject
mov r13, qword [rsp + 0xf0]
mov rbx, rax
lea rcx, [rax + 0x10]
mov qword [rax], rdi
mov qword [rax + 8], rcx
xor eax, eax
mov word [rdi + rcx], ax
test r12, r12
je 0x140003e25
mov rcx, qword ds:[rbx + 8]
mov r8, rdi
mov rdx, r12
call fcn.14020a640
mov rcx, rbx
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov r12, qword [rsp + 0x130]
cmp qword [rax], 0
lea rbx, [rax + 8]
jbe 0x140003e51
mov rax, qword [rbx]
movzx ecx, word [rax]
call qword [sym.imp.ntdll.dll_RtlUpcaseUnicodeChar]
mov rcx, qword [rbx]
mov word [rcx], ax
mov rdx, qword [r15 + 8]
lea r9, str.the_computer
lea r8, [0x14023a418]
mov ecx, 3
call fcn.140001a20
xor edx, edx
lea rcx, [rbp - 0x79]
mov r8d, 0xa0
mov rdi, rax
call fcn.14020a280
mov rcx, qword [0x1402ca988]
mov qword ds:[rbp - 0x6d], rcx
mov dword [rbp - 0x79], 0xa0
mov qword [rbp - 0x75], r14
test r14, r14
je 0x140003ec4
mov rcx, r14
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x140003ec4
mov rcx, r14
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
mov eax, 0x1008
je 0x140003ec9
mov eax, 8
mov r8, qword [rdi + 8]
lea r9, [0x14023a49c]
mov dword [rbp - 0x65], eax
lea rdx, [0x14023a4a0]
mov rax, qword [0x1402ca990]
mov ecx, 3
mov qword [rbp - 0x5d], rax
mov qword [rbp - 0x55], 0xfffd
call fcn.140001a20
xor r9d, r9d
lea rdx, [rbp + 0x77]
xor r8d, r8d
mov rcx, qword [rax + 8]
mov rax, qword [rbx]
mov qword [rsp + 0x34], rax
lea rax, [0x14023a3a8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x4d], rcx
lea rcx, [rbp - 0x79]
mov qword [rbp - 0x39], rax
mov dword [rsp + 0x30], 6
mov dword [rsp + 0x3c], 7
mov dword [rbp - 0x3d], 2
mov dword [rbp - 0x31], 6
mov dword [rbp + 0x23], 0xc8
call qword [sym.imp.COMCTL32.dll_Ordinal_345]
test eax, eax
js 0x140003f63
cmp dword [rbp + 0x77], 6
jmp 0x140003f7e
mov r9, qword [rdi + 8]
lea r8, str.Are_you_sure_you_want_to__s_
mov edx, 0x134
mov rcx, r14
call sym.SystemInformer.exe_PhShowMessage
cmp eax, 6
sete al
test al, al
je 0x140004192
mov r15d, dword [rbp + 0x6f]
lea rax, str.EnableBootObjectsEnumerate
mov qword [rsp + 0x30], 0x34
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], rax
call sym.SystemInformer.exe_PhGetIntegerStringRefSetting
test eax, eax
mov qword [rsp + 0x30], 0x48
lea rax, str.EnableUpdateDefaultFirmwareBootEntry
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], rax
setne bl
call sym.SystemInformer.exe_PhGetIntegerStringRefSetting
test eax, eax
movzx ecx, bl
setne dil
call fcn.140170100
mov rbx, rax
test rax, rax
je 0x1400040dd
cmp r15d, dword [rax]
jae 0x140004016
lfence
mov rcx, qword [rax + 8]
movzx edx, dil
mov r8d, r15d
mov r9, qword [rcx + r8*8]
lea rcx, [rsp + 0x30]
movups xmm0, xmmword [r9]
movaps xmmword [rsp + 0x30], xmm0
call fcn.14016f8a0
mov esi, eax
mov rcx, rbx
call fcn.1401702e0
nop
test esi, esi
js 0x1400040bd
lfence
mov r9d, 5
mov dword [rsp + 0x20], 0x80000000
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_InitiateShutdownW]
test eax, eax
je 0x140004192
mov ecx, eax
call sym.SystemInformer.exe_PhGetWin32Message
lea r8, [0x14023a10c]
mov rbx, rax
lea r9, str.Unable_to_configure_the_boot_application.
test rax, rax
je 0x140004185
mov rcx, qword [rax + 8]
mov edx, 0x20
mov qword [rsp + 0x28], rcx
mov rcx, r14
mov qword [rsp + 0x20], r8
mov r8d, 0xfffe
call sym.SystemInformer.exe_PhShowMessage2
lea rcx, ds:[rbx - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140004192
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.140141ca0
nop dword [rax]
cmp esi, 0xc0000022
je 0x1400040d0
cmp esi, 0xc0000005
jne 0x1400040dd
lfence
mov ecx, esi
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosErrorNoTeb]
jmp 0x140004100
mov eax, esi
and eax, 0xfff0000
cmp eax, 0x70000
jne 0x1400040f0
movzx eax, si
jmp 0x140004100
mov eax, esi
and eax, 0xfff0000
cmp eax, 0xb0000
jne 0x140004110
mov eax, esi
test eax, eax
je 0x140004110
lfence
mov ecx, eax
call sym.SystemInformer.exe_PhGetWin32Message
jmp 0x14000411a
lfence
mov ecx, esi
call sym.SystemInformer.exe_PhGetNtMessage
lea r8, [0x14023a10c]
mov rbx, rax
lea r9, str.Unable_to_configure_the_boot_application.
test rax, rax
je 0x140004185
lfence
lfence
mov rax, qword [rax + 8]
mov edx, 0x20
mov qword [rsp + 0x28], rax
mov rcx, r14
mov qword [rsp + 0x20], r8
mov r8d, 0xfffe
call sym.SystemInformer.exe_PhShowMessage2
lea rcx, [rbx - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140004192
lfence
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.140141ca0
mov edx, 0x10
mov rcx, r14
call sym.SystemInformer.exe_PhShowMessage
add rsp, 0xf8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret