joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140095b10
Capabilities:
Set current directory

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x178
call fcn.1400a52c0
test eax, eax
jne 0x140095b54
xor r9d, r9d
lea r8, [0x14030d670]
lea rdx, str.Application_requires_administrator_permissions._Please_log_in_as_an_administrator.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x140095d28
lea rcx, [rsp + 0x28]
call fcn.14018dd30
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea rcx, [rsp + 0x28]
call fcn.140203610
mov rcx, qword [rsp + 0x190]
call fcn.140096d10
movzx eax, al
test eax, eax
je 0x140095ba0
xor eax, eax
jmp 0x140095d28
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [rsp + 0x70], 8
mov dword [rsp + 0x74], 0x404
lea rcx, [rsp + 0x70]
call qword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x180]
xor edx, edx
lea rcx, [0x14043fdc0]
call fcn.140002f10
test eax, eax
jl 0x140095c92
mov dword [rsp + 0x30], 2
lea rdx, str.Start_DriverReviver
lea rcx, [rsp + 0x38]
call fcn.140001eb0
mov dword [rsp + 0x40], 0
call fcn.14018deb0
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.14001d6d0
lea rcx, [rsp + 0x38]
call fcn.140203610
movzx eax, byte [0x140440998]
test eax, eax
jne 0x140095c57
mov dword [rsp + 0x160], 1
jmp 0x140095c62
mov dword [rsp + 0x160], 0
movzx eax, byte [rsp + 0x160]
test eax, eax
je 0x140095c86
mov edx, dword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
call fcn.1400958a0
mov dword [rsp + 0x20], eax
lea rcx, [0x14043fdc0]
call fcn.14009f220
xor eax, eax
lea rcx, [section.OneInsta]
xchg dword [rcx], eax
mov dword [rsp + 0x44], 2
lea rdx, str.Exit_DriverReviver
lea rcx, [rsp + 0x48]
call fcn.140001eb0
mov dword [rsp + 0x50], 0
call fcn.14018deb0
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x150]
add rax, 0x28
mov r8b, 1
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.14001bc40
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x150]
mov rcx, qword [rcx + 8]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x44]
mov rcx, qword [rcx + rax*8]
call fcn.1401a7260
lea rcx, [rsp + 0x128]
call fcn.14001bcd0
lea rcx, [rsp + 0x48]
call fcn.140203610
mov eax, dword [rsp + 0x20]
add rsp, 0x178
ret
Function at 0x1400a52c0
Capabilities:
Get token membership

Disassembly:
sub rsp, 0x98
mov rax, qword [0x140437340]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x78], 0
mov byte [rsp + 0x79], 0
mov byte [rsp + 0x7a], 0
mov byte [rsp + 0x7b], 0
mov byte [rsp + 0x7c], 0
mov byte [rsp + 0x7d], 5
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0x220
mov r8d, 0x20
mov dl, 2
lea rcx, [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0
je 0x1400a5387
lea r8, [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
jne 0x1400a537c
mov dword [rsp + 0x68], 0
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_FreeSid]
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140250fd0
add rsp, 0x98
ret
Function at 0x1400bcf40
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
xor eax, eax
test eax, eax
jne 0x1400bcf58
xor eax, eax
test eax, eax
jne 0x1400bcf58
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
shl rax, 1
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x68]
mov dword [rax], 0
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
xor r8d, r8d
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0
je 0x1400bcfc0
mov eax, dword [rsp + 0x38]
jmp 0x1400bd040
cmp dword [rsp + 0x30], 1
je 0x1400bcfd5
cmp dword [rsp + 0x30], 2
je 0x1400bcfd5
mov eax, 0xd
jmp 0x1400bd040
cmp qword [rsp + 0x60], 0
je 0x1400bd029
cmp dword [rsp + 0x34], 0
je 0x1400bd01f
mov eax, dword [rsp + 0x34]
xor edx, edx
mov ecx, 2
div rcx
mov rax, rdx
test rax, rax
jne 0x1400bd016
mov eax, dword [rsp + 0x34]
xor edx, edx
mov ecx, 2
div rcx
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax*2 - 2]
test eax, eax
je 0x1400bd01d
mov eax, 0xd
jmp 0x1400bd040
jmp 0x1400bd029
xor eax, eax
mov rcx, qword [rsp + 0x60]
mov word [rcx], ax
mov eax, dword [rsp + 0x34]
xor edx, edx
mov ecx, 2
div rcx
mov rcx, qword [rsp + 0x68]
mov dword [rcx], eax
xor eax, eax
add rsp, 0x48
ret
Function at 0x1400ca890
Capabilities:
Get session information
Get session user name

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x120
mov qword [rsp + 0x110], 0xfffffffffffffffe
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
mov r8d, 5
mov edx, dword [rsp + 0x40]
xor ecx, ecx
call sub.WTSAPI32.dll_WTSQuerySessionInformationW
test eax, eax
jne 0x1400ca8ec
xor al, al
jmp 0x1400caaa1
cmp qword [rsp + 0x38], 0
je 0x1400ca95b
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
jne 0x1400ca916
mov dword [rsp + 0x54], 0
jmp 0x1400ca937
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x88]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rax, rcx
mov dword [rsp + 0x54], eax
mov r8d, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x138]
call fcn.140002560
mov rcx, qword [rsp + 0x38]
call sub.WTSAPI32.dll_WTSFreeMemory
mov qword [rsp + 0x38], 0
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.140001eb0
nop
lea rax, [0x1403114a4]
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
jne 0x1400ca99b
mov dword [rsp + 0xa8], 0
jmp 0x1400ca9bf
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, qword [rsp + 0xa0]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rax, rcx
mov dword [rsp + 0xa8], eax
mov r8d, dword [rsp + 0xa8]
lea rdx, [0x1403114a4]
lea rcx, [rsp + 0x48]
call fcn.140002740
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
mov r8d, 7
mov edx, dword [rsp + 0x40]
xor ecx, ecx
call sub.WTSAPI32.dll_WTSQuerySessionInformationW
test eax, eax
jne 0x1400caa15
mov byte [rsp + 0x50], 0
lea rcx, [rsp + 0x48]
call fcn.140203610
movzx eax, byte [rsp + 0x50]
jmp 0x1400caaa1
cmp qword [rsp + 0x38], 0
je 0x1400caa8d
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x100], rax
cmp qword [rsp + 0x100], 0
jne 0x1400caa42
mov dword [rsp + 0xb8], 0
jmp 0x1400caa66
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x100]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rax, rcx
mov dword [rsp + 0xb8], eax
mov r8d, dword [rsp + 0xb8]
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x130]
call fcn.140002560
mov rcx, qword [rsp + 0x38]
call sub.WTSAPI32.dll_WTSFreeMemory
mov byte [rsp + 0x51], 1
lea rcx, [rsp + 0x48]
call fcn.140203610
movzx eax, byte [rsp + 0x51]
add rsp, 0x120
pop rdi
ret
Function at 0x1400d3390
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x108
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x110]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x118]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x20], rax
jne 0x1400d33f6
mov dword [rsp + 0xf0], 1
jmp 0x1400d3401
mov dword [rsp + 0xf0], 0
movzx eax, byte [rsp + 0xf0]
test eax, eax
jne 0x1400d341a
mov dword [rsp + 0xf4], 1
jmp 0x1400d3425
mov dword [rsp + 0xf4], 0
movzx eax, byte [rsp + 0xf4]
test eax, eax
je 0x1400d3573
xor eax, eax
test eax, eax
jne 0x1400d3435
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x118]
cmp qword [rsp + 0x38], rax
jne 0x1400d3560
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x110]
add rax, 0x110
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.1400d3590
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
lea rdx, [0x14042f270]
lea rcx, [rsp + 0x28]
call fcn.1400021f0
call sym.DriverReviver.exe_private:_static_class_ReviverSoft::Core::COperationManager____ptr64___cdecl_boost::serialization::singleton_class_ReviverSoft::Core::COperationManager_::get_instance_void_
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
add rax, 0x7c8
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.1400364c0
mov r9, qword [rsp + 0x118]
mov r8, qword [rax]
lea rdx, [0x140316cf0]
lea rcx, [rsp + 0x28]
call fcn.14001bdb0
lea rcx, [rsp + 0x50]
call fcn.140203610
lea r8, [0x140316d08]
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x58]
call fcn.14001db30
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x58]
call fcn.140203610
lea rcx, [rsp + 0x28]
call fcn.1401fcd60
lea rcx, [rsp + 0x28]
call fcn.140203610
jmp 0x1400d356e
mov rax, qword [rsp + 0x20]
add rax, 0x28
mov qword [rsp + 0x20], rax
jmp 0x1400d33bf
mov rcx, qword [rsp + 0x110]
call fcn.140056ff0
add rsp, 0x108
ret

Function at 0x1400d6640
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.140002360
mov qword [rsp + 0x20], rax
mov eax, dword [rsp + 0x28]
inc eax
mov r8d, eax
mov rdx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [rsp + 0x28], eax
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x68]
call fcn.140001e20
mov eax, dword [rsp + 0x28]
add rsp, 0x58
ret
Function at 0x1400e8040
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov rax, qword [rsp + 0x70]
cmp qword [rax + 8], 0
je 0x1400e8066
xor edx, edx
mov rcx, qword [rsp + 0x70]
call fcn.1400e81a0
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x40], eax
mov ecx, dword [rsp + 0x20]
inc ecx
mov rdx, qword [rsp + 0x70]
add rdx, 0x60
mov qword [rsp + 0x48], rdx
mov edx, ecx
mov rcx, qword [rsp + 0x48]
call fcn.1400022f0
mov ecx, dword [rsp + 0x40]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rdx, [0x140360770]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
call fcn.140134c50
cmp qword [rsp + 0x70], 0
je 0x1400e80ed
mov rax, qword [rsp + 0x70]
add rax, 8
mov qword [rsp + 0x50], rax
jmp 0x1400e80f6
mov qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x50]
add rsp, 0x68
ret
Function at 0x1400f5e60
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [rsp + 0x80]
cmp qword [rax + 8], 0
je 0x1400f5e8c
xor edx, edx
mov rcx, qword [rsp + 0x80]
call fcn.1400e81a0
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0x20]
inc ecx
mov rdx, qword [rsp + 0x80]
add rdx, 0x50
mov qword [rsp + 0x58], rdx
mov edx, ecx
mov rcx, qword [rsp + 0x58]
call fcn.1400022f0
mov ecx, dword [rsp + 0x50]
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rdx, [0x140360770]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
call fcn.140134c50
mov rax, qword [0x1404408e8]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
mov r8d, 1
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_SetPropW]
cmp qword [rsp + 0x80], 0
je 0x1400f5f5e
mov rax, qword [rsp + 0x80]
add rax, 8
mov qword [rsp + 0x60], rax
jmp 0x1400f5f67
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x60]
add rsp, 0x78
ret
Function at 0x14011d360
Capabilities:
Shutdown system

Disassembly:
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
sub rsp, 0x148
mov qword [rsp + 0x128], 0xfffffffffffffffe
mov rax, qword [0x140437340]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov dword [rsp + 0x60], 2
lea rdx, [0x140321ae8]
lea rcx, [rsp + 0x68]
call fcn.140001eb0
nop
mov dword [rsp + 0x70], 0
call fcn.14018deb0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.14001d6d0
nop
lea rcx, [rsp + 0x68]
call fcn.140203610
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x30]
mov edx, 0x28
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x14011d402
jmp 0x14011d471
lea r8, [rsp + 0x58]
lea rdx, [0x140321b10]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
jne 0x14011d41c
jmp 0x14011d471
mov dword [rsp + 0x40], 1
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x44], rax
mov dword [rsp + 0x4c], 2
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x10
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
xor edx, edx
mov ecx, 6
call qword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x14011d4cc
mov dword [rsp + 0x74], 2
lea rdx, [0x140321b38]
lea rcx, [rsp + 0x78]
call fcn.140001eb0
nop
mov dword [rsp + 0x80], 0
call fcn.14018deb0
lea r9, [rsp + 0x74]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.14001d6d0
nop
lea rcx, [rsp + 0x78]
call fcn.140203610
lea rcx, [0x140321b58]
call fcn.1402565b8
lea rdx, [0x140321b68]
lea rcx, [0x140321b88]
call qword [sym.imp.USER32.dll_FindWindowW]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x14011d503
xor r9d, r9d
xor r8d, r8d
mov edx, 0x10
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
mov edx, eax
mov rax, qword [rsp + 0x150]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_EndDialog]
xor eax, eax
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.140250fd0
add rsp, 0x148
ret
Function at 0x14012e920
Capabilities:
Shutdown system

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x158
mov qword [rsp + 0x140], 0xfffffffffffffffe
mov rax, qword [0x140437340]
xor rax, rsp
mov qword [rsp + 0x148], rax
mov dword [rsp + 0x60], 2
lea rdx, str.try_reboot_initiate
lea rcx, [rsp + 0x68]
call fcn.140001eb0
nop
mov dword [rsp + 0x70], 0
call fcn.14018deb0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.14001d6d0
nop
lea rcx, [rsp + 0x68]
call fcn.140203610
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x30]
mov edx, 0x28
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x14012e9b2
jmp 0x14012ea25
lea r8, [rsp + 0x58]
lea rdx, str.SeShutdownPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
jne 0x14012e9cc
jmp 0x14012ea25
mov dword [rsp + 0x40], 1
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x44], rax
mov dword [rsp + 0x4c], 2
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0x10
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
xor edx, edx
mov ecx, 6
call qword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x14012eac0
mov dword [rsp + 0x74], 2
lea rdx, str.consol_reboot
lea rcx, [rsp + 0x78]
call fcn.140001eb0
nop
mov dword [rsp + 0x80], 0
call fcn.14018deb0
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
add rax, 0x28
mov r8b, 1
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.14001bc40
mov eax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x130]
mov rcx, qword [rcx + 8]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x74]
mov rcx, qword [rcx + rax*8]
call fcn.1401a7260
lea rcx, [rsp + 0x108]
call fcn.14001bcd0
nop
lea rcx, [rsp + 0x78]
call fcn.140203610
lea rcx, str.shutdown__r
call fcn.1402565b8
lea rdx, [0x1403249d8]
lea rcx, [0x1403249f8]
call qword [sym.imp.USER32.dll_FindWindowW]
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x14012eaf7
xor r9d, r9d
xor r8d, r8d
mov edx, 0x10
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsp + 0x148]
xor rcx, rsp
call fcn.140250fd0
add rsp, 0x158
ret
Function at 0x14013c970
Capabilities:
Hide graphical window

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xa0
mov edx, dword [rsp + 0xb8]
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_ShowWindow]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jne 0x14013cae0
cmp dword [rsp + 0xb8], 5
jne 0x14013cae0
call sym.DriverReviver.exe_private:_static_class_ReviverSoft::Core::COperationManager____ptr64___cdecl_boost::serialization::singleton_class_ReviverSoft::Core::COperationManager_::get_instance_void_
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
add rax, 0x470
mov rcx, qword [rsp + 0xb0]
add rcx, 0x2c0
mov rdx, rax
call fcn.1400d2850
call sym.DriverReviver.exe_private:_static_class_ReviverSoft::Core::COperationManager____ptr64___cdecl_boost::serialization::singleton_class_ReviverSoft::Core::COperationManager_::get_instance_void_
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rax, 0x470
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
mov rax, qword [rax + 8]
sub rax, rcx
cqo
mov ecx, 0x28
idiv rcx
test rax, rax
jbe 0x14013ca6d
mov dword [rsp + 0x40], 0
lea rax, [rsp + 0x44]
mov rdi, rax
xor eax, eax
mov ecx, 0x54
rep stosb byte [rdi], al
mov dword [rsp + 0x4c], 2
mov dword [rsp + 0x50], 2
xor eax, eax
lea r9, [rsp + 0x40]
mov r8d, eax
mov edx, 0x102b
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x2c8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, 1
xor edx, edx
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x2c8]
call qword [sym.imp.USER32.dll_InvalidateRect]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x2c8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x24], eax
mov edx, dword [rsp + 0x24]
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x3f8]
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, dword [rsp + 0x24]
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x358]
call qword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [rsp + 0x20]
add rsp, 0xa0
pop rdi
ret
Function at 0x140152600
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0xffffffff
je 0x140152646
mov eax, dword [rsp + 0x20]
and eax, 0x10
test eax, eax
je 0x140152646
mov dword [rsp + 0x30], 1
jmp 0x14015264e
mov dword [rsp + 0x30], 0
movzx eax, byte [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x14015dc70
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x90
mov qword [rsp + 0x80], 0xfffffffffffffffe
lea rdx, [0x14042f270]
lea rcx, [rsp + 0x28]
call fcn.1400021f0
nop
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetClipboardData]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x14015dd25
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
cmp qword [rsp + 0x20], 0
jne 0x14015dce8
mov dword [rsp + 0x44], 0
jmp 0x14015dd06
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x20]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rax, rcx
mov dword [rsp + 0x44], eax
mov r8d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.140002560
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rax, qword [rsp + 0x28]
mov eax, dword [rax - 0x10]
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0
jne 0x14015dd4b
mov dword [rsp + 0x88], 1
jmp 0x14015dd56
mov dword [rsp + 0x88], 0
movzx eax, byte [rsp + 0x88]
test eax, eax
jne 0x14015dd86
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x2f8]
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x28]
call fcn.140203610
mov rax, qword [rsp + 0x30]
add rsp, 0x90
pop rdi
ret