Function at 0x140003ca0
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 - 0x38]
sub rsp, 0x138
mov r14, rcx
mov qword [rsp + 0x48], 0x1c
lea rax, str.EnableWarnings
mov r15d, edx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov esi, 0xc0000001
call sym.SystemInformer.exe_QiGetIntegerStringRefSetting
test eax, eax
je 0x140003fd7
lea r15, str.restart
mov qword [rsp + 0x170], r12
mov rbx, r15
mov qword [rsp + 0x130], r13
and rbx, 0xfffffffffffffff1
mov rcx, r15
xorps xmm1, xmm1
and ecx, 0xf
je 0x140003d3a
movdqu xmm0, xmmword [rbx]
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
shr eax, cl
bsf ecx, eax
mov dword [rbp + 0x80], ecx
je 0x140003d36
mov ebx, ecx
shr rbx, 1
jmp 0x140003d7b
add rbx, 0x10
movdqu xmm0, xmmword [rbx]
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
bsf ecx, eax
mov dword [rbp + 0x80], ecx
jne 0x140003d6d
movdqu xmm0, xmmword [rbx + 0x10]
add rbx, 0x10
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
bsf ecx, eax
mov dword [rbp + 0x80], ecx
je 0x140003d51
sub rbx, r15
mov eax, ecx
sar rbx, 1
shr rax, 1
add rbx, rax
mov rdx, qword [0x1402c4fb8]
add rbx, rbx
lea rcx, [rbx + 0x12]
call sym.SystemInformer.exe_QiCreateObject
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.1402074d0
mov rcx, rdi
call sym.SystemInformer.exe_QiAutoDereferenceObject
mov rdx, qword [0x1402c4fb8]
mov r13, qword [rax]
mov r12, qword [rax + 8]
lea rcx, [r13 + 0x12]
call sym.SystemInformer.exe_QiCreateObject
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 0x140003e12
mov rdi, r13
mov ebx, eax
shr rdi, 1
je 0x140003e0f
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 0x140003df4
mov qword [r15], r13
mov rcx, r15
call sym.SystemInformer.exe_QiAutoDereferenceObject
mov rdx, qword [0x1402c4fb8]
mov r15, rax
mov rdi, qword [rax]
mov r12, qword [rax + 8]
lea rcx, [rdi + 0x12]
call sym.SystemInformer.exe_QiCreateObject
mov r13, qword [rsp + 0x130]
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 0x140003e65
mov rcx, qword ds:[rbx + 8]
mov r8, rdi
mov rdx, r12
call fcn.1402074d0
mov rcx, rbx
call sym.SystemInformer.exe_QiAutoDereferenceObject
mov r12, qword [rsp + 0x170]
cmp qword [rax], 0
lea rbx, [rax + 8]
jbe 0x140003e91
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, [0x14023a5ac]
mov ecx, 3
call fcn.140001a40
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0xa0
mov rdi, rax
call fcn.140207110
mov rcx, qword [0x1402c4fc8]
mov qword ds:[rbp - 0x64], rcx
mov dword [rbp - 0x70], 0xa0
mov qword [rbp - 0x6c], r14
test r14, r14
je 0x140003f04
mov rcx, r14
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x140003f04
mov rcx, r14
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
mov eax, 0x1008
je 0x140003f09
mov eax, 8
mov r8, qword [rdi + 8]
lea r9, [0x140272da0]
mov dword [rbp - 0x5c], eax
lea rdx, str.Do_you_want_to
mov rax, qword [0x1402c4fd0]
mov ecx, 3
mov qword [rbp - 0x54], rax
mov qword [rbp - 0x4c], 0xfffd
call fcn.140001a40
xor r9d, r9d
lea rdx, [rbp + 0x88]
xor r8d, r8d
mov rcx, qword [rax + 8]
mov rax, qword [rbx]
mov qword [rsp + 0x34], rax
lea rax, [0x14026a3a8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x44], rcx
lea rcx, [rbp - 0x70]
mov qword [rbp - 0x30], rax
mov dword [rsp + 0x30], 6
mov dword [rsp + 0x3c], 7
mov dword [rbp - 0x34], 2
mov dword [rbp - 0x28], 6
mov dword [rbp + 0x2c], 0xc8
call qword [sym.imp.COMCTL32.dll_Ordinal_345]
nop dword [rax]
test eax, eax
js 0x140003fad
cmp dword [rbp + 0x88], 6
jmp 0x140003fc8
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_QiShowMessage
cmp eax, 6
sete al
test al, al
je 0x1400041d2
mov r15d, dword [rbp + 0x78]
lea rax, str.EnableBootObjectsEnumerate
mov qword [rsp + 0x58], 0x34
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x60], rax
call sym.SystemInformer.exe_QiGetIntegerStringRefSetting
test eax, eax
mov qword [rsp + 0x68], 0x48
lea rax, str.EnableUpdateDefaultFirmwareBootEntry
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x70], rax
setne bl
call sym.SystemInformer.exe_QiGetIntegerStringRefSetting
test eax, eax
movzx ecx, bl
setne dil
call fcn.14016e360
mov rbx, rax
test rax, rax
je 0x14000411d
cmp r15d, dword [rax]
jae 0x14000405e
lfence
mov rcx, qword [rax + 8]
movzx edx, dil
mov r8d, r15d
mov r9, qword [rcx + r8*8]
lea rcx, [rbp - 0x80]
movups xmm0, xmmword [r9]
movaps xmmword [rbp - 0x80], xmm0
call fcn.14016db40
mov esi, eax
mov rcx, rbx
call fcn.14016e540
test esi, esi
js 0x1400040fe
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 0x1400041d2
mov ecx, eax
call sym.SystemInformer.exe_QiGetWin32Message
lea r8, [0x140236d98]
mov rbx, rax
lea r9, str.Unable_to_configure_the_boot_application.
test rax, rax
je 0x1400041c5
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_QiShowMessage2
lea rcx, [rbx - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400041d2
add rsp, 0x138
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.14013fb00
nop
cmp esi, 0xc0000022
je 0x140004110
cmp esi, 0xc0000005
jne 0x14000411d
lfence
mov ecx, esi
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosErrorNoTeb]
jmp 0x140004140
mov eax, esi
and eax, 0xfff0000
cmp eax, 0x70000
jne 0x140004130
movzx eax, si
jmp 0x140004140
mov eax, esi
and eax, 0xfff0000
cmp eax, 0xb0000
jne 0x140004150
mov eax, esi
test eax, eax
je 0x140004150
lfence
mov ecx, eax
call sym.SystemInformer.exe_QiGetWin32Message
jmp 0x14000415a
lfence
mov ecx, esi
call sym.SystemInformer.exe_QiGetNtMessage
lea r8, [0x140236d98]
mov rbx, rax
lea r9, str.Unable_to_configure_the_boot_application.
test rax, rax
je 0x1400041c5
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_QiShowMessage2
lea rcx, [rbx - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400041d2
lfence
add rsp, 0x138
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.14013fb00
mov edx, 0x10
mov rcx, r14
call sym.SystemInformer.exe_QiShowMessage
add rsp, 0x138
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret