Function at 0x140044b60
Capabilities:
Shutdown system

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x140090040]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rbx, rdx
mov rdi, rcx
mov qword [rbp - 0x68], rcx
xor r14d, r14d
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
movdqa xmm1, xmmword [0x140084880]
movdqu xmmword [rbp - 0x50], xmm1
mov byte [rbp - 0x60], r14b
xor eax, eax
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rax
lea rdx, str.__.__
lea rcx, [rbp - 0x40]
call fcn.14001a730
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp], r14
mov byte [rbp + 8], r14b
movdqa xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x20], xmm1
mov qword [rbp + 0x30], r14
mov byte [rbp + 0x38], r14b
movdqa xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x50], r14b
mov qword [rbp + 0x58], r14
mov qword [rbp + 0x60], r14
mov byte [rbp + 0x68], r14b
add rbx, 0x110
cmp qword [rbx + 0x18], 0xf
jbe 0x140044c2e
mov r8, qword [rbx]
mov rdx, r8
add rdx, qword [rbx + 0x10]
mov rbx, r8
jmp 0x140044c38
mov rdx, qword [rbx + 0x10]
add rdx, rbx
mov r8, rbx
mov qword [rsp + 0x28], r8
lea r9, [rbp - 0x40]
lea r8, [rbp]
mov rcx, rbx
call fcn.14001f7c0
test al, al
je 0x140044d35
mov rcx, qword [rbp + 0x18]
mov r8, qword [rbp + 0x10]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
ja 0x140044c8b
lea rax, [rbp + 0x58]
lea r8, [rbp + 0x68]
jmp 0x140044c93
lea rax, [r8 + 0x18]
add r8, 0x28
cmp byte [r8], 0
je 0x140044ca3
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
jmp 0x140044cac
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x80]
cmp rdx, r8
jne 0x140044cdb
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
jmp 0x140044ce8
sub r8, rdx
lea rcx, [rsp + 0x30]
call fcn.1400055d0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140044d23
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044d1e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456bd
call fcn.1400491b0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x50], xmm1
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rbp - 0x68]
mov edx, 0x28
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x140044efc
lea rcx, [rsp + 0x30]
call fcn.1400136e0
nop
mov r9d, 5
lea r8, str.HWID
mov rcx, rax
call fcn.14000b200
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 0x11
lea rdx, str._ExitWindows_fail
lea rcx, [rsp + 0x78]
call fcn.140004e50
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x140044e22
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044e1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456c3
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rbp - 0x78], xmm0
mov byte [rsp + 0x78], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140044e71
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140044e6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456c9
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rcx, [rbp + 0x10]
call fcn.14001a610
nop
lea rcx, [rbp - 0x40]
call fcn.14001ab50
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140044eb9
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x140044eb9
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140045678
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045673
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456a5
jmp 0x140045673
lea r8, [rbp - 0x14]
lea rdx, str.SeShutdownPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov dword [rbp - 0x18], 1
mov dword [rbp - 0xc], 2
call fcn.14005a3ac
mov rsi, rax
lea rbx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova rbx, qword [rbp - 0x60]
mov dword [rax], r14d
mov r8d, 0xa
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.14005a170
cmp rbx, qword [rsp + 0x78]
je 0x1400456cf
cmp dword [rsi], 0x22
je 0x1400456dc
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea r8, [rbp - 0x18]
xor edx, edx
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x140045129
lea rcx, [rsp + 0x30]
call fcn.1400136e0
nop
mov r9d, 5
lea r8, str.HWID
mov rcx, rax
call fcn.14000b200
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 0x2b
lea rdx, str._ExitWindows_fail___Cant_adjust_Privileges
lea rcx, [rsp + 0x78]
call fcn.140004e50
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x14004504f
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004504a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456e9
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rbp - 0x78], xmm0
mov byte [rsp + 0x78], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14004509e
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045099
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456ef
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rcx, [rbp + 0x10]
call fcn.14001a610
nop
lea rcx, [rbp - 0x40]
call fcn.14001ab50
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400450e6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x1400450e6
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140045678
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045673
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456ab
jmp 0x140045673
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1400452de
lea rcx, [rsp + 0x30]
call fcn.1400136e0
nop
mov r9d, 5
lea r8, str.HWID
mov rcx, rax
call fcn.14000b200
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 0x11
lea rdx, str._ExitWindows_fail
lea rcx, [rsp + 0x78]
call fcn.140004e50
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x140045204
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400451ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456f5
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rbp - 0x78], xmm0
mov byte [rsp + 0x78], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140045253
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004524e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456fb
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rcx, [rbp + 0x10]
call fcn.14001a610
nop
lea rcx, [rbp - 0x40]
call fcn.14001ab50
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14004529b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x14004529b
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140045678
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045673
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456b1
jmp 0x140045673
call fcn.14005a3ac
mov rsi, rax
lea rbx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova rbx, qword [rbp - 0x60]
mov dword [rax], r14d
mov r8d, 0xa
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.14005a170
cmp rbx, qword [rsp + 0x78]
je 0x140045701
cmp dword [rsi], 0x22
je 0x14004570e
or eax, 4
xor edx, edx
mov ecx, eax
call qword [sym.imp.USER32.dll_ExitWindowsEx]
lea rcx, [rsp + 0x50]
test eax, eax
je 0x1400454de
call fcn.1400136e0
nop
mov r9d, 5
lea r8, str.HWID
mov rcx, rax
call fcn.14000b200
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 0x14
lea rdx, str._ExitWindows_success
lea rcx, [rsp + 0x30]
call fcn.140004e50
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140045403
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400453fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004571b
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140045453
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004544e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045721
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
lea rcx, [rbp + 0x10]
call fcn.14001a610
nop
lea rcx, [rbp - 0x40]
call fcn.14001ab50
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14004549b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x14004549b
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140045678
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045673
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400456b7
jmp 0x140045673
call fcn.1400136e0
nop
mov r9d, 5
lea r8, str.HWID
mov rcx, rax
call fcn.14000b200
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 0x11
lea rdx, str._ExitWindows_fail
lea rcx, [rsp + 0x30]
call fcn.140004e50
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], r14
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x1400455a9
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400455a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045727
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x1400455f9
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400455f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004572d
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
lea rcx, [rbp + 0x10]
call fcn.14001a610
nop
lea rcx, [rbp - 0x40]
call fcn.14001ab50
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140045641
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x140045641
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140045678
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045673
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004569f
call fcn.1400491b0
mov rax, rdi
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.140049190
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.1400500ac
int3
call fcn.1400500ac
int3
call fcn.1400500ac
int3
call fcn.1400500ac
int3
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
int3
lea rcx, str.invalid_stoul_argument
call fcn.140047d54
int3
lea rcx, str.stoul_argument_out_of_range
call fcn.140047d9c
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
int3
lea rcx, str.invalid_stoul_argument
call fcn.140047d54
int3
lea rcx, str.stoul_argument_out_of_range
call fcn.140047d9c
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
int3