Function at 0x1401090d0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
sub rsp, 0xf08
mov qword [rsp + 0xe20], 0xfffffffffffffffe
mov rax, qword [0x140437340]
xor rax, rsp
mov qword [rsp + 0xef0], rax
mov dword [rsp + 0x50], VarUI4FromDisp
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [rsp + 0x54], 5
jbe 0x14010912e
mov byte [rsp + 0xe28], 0
jmp 0x140109136
mov byte [rsp + 0xe28], 1
movzx eax, byte [rsp + 0xe28]
mov byte [rsp + 0x170], al
mov qword [rsp + 0x178], 0
call qword [sym.imp.USER32.dll_CreatePopupMenu]
mov qword [rsp + 0x178], rax
cmp qword [rsp + 0x178], 0
je 0x140109177
mov dword [rsp + 0xe2c], 1
jmp 0x140109182
mov dword [rsp + 0xe2c], 0
cmp dword [rsp + 0xe2c], 0
je 0x14010a758
lea rcx, [0x14043fdc0]
call fcn.1400044d0
mov r8d, 0x146
lea rdx, [rsp + 0x1f8]
mov rcx, rax
call fcn.1401850d0
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x390]
mov rax, qword [rax]
mov qword [rsp + 0x398], rax
mov r9, qword [rsp + 0x398]
mov r8d, 0x3f1
xor edx, edx
mov rcx, qword [rsp + 0x178]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov rax, qword [rsp + 0x1f8]
sub rax, 0x18
mov qword [rsp + 0x3a0], rax
mov rcx, qword [rsp + 0x3a0]
call fcn.140001000
call sym.DriverReviver.exe_private:_static_class_DriverReviver::CSettings____ptr64___cdecl_boost::serialization::singleton_class_DriverReviver::CSettings_::get_instance_void_
mov qword [rsp + 0x3a8], rax
mov rcx, qword [rsp + 0x3a8]
call fcn.1400b7550
mov rcx, rax
call fcn.1401afb40
movzx eax, al
test eax, eax
je 0x1401092b3
lea rcx, [0x14043fdc0]
call fcn.1400044d0
mov r8d, 6
lea rdx, [rsp + 0x200]
mov rcx, rax
call fcn.1401850d0
mov qword [rsp + 0x3b0], rax
mov rax, qword [rsp + 0x3b0]
mov rax, qword [rax]
mov qword [rsp + 0x3b8], rax
mov r9, qword [rsp + 0x3b8]
mov r8d, 0x3f4
xor edx, edx
mov rcx, qword [rsp + 0x178]
call qword [sym.imp.USER32.dll_AppendMenuW]
mov rax, qword [rsp + 0x200]
sub rax, 0x18
mov qword [rsp + 0x3c0], rax
mov rcx, qword [rsp + 0x3c0]
call fcn.140001000
jmp 0x14010931b
lea rcx, [0x14043fdc0]
call fcn.1400044d0
mov r8d, 0x104
lea rdx, [rsp + 0x208]
mov rcx, rax
call fcn.1401850d0
mov qword [rsp + 0x3c8], rax
mov rax, qword [rsp + 0x3c8]
mov rax, qword [rax]
mov qword [rsp + 0x3d0], rax
mov r9, qword [rsp + 0x3d0]
mov r8d, 0x518
xor edx, edx
mov rcx, qword [rsp + 0x178]
call qword [sym.imp.USER32.dll_AppendMenuW]
lea rcx, [rsp + 0x208]
call fcn.140203610
lea rcx, [0x14043fdc0]
call fcn.1400044d0
mov r8d, 0x1ae
lea rdx, [rsp + 0x210]
mov rcx, rax
call fcn.1401850d0
mov qword [rsp + 0x3e0], rax
mov rax, qword [rsp + 0x3e0]
mov rax, qword [rax]
mov qword [rsp + 0x3e8], rax
mov r9, qword [rsp + 0x3e8]
mov r8d, 0x58b
xor edx, edx
mov rcx, qword [rsp + 0x178]
call qword [sym.imp.USER32.dll_AppendMenuW]
lea rcx, [rsp + 0x210]
call fcn.140203610
lea rcx, [0x14043fdc0]
call fcn.1400044d0
mov r8d, 0x1af
lea rdx, [rsp + 0x218]
mov rcx, rax
call fcn.1401850d0
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0x3f8]
mov rax, qword [rax]
mov qword [rsp + 0x400], rax
mov r9, qword [rsp + 0x400]
mov r8d, 0x58c
xor edx, edx
mov rcx, qword [rsp + 0x178]
call qword [sym.imp.USER32.dll_AppendMenuW]
lea rcx, [rsp + 0x218]
call fcn.140203610
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x228], rax
cmp qword [rsp + 0x228], 0
je 0x140109429
mov rax, qword [rsp + 0x228]
mov qword [rax], 0
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0xe30], rax
jmp 0x140109435
mov qword [rsp + 0xe30], 0
mov rax, qword [rsp + 0xe30]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x1b8], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x238], rax
cmp qword [rsp + 0x238], 0
je 0x140109493
mov rax, qword [rsp + 0x238]
mov qword [rax], 0
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0xe38], rax
jmp 0x14010949f
mov qword [rsp + 0xe38], 0
mov rax, qword [rsp + 0xe38]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x180], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x248], rax
cmp qword [rsp + 0x248], 0
je 0x1401094fd
mov rax, qword [rsp + 0x248]
mov qword [rax], 0
mov rax, qword [rsp + 0x248]
mov qword [rsp + 0xe40], rax
jmp 0x140109509
mov qword [rsp + 0xe40], 0
mov rax, qword [rsp + 0xe40]
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x1c0], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x258], rax
cmp qword [rsp + 0x258], 0
je 0x140109567
mov rax, qword [rsp + 0x258]
mov qword [rax], 0
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0xe48], rax
jmp 0x140109573
mov qword [rsp + 0xe48], 0
mov rax, qword [rsp + 0xe48]
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x1b0], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x268], rax
cmp qword [rsp + 0x268], 0
je 0x1401095d1
mov rax, qword [rsp + 0x268]
mov qword [rax], 0
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0xe50], rax
jmp 0x1401095dd
mov qword [rsp + 0xe50], 0
mov rax, qword [rsp + 0xe50]
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x1a8], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x278], rax
cmp qword [rsp + 0x278], 0
je 0x14010963b
mov rax, qword [rsp + 0x278]
mov qword [rax], 0
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0xe58], rax
jmp 0x140109647
mov qword [rsp + 0xe58], 0
mov rax, qword [rsp + 0xe58]
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x410]
mov qword [rsp + 0x280], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0xe60], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x15d
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x180]
mov r8, rax
mov rdx, qword [rsp + 0xe60]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x140109723
cmp qword [rsp + 0x280], 0
je 0x140109723
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x418], rax
mov qword [rsp + 0x280], 0
mov rcx, qword [rsp + 0x418]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x420], rax
mov rax, qword [rsp + 0x420]
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x288]
mov qword [rsp + 0xe68], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x1d0
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1c0]
mov r8, rax
mov rdx, qword [rsp + 0xe68]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x1401097df
cmp qword [rsp + 0x288], 0
je 0x1401097df
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x428], rax
mov qword [rsp + 0x288], 0
mov rcx, qword [rsp + 0x428]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x430], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x290], rax
lea rax, [rsp + 0x290]
mov qword [rsp + 0xe70], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x15b
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1b8]
mov r8, rax
mov rdx, qword [rsp + 0xe70]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x14010989b
cmp qword [rsp + 0x290], 0
je 0x14010989b
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x438], rax
mov qword [rsp + 0x290], 0
mov rcx, qword [rsp + 0x438]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x440], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x298], rax
lea rax, [rsp + 0x298]
mov qword [rsp + 0xe78], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x1cf
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1b0]
mov r8, rax
mov rdx, qword [rsp + 0xe78]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x140109957
cmp qword [rsp + 0x298], 0
je 0x140109957
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0x448], rax
mov qword [rsp + 0x298], 0
mov rcx, qword [rsp + 0x448]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x450], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x2a0], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0xe80], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x15d
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1a8]
mov r8, rax
mov rdx, qword [rsp + 0xe80]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x140109a13
cmp qword [rsp + 0x2a0], 0
je 0x140109a13
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x458], rax
mov qword [rsp + 0x2a0], 0
mov rcx, qword [rsp + 0x458]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x460], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x2a8], rax
lea rax, [rsp + 0x2a8]
mov qword [rsp + 0xe88], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x15d
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x190]
mov r8, rax
mov rdx, qword [rsp + 0xe88]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x140109acf
cmp qword [rsp + 0x2a8], 0
je 0x140109acf
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0x468], rax
mov qword [rsp + 0x2a8], 0
mov rcx, qword [rsp + 0x468]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
add rax, 0x9578
mov rcx, rax
call fcn.14010dbb0
mov dword [rsp + 0x2b0], 0x3f1
mov rax, qword [rsp + 0xf10]
add rax, 0x9578
lea rdx, [rsp + 0x2b0]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x180]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x2b4], 0x3f3
mov rax, qword [rsp + 0xf10]
add rax, 0x9578
lea rdx, [rsp + 0x2b4]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1c0]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x2b8], 0x3f4
mov rax, qword [rsp + 0xf10]
add rax, 0x9578
lea rdx, [rsp + 0x2b8]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1b8]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x2bc], 0x518
mov rax, qword [rsp + 0xf10]
add rax, 0x9578
lea rdx, [rsp + 0x2bc]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1b0]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x2c0], 0x58b
mov rax, qword [rsp + 0xf10]
add rax, 0x9578
lea rdx, [rsp + 0x2c0]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1a8]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x2c4], 0x58c
mov rax, qword [rsp + 0xf10]
add rax, 0x9578
lea rdx, [rsp + 0x2c4]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x190]
mov rcx, rax
call fcn.140111e60
mov rax, qword [rsp + 0xf10]
add rax, 0x9598
mov rcx, rax
call fcn.14010dbb0
movzx eax, byte [rsp + 0x170]
test eax, eax
je 0x14010a49b
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x2d0], rax
cmp qword [rsp + 0x2d0], 0
je 0x140109c9f
mov rax, qword [rsp + 0x2d0]
mov qword [rax], 0
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0xe90], rax
jmp 0x140109cab
mov qword [rsp + 0xe90], 0
mov rax, qword [rsp + 0xe90]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x1e8], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x2e0], rax
cmp qword [rsp + 0x2e0], 0
je 0x140109d09
mov rax, qword [rsp + 0x2e0]
mov qword [rax], 0
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0xe98], rax
jmp 0x140109d15
mov qword [rsp + 0xe98], 0
mov rax, qword [rsp + 0xe98]
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x1e0], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x2f0], rax
cmp qword [rsp + 0x2f0], 0
je 0x140109d73
mov rax, qword [rsp + 0x2f0]
mov qword [rax], 0
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0xea0], rax
jmp 0x140109d7f
mov qword [rsp + 0xea0], 0
mov rax, qword [rsp + 0xea0]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x1f0], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x300], rax
cmp qword [rsp + 0x300], 0
je 0x140109ddd
mov rax, qword [rsp + 0x300]
mov qword [rax], 0
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0xea8], rax
jmp 0x140109de9
mov qword [rsp + 0xea8], 0
mov rax, qword [rsp + 0xea8]
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x1d0], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x310], rax
cmp qword [rsp + 0x310], 0
je 0x140109e47
mov rax, qword [rsp + 0x310]
mov qword [rax], 0
mov rax, qword [rsp + 0x310]
mov qword [rsp + 0xeb0], rax
jmp 0x140109e53
mov qword [rsp + 0xeb0], 0
mov rax, qword [rsp + 0xeb0]
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x1d8], rax
mov ecx, 8
call fcn.140250a78
mov qword [rsp + 0x320], rax
cmp qword [rsp + 0x320], 0
je 0x140109eb1
mov rax, qword [rsp + 0x320]
mov qword [rax], 0
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0xeb8], rax
jmp 0x140109ebd
mov qword [rsp + 0xeb8], 0
mov rax, qword [rsp + 0xeb8]
mov qword [rsp + 0x318], rax
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x8d0], rax
mov rax, qword [rsp + 0x8d0]
mov qword [rsp + 0x328], rax
lea rax, [rsp + 0x328]
mov qword [rsp + 0xec0], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x1d0
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 0x1d
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1e0]
mov r8, rax
mov rdx, qword [rsp + 0xec0]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x140109f99
cmp qword [rsp + 0x328], 0
je 0x140109f99
mov rax, qword [rsp + 0x328]
mov qword [rsp + 0x8d8], rax
mov qword [rsp + 0x328], 0
mov rcx, qword [rsp + 0x8d8]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x8e0], rax
mov rax, qword [rsp + 0x8e0]
mov qword [rsp + 0x330], rax
lea rax, [rsp + 0x330]
mov qword [rsp + 0xec8], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x7e
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 0x1d
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1f0]
mov r8, rax
mov rdx, qword [rsp + 0xec8]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x14010a055
cmp qword [rsp + 0x330], 0
je 0x14010a055
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x8e8], rax
mov qword [rsp + 0x330], 0
mov rcx, qword [rsp + 0x8e8]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x8f0], rax
mov rax, qword [rsp + 0x8f0]
mov qword [rsp + 0x338], rax
lea rax, [rsp + 0x338]
mov qword [rsp + 0xed0], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x15b
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 0x1d
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1e8]
mov r8, rax
mov rdx, qword [rsp + 0xed0]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x14010a111
cmp qword [rsp + 0x338], 0
je 0x14010a111
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0x8f8], rax
mov qword [rsp + 0x338], 0
mov rcx, qword [rsp + 0x8f8]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x900], rax
mov rax, qword [rsp + 0x900]
mov qword [rsp + 0x340], rax
lea rax, [rsp + 0x340]
mov qword [rsp + 0xed8], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x1cf
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 0x1d
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1d0]
mov r8, rax
mov rdx, qword [rsp + 0xed8]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x14010a1cd
cmp qword [rsp + 0x340], 0
je 0x14010a1cd
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x908], rax
mov qword [rsp + 0x340], 0
mov rcx, qword [rsp + 0x908]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x910], rax
mov rax, qword [rsp + 0x910]
mov qword [rsp + 0x348], rax
lea rax, [rsp + 0x348]
mov qword [rsp + 0xee0], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x1d0
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 0x1d
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x1a8]
mov r8, rax
mov rdx, qword [rsp + 0xee0]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x14010a289
cmp qword [rsp + 0x348], 0
je 0x14010a289
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x918], rax
mov qword [rsp + 0x348], 0
mov rcx, qword [rsp + 0x918]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rsp + 0x920], rax
mov rax, qword [rsp + 0x920]
mov qword [rsp + 0x350], rax
lea rax, [rsp + 0x350]
mov qword [rsp + 0xee8], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x1d0
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadIconW]
mov dword [rsp + 0x28], 0x1d
mov dword [rsp + 0x20], 0x10
mov r9, qword [rsp + 0x190]
mov r8, rax
mov rdx, qword [rsp + 0xee8]
mov rcx, qword [rsp + 0xf10]
call fcn.14010cb90
xor eax, eax
cmp eax, 1
je 0x14010a345
cmp qword [rsp + 0x350], 0
je 0x14010a345
mov rax, qword [rsp + 0x350]
mov qword [rsp + 0x928], rax
mov qword [rsp + 0x350], 0
mov rcx, qword [rsp + 0x928]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov dword [rsp + 0x358], 0x3f1
mov rax, qword [rsp + 0xf10]
add rax, 0x9598
lea rdx, [rsp + 0x358]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1e0]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x35c], 0x3f3
mov rax, qword [rsp + 0xf10]
add rax, 0x9598
lea rdx, [rsp + 0x35c]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1f0]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x360], 0x3f4
mov rax, qword [rsp + 0xf10]
add rax, 0x9598
lea rdx, [rsp + 0x360]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1e8]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x364], 0x518
mov rax, qword [rsp + 0xf10]
add rax, 0x9598
lea rdx, [rsp + 0x364]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1d0]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x368], 0x58b
mov rax, qword [rsp + 0xf10]
add rax, 0x9598
lea rdx, [rsp + 0x368]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1d8]
mov rcx, rax
call fcn.140111e60
mov dword [rsp + 0x36c], 0x58c
mov rax, qword [rsp + 0xf10]
add rax, 0x9598
lea rdx, [rsp + 0x36c]
mov rcx, rax
call fcn.14010d840
mov rdx, qword [rsp + 0x1c8]
mov rcx, rax
call fcn.140111e60
call sym.DriverReviver.exe_private:_static_class_DriverReviver::CSettings____ptr64___cdecl_boost::serialization::singleton_class_DriverReviver::CSettings_::get_instance_void_
mov qword [rsp + 0xdb8], rax
mov rcx, qword [rsp + 0xdb8]
call fcn.1400b7550
mov rcx, rax
call fcn.1401afb40
movzx eax, al
test eax, eax
jne 0x14010a503
mov dword [rsp + 0x370], 0x518
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x1b0]
lea r8, [rsp + 0x370]
lea rdx, [rsp + 0x178]
mov rcx, qword [rsp + 0xf10]
call fcn.140105650
jmp 0x14010a540
mov dword [rsp + 0x374], 0x3f4
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x1b8]
lea r8, [rsp + 0x374]
lea rdx, [rsp + 0x178]
mov rcx, qword [rsp + 0xf10]
call fcn.140105650
mov dword [rsp + 0x378], 0x3f3
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x1c0]
lea r8, [rsp + 0x378]
lea rdx, [rsp + 0x178]
mov rcx, qword [rsp + 0xf10]
call fcn.140105650
mov dword [rsp + 0x37c], 0x3f1
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x180]
lea r8, [rsp + 0x37c]
lea rdx, [rsp + 0x178]
mov rcx, qword [rsp + 0xf10]
call fcn.140105650
mov dword [rsp + 0x380], 0x58b
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x180]
lea r8, [rsp + 0x380]
lea rdx, [rsp + 0x178]
mov rcx, qword [rsp + 0xf10]
call fcn.140105650
mov dword [rsp + 0x384], 0x58c
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x180]
lea r8, [rsp + 0x384]
lea rdx, [rsp + 0x178]
mov rcx, qword [rsp + 0xf10]
call fcn.140105650
mov dword [rsp + 0x188], 0
mov dword [rsp + 0x18c], 0
lea rcx, [rsp + 0x188]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov dword [rsp + 0x198], 0
mov dword [rsp + 0x19c], 0
mov dword [rsp + 0x1a0], 0
mov dword [rsp + reloc.OLEAUT32.dll_OleTranslateColor], 0
lea rdx, [rsp + 0x198]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 0x600]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov rax, qword [rsp + 0xf10]
mov rax, qword [rax + 8]
mov qword [rsp + 0xe10], rax
mov eax, dword [rsp + reloc.OLEAUT32.dll_OleTranslateColor]
mov dword [rsp + 0xe0c], eax
mov eax, dword [rsp + 0x198]
mov dword [rsp + 0xe08], eax
mov edx, dword [rsp + 0xe0c]
mov ecx, dword [rsp + 0xe08]
call fcn.1400dd2a0
mov dword [rsp + 0xe08], eax
mov qword [rsp + 0x30], 0
mov rax, qword [rsp + 0xe10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xe0c]
mov r8d, dword [rsp + 0xe08]
mov edx, 8
mov rcx, qword [rsp + 0x178]
call qword [sym.imp.USER32.dll_TrackPopupMenu]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rax, qword [rsp + 0xf10]
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov qword [rsp + 0x388], 0
xor eax, eax
cmp eax, 1
je 0x14010a7ae
cmp qword [rsp + 0x178], 0
je 0x14010a7ae
cmp qword [rsp + 0x178], 0
jne 0x14010a783
jmp 0x14010a7ae
mov rcx, qword [rsp + 0x178]
call qword [sym.imp.USER32.dll_DestroyMenu]
mov dword [rsp + 0xe18], eax
cmp dword [rsp + 0xe18], 0
je 0x14010a7ae
mov qword [rsp + 0x178], 0
mov rax, qword [rsp + 0x388]
mov rcx, qword [rsp + 0xef0]
xor rcx, rsp
call fcn.140250fd0
add rsp, 0xf08
ret