Function at 0x140001569
Capabilities:
Link many functions at runtime

Disassembly:
jmp 0x140009b40
push rbp
push rdi
push r13
lea rbp, [rsp - 0x660]
sub rsp, 0x760
mov rax, qword [0x140074150]
xor rax, rsp
mov qword [rbp + 0x640], rax
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, str.nView64.dll
call fcn.140017830
mov r13, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14000a05b
lea rdx, str.NVIsHookEnabled
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140009ba5
call rax
mov dword [rdi + 0x50], eax
cmp dword [rdi + 0x50], 0
je 0x14000a04d
mov qword [rsp + 0x788], rbx
mov qword [rsp + 0x790], rsi
mov qword [rsp + 0x798], r12
lea rdx, str.DMGetCurrentDesktop
xor r12d, r12d
mov rcx, r13
mov qword [rsp + 0x758], r14
mov qword [rsp + 0x750], r15
mov dword [rsp + 0x40], r12d
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140009bfb
lea rcx, [rsp + 0x40]
call rax
lea rdx, str.DMEnumDesktops
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.DMGetDesktopInfo
mov rcx, r13
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
test r14, r14
je 0x140009d59
test rax, rax
je 0x140009d59
lea r8, [rdi + 0x5c]
lea rdx, [rsp + 0x30]
xor ecx, ecx
mov ebx, r12d
mov dword [rsp + 0x30], r12d
call r14
test eax, eax
je 0x140009d33
mov rsi, r12
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rsp + 0x30]
mov dword [rdi + rsi*4 + 0x2dc], ecx
cmp dword [rsp + 0x40], ecx
jne 0x140009c74
mov dword [rdi + 0x58], ebx
lea rdx, [rbp - 0x80]
mov word [rbp - 0x80], r12w
mov word [rbp - 0x30], r12w
mov word [rbp + 0x1d8], r12w
mov word [rbp + 0x3e4], r12w
mov dword [rbp + 0x3e0], r12d
mov dword [rbp + 0x420], 0x64
mov byte [rbp + 0x424], r12b
call r15
imul rax, rsi, 0x208
add rax, 0x2fc
lea r8, [rbp + 0x1d8]
mov edx, 0x820
add rax, rdi
sub r8, rax
nop dword [rax]
lea rcx, [rdx + 0x7ffff7de]
test rcx, rcx
je 0x140009cf4
movzx ecx, word [r8 + rax]
test cx, cx
je 0x140009cf4
mov word [rax], cx
add rax, 2
dec rdx
jne 0x140009cd0
jmp 0x140009cf9
test rdx, rdx
jne 0x140009cfd
sub rax, 2
mov word [rax], r12w
mov eax, dword [rbp + 0x3e0]
inc ebx
mov dword [rdi + rsi*4 + 0x133c], eax
lea rax, [rbx + rbx*4]
lea r8, [rdi + 0x5c]
shl rax, 4
lea rdx, [rsp + 0x30]
mov ecx, ebx
add r8, rax
mov esi, ebx
call r14
test eax, eax
jne 0x140009c60
mov dword [rdi + 0x54], ebx
test ebx, ebx
jne 0x140009d59
lea rcx, [rdi + 0x2fc]
lea r8, [0x14005d214]
mov edx, 0x208
call fcn.1400012d5
mov dword [rdi + 0x133c], r12d
lea rdx, str.HKEnumActions
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.HKEnumCommands
mov rcx, r13
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.HKGetProperty
mov rcx, r13
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.HKGetActionProperties
mov rcx, r13
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.HKGetActionParamFlags
mov rcx, r13
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
test r15, r15
je 0x140009ec9
test r12, r12
je 0x140009ec9
test rbx, rbx
je 0x140009ec9
test rsi, rsi
je 0x140009ec9
xor ebx, ebx
lea rdx, [rsp + 0x38]
xor ecx, ecx
mov esi, ebx
mov r14d, ebx
mov qword [rsp + 0x38], rbx
call r15
test eax, eax
je 0x140009ec2
nop word [rax + rax]
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x44]
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x34], ebx
call r12
test eax, eax
je 0x140009eab
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x48], ebx
call r13
test dword [rsp + 0x48], 0x2000
je 0x140009eae
mov rax, qword [rsp + 0x38]
mov edx, dword [rsp + 0x44]
mov ebx, r14d
mov qword [rdi + rbx*8 + 0x51e0], rax
mov eax, dword [rsp + 0x30]
lea rcx, [rsp + 0x58]
xor r8d, r8d
mov dword [rdi + rbx*4 + 0x5500], eax
call fcn.140012d90
lea rcx, [rbx + 0x1f]
mov edx, 0xa0
mov r8, qword [rax + 8]
lea rcx, [rcx + rcx*4]
shl rcx, 5
add rcx, rdi
call fcn.1400012d5
lea rcx, [rsp + 0x58]
call fcn.140013350
mov ecx, dword [rsp + 0x30]
call fcn.140001465
mov dword [rdi + rbx*4 + 0x5690], eax
xor ebx, ebx
inc r14d
inc esi
lea rdx, [rsp + 0x38]
mov ecx, esi
call r15
test eax, eax
jne 0x140009e00
mov dword [rdi + 0x135c], r14d
mov r13, qword [rsp + 0x50]
lea rdx, str.PMEnum
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.PMGetCurrentProfile
mov rcx, r13
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.PMGetProfileInfo
mov rcx, r13
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rsi, rsi
je 0x14000a025
test rbx, rbx
je 0x14000a025
test rax, rax
je 0x14000a025
lea rcx, [rdi + 0x5820]
call rbx
xor r12d, r12d
lea rcx, [rbp + 0x432]
xor edx, edx
mov r8d, 0x206
mov ebx, r12d
mov word [rbp + 0x430], r12w
call fcn.14001cc90
lea rdx, [rbp + 0x430]
xor ecx, ecx
call rsi
test eax, eax
je 0x14000a01f
mov r9d, ebx
lea rcx, [rdi + 0x5a28]
lea r8, [rbp + 0x430]
mov edx, 0x104
imul rax, r9, 0x208
add rcx, rax
sub r8, rcx
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140009fa7
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140009fa7
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x140009f83
jmp 0x140009fac
test rdx, rdx
jne 0x140009fb0
sub rcx, 2
imul rax, r9, 0xfa0
mov word [rcx], r12w
lea rdx, [rdi + 0x12548]
add rdx, rax
lea rax, [rsp + 0x34]
lea rcx, [rbp + 0x430]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov r8d, 0xfa0
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x34], r12d
call r14
lea rdx, [rdi + 0x5820]
lea rcx, [rbp + 0x430]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x14000a00a
mov dword [rdi + 0x73fc8], ebx
inc ebx
lea rdx, [rbp + 0x430]
mov ecx, ebx
call rsi
test eax, eax
jne 0x140009f60
mov dword [rdi + 0x73fcc], ebx
mov r14, qword [rsp + 0x758]
mov r12, qword [rsp + 0x798]
mov rsi, qword [rsp + 0x790]
mov rbx, qword [rsp + 0x788]
mov r15, qword [rsp + 0x750]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
mov rcx, qword [rbp + 0x640]
xor rcx, rsp
call fcn.14001cc60
add rsp, 0x760
pop r13
pop rdi
pop rbp
ret