Function at 0x14003f690
Capabilities:
Create process on windows
Get uefi variable
Log keystrokes via application hook
Print debug messages
Query or enumerate registry value
Set registry value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x590
mov qword [rsp + 0x180], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x1400f0bc8]
xor rax, rsp
mov qword [rsp + 0x580], rax
mov rbx, rcx
xor eax, eax
or rsi, 0xffffffffffffffff
mov rcx, rsi
lea rdi, str.c:_templog.txt
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.c:_templog.txt
lea rcx, [0x1400fb390]
call fcn.140001bd0
lea rcx, str.CRtHDVBgProcWnd::Init__n
call fcn.1400022c0
lea rcx, str.CRtHDVBgProcWnd::Init__n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor ebp, ebp
mov dword [0x1400f9e3c], ebp
mov rcx, rbx
call fcn.140044b20
mov rdi, qword [0x1400fb380]
cmp dword [rdi - 0x10], ebp
je 0x14003f7b6
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], ebp
jl 0x14003f759
cmp rax, qword [rdi - 0x18]
jne 0x14003f759
lea rbx, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x14003f796
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
jne 0x14003f775
call fcn.140001a80
int3
mov eax, dword [rdi - 0x10]
mov dword [rbx + 8], eax
mov eax, dword [rdi - 0x10]
add eax, 1
movsxd rdx, eax
add rdx, rdx
mov r8, rdi
lea rcx, [rbx + 0x18]
mov r9, rdx
call fcn.14008e4d0
lea rax, [rbx + 0x18]
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0x118]
call fcn.140018160
xor eax, eax
jmp 0x14004141f
cmp qword [rbx + 0xcd0], rbp
jle 0x14003f7cb
lea rcx, [rbx + 0xcb8]
call fcn.140062e64
cmp dword [0x1400fb36c], ebp
je 0x14003fb34
lea rcx, [rsp + 0x58]
call fcn.140016cc0
nop
xor eax, eax
mov rcx, rsi
lea rbx, str.RealtekAudioHDA_
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
mov r13, rbx
mov rax, qword [rsp + 0x58]
sub r13, rax
sar r13, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + rcx - 1]
mov r12d, 1
mov edx, r12d
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, edx
jge 0x14003f838
mov edx, edi
lea rcx, [rsp + 0x58]
call fcn.140001970
mov rax, qword [rsp + 0x58]
cmp r13, r14
ja 0x14003f841
lea rbx, [rax + r13*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, rbx
call fcn.14008e4d0
test edi, edi
js 0x14003fb29
mov rax, qword [rsp + 0x58]
cmp edi, dword [rax - 0xc]
jg 0x14003fb29
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x58]
mov word [rax + rcx*2], 0
xor eax, eax
mov rcx, rsi
lea r13, str.RAVCpl64.exe
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
mov rbx, r13
mov rax, qword [rsp + 0x58]
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + rcx - 1]
sub r12d, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, r12d
jge 0x14003f8cc
mov edx, edi
lea rcx, [rsp + 0x58]
call fcn.140001970
mov rax, qword [rsp + 0x58]
cmp rbx, r14
ja 0x14003f8d5
lea r13, [rax + rbx*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.14008e4d0
test edi, edi
js 0x14003fb1e
mov rax, qword [rsp + 0x58]
cmp edi, dword [rax - 0xc]
jg 0x14003fb1e
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x58]
mov word [rax + rcx*2], 0
call fcn.140062978
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14003f930
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0xf0], rax
mov r8, qword [rsp + 0x58]
lea rdx, str.__s_
lea rcx, [rsp + 0xf0]
call fcn.140001e50
mov r12, qword [rsp + 0xf0]
mov rcx, qword [r12 - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r12 - 8], 0
jl 0x14003f991
cmp rax, qword [r12 - 0x18]
jne 0x14003f991
lea rbx, [r12 - 0x18]
lock add dword [r12 - 8], 1
jmp 0x14003f9d5
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r12 - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
jne 0x14003f9af
call fcn.140001a80
int3
mov eax, dword [r12 - 0x10]
mov dword [rbx + 8], eax
mov eax, dword [r12 - 0x10]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
mov r8, r12
add rdx, rdx
lea rcx, [rbx + 0x18]
call fcn.14008e4d0
add rbx, 0x18
mov qword [rsp + 0x140], rbx
call fcn.140062978
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14003fa00
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x90], rdi
lea rdx, [0x1400c8bf4]
test rdx, 0xffffffffffff0000
jne 0x14003fa53
movzx r13d, dx
mov ecx, r13d
call fcn.140062784
test rax, rax
je 0x14003fa7a
mov r8d, r13d
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140001fe0
mov rdi, qword [rsp + 0x90]
jmp 0x14003fa7a
xor eax, eax
mov rcx, rsi
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x90]
call fcn.140001bd0
mov rdi, qword [rsp + 0x90]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rbp
mov r9, rdi
mov r8, rbx
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fab4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fad8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, esi
lock xadd dword [r12 - 8], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003faf9
mov rcx, qword [r12 - 0x18]
mov rax, qword [rcx]
lea rdx, [r12 - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x14003fb17
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004141f
mov ecx, 0x80070057
call fcn.140001950
int3
mov ecx, 0x80070057
call fcn.140001950
nop
cmp dword [0x1400fb370], ebp
je 0x14003fe9d
lea rcx, [rsp + 0x50]
call fcn.140016cc0
nop
xor eax, eax
mov rcx, rsi
lea rbx, str.RealtekAudioHDA_
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
mov r13, rbx
mov rax, qword [rsp + 0x50]
sub r13, rax
sar r13, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + rcx - 1]
mov r12d, 1
mov edx, r12d
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, edx
jge 0x14003fba1
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.140001970
mov rax, qword [rsp + 0x50]
cmp r13, r14
ja 0x14003fbaa
lea rbx, [rax + r13*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, rbx
call fcn.14008e4d0
test edi, edi
js 0x14003fe92
mov rax, qword [rsp + 0x50]
cmp edi, dword [rax - 0xc]
jg 0x14003fe92
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], 0
xor eax, eax
mov rcx, rsi
lea r13, str.EP64.exe
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
mov rbx, r13
mov rax, qword [rsp + 0x50]
sub rbx, rax
sar rbx, 1
mov r14d, dword [rax - 0x10]
lea edi, [r14 + rcx - 1]
sub r12d, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, r12d
jge 0x14003fc35
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.140001970
mov rax, qword [rsp + 0x50]
cmp rbx, r14
ja 0x14003fc3e
lea r13, [rax + rbx*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, r13
call fcn.14008e4d0
test edi, edi
js 0x14003fe87
mov rax, qword [rsp + 0x50]
cmp edi, dword [rax - 0xc]
jg 0x14003fe87
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], 0
call fcn.140062978
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14003fc99
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0xc0], rax
mov r8, qword [rsp + 0x50]
lea rdx, str.__s_
lea rcx, [rsp + 0xc0]
call fcn.140001e50
mov r12, qword [rsp + 0xc0]
mov rcx, qword [r12 - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r12 - 8], 0
jl 0x14003fcfa
cmp rax, qword [r12 - 0x18]
jne 0x14003fcfa
lea rbx, [r12 - 0x18]
lock add dword [r12 - 8], 1
jmp 0x14003fd3e
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r12 - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
jne 0x14003fd18
call fcn.140001a80
int3
mov eax, dword [r12 - 0x10]
mov dword [rbx + 8], eax
mov eax, dword [r12 - 0x10]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
mov r8, r12
add rdx, rdx
lea rcx, [rbx + 0x18]
call fcn.14008e4d0
add rbx, 0x18
mov qword [rsp + 0xd8], rbx
call fcn.140062978
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14003fd69
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x88], rdi
lea rdx, [0x1400c8bf4]
test rdx, 0xffffffffffff0000
jne 0x14003fdbc
movzx r13d, dx
mov ecx, r13d
call fcn.140062784
test rax, rax
je 0x14003fde3
mov r8d, r13d
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001fe0
mov rdi, qword [rsp + 0x88]
jmp 0x14003fde3
xor eax, eax
mov rcx, rsi
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x88]
call fcn.140001bd0
mov rdi, qword [rsp + 0x88]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rbp
mov r9, rdi
mov r8, rbx
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fe1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fe41
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, esi
lock xadd dword [r12 - 8], eax
add eax, 0xffffffff
test eax, eax
jg 0x14003fe62
mov rcx, qword [r12 - 0x18]
mov rax, qword [rcx]
lea rdx, [r12 - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x14003fe80
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004141f
mov ecx, 0x80070057
call fcn.140001950
int3
mov ecx, 0x80070057
call fcn.140001950
nop
mov r12d, 1
cmp dword [0x1400fb35c], ebp
jne 0x14003febb
cmp dword [0x1400fb360], ebp
jne 0x14003febb
cmp dword [0x1400fb378], ebp
je 0x14003fec2
mov dword [0x1400fb37c], r12d
cmp dword [0x1400fb2c4], ebp
je 0x14003fef3
lea rcx, [rbx + 0x868]
mov dword [rsp + 0x20], ebp
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
call fcn.140034a70
mov rcx, rbx
call fcn.140055670
xor eax, eax
jmp 0x14004141f
mov rcx, rbx
call fcn.140044c20
cmp dword [0x1400fb35c], ebp
jne 0x14003ff13
cmp dword [0x1400fb360], ebp
jne 0x14003ff13
cmp dword [0x1400fb378], ebp
je 0x14003ff79
lea rdi, [rbx + 0x868]
lea rax, [rbx + 0xa40]
test rdi, rdi
je 0x14003ff39
test rax, rax
je 0x14003ff39
mov qword [rbx + 0x4e0], rdi
mov qword [rbx + 0x4e8], rax
call fcn.140071a68
test rax, rax
je 0x14003ff5a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x14003ff5a
mov rax, qword [rax + 0x40]
jmp 0x14003ff5d
mov rax, rbp
mov qword [rdi + 0x88], rax
mov qword [rdi + 0xa0], rax
mov dword [0x1400f9e38], ebp
mov rcx, rbx
call fcn.1400559f0
bt dword [rbx + 0xa58], 0x1d
jae 0x140040011
cmp dword [0x1400fb338], ebp
jne 0x14003ff97
cmp dword [0x1400fb34c], ebp
je 0x140040011
mov ecx, 0x30
call fcn.140062370
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x14003ffb9
mov rcx, rax
call fcn.140025b10
mov rbp, rax
test rbp, rbp
je 0x14004000a
mov rcx, rbp
call fcn.140025c20
test eax, eax
je 0x14003fff8
mov rcx, rbp
call fcn.140025d40
test eax, eax
je 0x14003fff8
cmp dword [rbp + 0x14], 0
je 0x14003fff8
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x120]
call fcn.140010c50
mov rdx, rax
mov rcx, rbx
call fcn.140056a70
mov edx, r12d
mov rcx, rbp
call fcn.1400416f0
xor eax, eax
jmp 0x14004141f
xor eax, eax
jmp 0x14004141f
cmp dword [0x1400fb344], ebp
je 0x140040167
mov rcx, qword [rbx + 0x490]
test rcx, rcx
je 0x140040031
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov qword [rbx + 0x490], rbp
mov ecx, 0x138
call fcn.140062370
mov qword [rsp + 0x120], rax
test rax, rax
je 0x14004005f
mov r8b, 1
mov rdx, rbx
mov rcx, rax
call fcn.14002fab0
jmp 0x140040062
mov rax, rbp
mov qword [rbx + 0x490], rax
xor ecx, ecx
mov qword [rsp + 0x1d0], rcx
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1f0], rcx
mov qword [rsp + 0x1f8], rcx
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x208], rcx
lea rdx, [rsp + 0x1d0]
mov rcx, rax
call fcn.140032490
call fcn.140062978
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x1400400da
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0xb0], rax
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0xb0]
call fcn.140058ac0
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x130]
call fcn.140010c50
mov rdx, rax
mov rcx, rbx
call fcn.140056a70
mov rcx, qword [rbx + 0x490]
test rcx, rcx
je 0x14004013f
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov qword [rbx + 0x490], rbp
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x140040160
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004141f
cmp dword [0x1400fb354], ebp
je 0x140040425
mov rcx, qword [rbx + 0x490]
test rcx, rcx
je 0x140040187
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov qword [rbx + 0x490], rbp
mov ecx, 0x138
call fcn.140062370
mov qword [rsp + 0x130], rax
test rax, rax
je 0x1400401b5
mov r8b, 1
mov rdx, rbx
mov rcx, rax
call fcn.14002fab0
jmp 0x1400401b8
mov rax, rbp
mov qword [rbx + 0x490], rax
xor ecx, ecx
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0x218], rcx
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x238], rcx
mov qword [rsp + 0x240], rcx
mov qword [rsp + 0x248], rcx
lea rdx, [rsp + 0x210]
mov rcx, rax
call fcn.140032490
call fcn.140062978
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x140040230
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x210]
lea rcx, [rsp + 0x60]
call fcn.140058ac0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x178]
call fcn.140010c50
mov rdx, rax
mov rcx, rbx
call fcn.140056a70
cmp eax, 1
jne 0x1400402c2
lea rcx, str.CRtHDVBgProcWnd::Init_WriteR0Registry_true_n
call fcn.1400022c0
mov rcx, qword [rbx + 0x490]
test rcx, rcx
je 0x14004029d
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov qword [rbx + 0x490], rbp
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x1400402bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004141f
xor eax, eax
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xfc], eax
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x104], eax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
mov dword [rsp + 0x110], eax
lea rcx, [rbx + 0xa40]
lea rdx, [rsp + 0x1a0]
call fcn.14005e620
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.14001b8b0
mov edi, eax
mov edx, eax
lea rcx, str.first_time_getR0_d_n
call fcn.1400022c0
test edi, edi
je 0x1400403ec
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0xf8]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rcx + 0x18]
mov dword [rdx + 0x18], eax
lea r8, [rsp + 0x1b0]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140057ef0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x160]
call fcn.140010c50
mov rdx, rax
mov rcx, rbx
call fcn.1400585d0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x188]
call fcn.140010c50
mov rdx, rax
mov rcx, rbx
call fcn.140056a70
mov rcx, qword [rbx + 0x490]
test rcx, rcx
je 0x1400403c7
mov rax, qword [rcx]
mov edx, r12d
call qword [rax]
mov qword [rbx + 0x490], rbp
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x1400403e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004141f
xor r9d, r9d
mov edx, 0x3ef
mov r8d, 0x4e20
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SetTimer]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040425
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [0x1400fb374], 0
je 0x14004047c
mov dword [rbx + 0x508], ebp
mov rcx, rbx
call fcn.140055b80
test eax, eax
je 0x140040454
mov dword [rbx + 0x508], r12d
mov edx, r12d
mov rcx, rbx
call fcn.140055f70
jmp 0x140040464
mov dword [rbx + 0x508], ebp
xor edx, edx
mov rcx, rbx
call fcn.140055f70
xor r9d, r9d
mov edx, 0x3f1
mov r8d, 0x1388
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x1400fb368], 0
je 0x14004049d
xor r9d, r9d
mov edx, 0x3f0
mov r8d, 0x7530
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x1400fb348], 0
je 0x140040597
mov rcx, rbx
call fcn.1400569d0
mov r9d, 0x104
lea r8, [rsp + 0x470]
lea rdx, str.DDE3B212_51F2_40C2_B51F_43268123D113
lea rcx, str.Real_AMP
call qword [sym.imp.KERNEL32.dll_GetFirmwareEnvironmentVariableA]
movsxd r12, eax
test eax, eax
jne 0x1400404e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
call fcn.140062978
mov rcx, rax
test rax, rax
setne bpl
test ebp, ebp
jne 0x1400404ff
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea rdx, [rsp + 0x470]
lea rcx, [rsp + 0xa0]
call fcn.140058ac0
mov rdi, qword [rsp + 0xa0]
test r12d, r12d
je 0x140040556
test r12d, r12d
js 0x14004054b
cmp r12d, dword [rdi - 0xc]
jg 0x14004054b
mov dword [rdi - 0x10], r12d
mov word [rdi + r12*2], 0
jmp 0x140040556
mov ecx, 0x80070057
call fcn.140001950
int3
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x170]
call fcn.140010c50
mov rdx, rax
mov rcx, rbx
call fcn.140056a70
nop
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x140040590
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004141f
cmp dword [0x1400fb350], 0
je 0x14004073f
mov ecx, 0x30
call fcn.140062370
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400405c5
mov rcx, rax
call fcn.140025b10
mov r13, rax
jmp 0x1400405c8
mov r13, rbp
test r13, r13
je 0x140040738
mov rcx, r13
call fcn.140001000
test eax, eax
je 0x14004060b
mov edx, 0x40
mov rcx, r13
call fcn.140001120
lea rdx, [r13 + 0x28]
lea rcx, [rsp + 0x198]
call fcn.140010c50
mov rdx, rax
mov rcx, rbx
call fcn.140056a70
jmp 0x140040726
xor edx, edx
mov r8d, 0x104
lea rcx, [rsp + 0x250]
call fcn.1400926c0
call fcn.140062978
mov rcx, rax
test rax, rax
setne bpl
test ebp, ebp
jne 0x14004063e
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x68], rdi
mov rcx, rbx
call fcn.1400569d0
mov r9d, 0x104
lea r8, [rsp + 0x250]
lea rdx, str.B870EF1B_1810_4A27_B2C3_EC2DCA72B027
lea rcx, str.RLKCODEC
call qword [sym.imp.KERNEL32.dll_GetFirmwareEnvironmentVariableA]
mov ebp, eax
test eax, eax
jne 0x140040688
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14004070d
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x250]
repne scasb al, byte [rdi]
not rcx
lea rdi, [rcx - 1]
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x68]
call fcn.140058ac0
test ebp, ebp
je 0x1400406db
test edi, edi
js 0x1400406d0
mov rax, qword [rsp + 0x68]
cmp edi, dword [rax - 0xc]
jg 0x1400406d0
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov word [rax + rcx*2], 0
jmp 0x1400406db
mov ecx, 0x80070057
call fcn.140001950
int3
xor edx, edx
lea r8d, [rdx + 2]
lea rcx, [rsp + 0x68]
call fcn.14003e3e0
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x148]
call fcn.140010c50
mov rdx, rax
mov rcx, rbx
call fcn.140056a70
mov rdi, qword [rsp + 0x68]
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x140040726
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, r12d
mov rcx, r13
call fcn.1400416f0
xor eax, eax
jmp 0x14004141f
xor eax, eax
jmp 0x14004141f
cmp dword [0x1400fb358], 0
je 0x1400409a1
xor edx, edx
mov r8d, 0x104
lea rcx, [rsp + 0x360]
call fcn.1400926c0
call fcn.140062978
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x140040780
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x80], rdi
mov rcx, rbx
call fcn.1400569d0
mov r9d, 0x104
lea r8, [rsp + 0x360]
lea rdx, str.B870EF1B_1810_4A27_B2C3_EC2DCA72B027
lea rcx, str.RLKCODEC
call qword [sym.imp.KERNEL32.dll_GetFirmwareEnvironmentVariableA]
mov r13d, eax
test eax, eax
jne 0x1400407d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140040961
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x360]
repne scasb al, byte [rdi]
not rcx
lea rbx, [rcx - 1]
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x80]
call fcn.140058ac0
mov rdi, qword [rsp + 0x80]
test r13d, r13d
je 0x14004082b
test ebx, ebx
js 0x140040820
cmp ebx, dword [rdi - 0xc]
jg 0x140040820
mov dword [rdi - 0x10], ebx
movsxd rax, ebx
mov word [rdi + rax*2], 0
jmp 0x14004082b
mov ecx, 0x80070057
call fcn.140001950
nop
mov qword [rsp + 0xd0], rbp
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
lea rdx, str.SOFTWARERealtekRealtekEffectsDriver
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140040873
mov rbx, qword [rsp + 0xd0]
mov qword [rsp + 0xc8], rbx
jmp 0x1400408d8
mov qword [rsp + 0xe8], rbp
lea rax, [rsp + 0x138]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], ebp
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SOFTWARERealtekRealtekEffectsDriver
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140040981
mov rbx, qword [rsp + 0xe8]
mov qword [rsp + 0xc8], rbx
cmp dword [rdi - 8], 1
jle 0x1400408f6
mov edx, dword [rdi - 0x10]
lea rcx, [rsp + 0x80]
call fcn.1400019d0
mov rdi, qword [rsp + 0x80]
mov eax, ebp
test rdi, rdi
setne al
test eax, eax
jne 0x14004090d
mov ecx, 0x80004005
call fcn.140001950
int3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax + rax + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, r12d
xor r8d, r8d
lea rdx, str.MAXIM_CAL
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rbx, rbx
je 0x140040952
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, rbp
mov qword [rsp + 0xc8], rbx
test rbx, rbx
je 0x140040961
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x14004097a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004141f
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x14004099a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x14004141f
test byte [rbx + 0xb9c], 1
je 0x140040ab7
mov edi, ebp
lea rdx, [rsp + 0x78]
lea rcx, [rbx + 0xa40]
call fcn.14005e620
nop
lea rdx, [0x1400c8d94]
lea rcx, [rsp + 0x98]
call fcn.140058a00
nop
lea rcx, [rsp + 0x78]
call fcn.140010640
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x140040a10
mov rcx, qword [rsp + 0x78]
cmp dword [rcx - 0x10], 0
jl 0x140040a10
call fcn.14008ee00
test rax, rax
je 0x140040a10
sub rax, qword [rsp + 0x78]
sar rax, 1
cmp eax, 0xffffffff
jne 0x140040a75
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rbx
call fcn.140044c20
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040a48
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040a68
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add edi, 1
cmp edi, 0xa
jge 0x140040ab7
jmp 0x1400409b0
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140040a99
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x140040ab7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [rbx + 0xb70]
shr eax, 9
and eax, 1
mov dword [rbx + 0x1208], eax
cmp dword [0x1400fb2b8], 0
je 0x140040b0b
mov rcx, rbx
call fcn.1400553c0
cmp dword [0x1400fb298], 0
jne 0x140040afc
cmp dword [0x1400fb2ac], 0
jne 0x140040afc
lea rcx, [0x1400fb100]
call fcn.14003e350
test eax, eax
je 0x140040b04
mov rcx, rbx
call fcn.140044460
xor eax, eax
jmp 0x14004141f
lea rcx, [0x1400fb100]
call fcn.14003e350
test eax, eax
jne 0x140041415
cmp dword [0x1400fb298], eax
jne 0x140041415
cmp dword [0x1400fb2ac], eax
jne 0x140041415
cmp dword [0x1400fb2b4], eax
je 0x140040b65
lea rcx, [rbx + 0xa40]
lea rdx, [rsp + 0x1a8]
call fcn.14005e620
mov edx, r12d
mov rcx, rax
call fcn.14002d2a0
xor eax, eax
jmp 0x14004141f
mov dword [rbx + 0x670], 0x67
mov dword [rbx + 0x674], 0x66
cmp dword [0x1400fb2fc], 0
je 0x140040c1b
add rbx, 0x868
je 0x140040c14
call fcn.14005d600
lea rcx, [rbx + 0x190]
call fcn.140034400
mov esi, dword [rbx + 0x138]
test esi, esi
je 0x140040c03
nop
cmp ebp, dword [rbx + 0x138]
jae 0x140040bf4
mov edx, ebp
lea rcx, [rbx + 0x120]
call fcn.140062f5c
test rax, rax
je 0x140040bfd
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x140040bf4
lea rdx, [rsp + 0x190]
mov rcx, rdi
call fcn.14003a360
mov rcx, rax
call fcn.14005d080
mov rcx, rdi
call fcn.14005cc10
add ebp, 1
cmp ebp, esi
jae 0x140040c03
jmp 0x140040bb0
call fcn.140062504
int3
mov rax, qword [rbx + 0x190]
lea rcx, [rbx + 0x190]
call qword [rax + 0x28]
xor eax, eax
jmp 0x14004141f
cmp dword [0x1400fb320], 0
je 0x140040c31
call fcn.1400193d0
test eax, eax
je 0x14004141f
cmp dword [0x1400fb330], 0
je 0x140040c50
cmp dword [0x1400f9f6c], 0
je 0x140040c50
call fcn.1400193d0
test eax, eax
je 0x14004141f
cmp dword [0x1400fb248], 0
je 0x140040c8a
lea rdi, [0x1400f31f0]
mov esi, 0x26
mov rdx, qword [rdi]
test rdx, rdx
je 0x140040c79
lea rcx, [rbx + 0xcb8]
call fcn.1400630b0
add rdi, 8
sub rsi, 1
jne 0x140040c65
mov dword [rbx + 0x11d4], r12d
cmp dword [0x1400fb244], 0
je 0x140040c9b
mov rcx, rbx
call fcn.14004c1c0
cmp dword [0x1400fb2e0], 0
je 0x140040ccf
mov rcx, rbx
call fcn.14004c260
bt dword [rbx + 0xaf4], 0x1d
jae 0x140040cbe
mov rcx, rbx
call fcn.14004c640
test byte [rbx + 0xb5c], 0x80
je 0x140040ccf
mov rcx, rbx
call fcn.1400527d0
cmp dword [0x1400fb2e8], 0
je 0x140040cfe
mov dword [rbx + 0x11d4], r12d
mov rdx, qword [0x1400f26f0]
test rdx, rdx
je 0x140040cf7
lea rcx, [rbx + 0xcb8]
call fcn.1400630b0
mov dword [rbx + 0x11d4], r12d
cmp dword [0x1400fb2e4], 0
je 0x140040d0e
mov dword [rbx + 0x11d4], r12d
cmp dword [0x1400fb24c], 0
je 0x140040d29
xor edx, edx
mov rcx, rbx
call fcn.14004c6d0
mov rcx, rbx
call fcn.14004f550
cmp dword [0x1400fb250], 0
je 0x140040d45
mov edx, r12d
mov rcx, rbx
call fcn.14004c6d0
mov rcx, rbx
call fcn.14004f600
cmp dword [0x1400fb254], 0
je 0x140040d60
xor edx, edx
mov rcx, rbx
call fcn.14004c6d0
mov rcx, rbx
call fcn.14004f4c0
lea rcx, [0x1400fb100]
call fcn.14003e2f0
test eax, eax
jne 0x140040d80
cmp dword [0x1400fb260], eax
jne 0x140040d80
cmp dword [0x1400fb334], eax
je 0x140040d88
mov rcx, rbx
call fcn.140044640
cmp dword [0x1400fb258], 0
je 0x140040dfb
mov dword [rbx + 0xcb0], r12d
lea rdi, [0x1400f2600]
mov esi, SafeArrayGetDim
mov rdx, qword [rdi]
test rdx, rdx
je 0x140040db8
lea rcx, [rbx + 0xcb8]
call fcn.1400630b0
add rdi, 8
sub rsi, 1
jne 0x140040da4
mov dword [rbx + 0x11d4], r12d
lea rcx, [rbx + 0xa40]
lea rdx, [rsp + 0x150]
call fcn.14005e620
mov rdx, rax
lea rcx, [rbx + 0xd10]
call fcn.140023bc0
mov dword [rbx + 0xdf8], r12d
mov rcx, rbx
call fcn.140051d10
cmp dword [0x1400fb2d8], 0
je 0x140040e3d
lea rcx, [rbx + 0x10e0]
call fcn.14005aba0
mov rax, qword [rbx + 0x1110]
test rax, rax
je 0x140040e2b
xor r8d, r8d
mov rdx, rbx
lea rcx, [0x140052fb0]
call rax
mov rcx, rbx
call fcn.140052fd0
xor edx, edx
mov rcx, rbx
call fcn.140051b00
cmp dword [0x1400fb2dc], 0
je 0x140041057
mov edx, r12d
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_ChangeWindowMessageFilter]
movzx edx, word [rbx + 0xa42]
cmp edx, 0x1025
je 0x140040e8c
cmp edx, 0x17aa
jne 0x140040e93
mov dword [0x1400fa6a8], 0xff
mov dword [0x1400fa6ac], 0x71
mov dword [rbx + 0x11b0], r12d
jmp 0x140040e93
mov dword [rbx + 0x11b4], r12d
lea rcx, [rbx + 0xc20]
cmp dword [rcx], 0
jne 0x140040fd2
cmp dword [rbx + 0xc24], 0
jne 0x140040fd2
cmp dword [rbx + 0xc28], 0
jne 0x140040fd2
cmp dword [rbx + 0xc2c], 0
jne 0x140040fd2
mov ecx, dword [rbx + 0xbe8]
test ecx, ecx
je 0x140040ef7
movzx eax, byte [rbx + 0xbe9]
mov dword [0x1400faeb0], eax
movzx eax, cl
mov dword [0x1400faeb4], eax
mov rcx, rbx
call fcn.1400522f0
jmp 0x14004102f
bt dword [rbx + 0xb6c], 0xc
jae 0x140040f1a
mov dword [0x1400fa6a8], 0xff
mov dword [0x1400fa6ac], 2
jmp 0x14004102f
movzx eax, word [rbx + 0xa40]
shl edx, 0x10
or eax, edx
sub eax, 0x17aa215e
je 0x140040f9d
sub eax, 0x5a
je 0x140040f6d
sub eax, 0x17bd
jne 0x14004102f
movzx eax, word [rbx + 0xa44]
cmp ax, 0x4010
je 0x140040f54
cmp ax, 0x4012
jne 0x14004102f
mov dword [0x1400fa6a8], 0xff
mov dword [0x1400fa6ac], 0x71
jmp 0x14004102f
movzx eax, word [rbx + 0xa44]
cmp ax, 0x21bd
je 0x140040f84
cmp ax, 0x21bf
jne 0x14004102f
mov dword [0x1400fa6a8], 0xff
mov dword [0x1400fa6ac], 0x71
jmp 0x14004102f
movzx eax, word [rbx + 0xa44]
cmp ax, 0x21a3
je 0x140040fbc
cmp ax, 0x21a5
je 0x140040fbc
cmp ax, 0x21ba
je 0x140040fbc
cmp ax, 0x21bc
jne 0x14004102f
mov dword [0x1400fa6a8], 0xff
mov dword [0x1400fa6ac], 0x71
jmp 0x14004102f
mov dword [0x1400faed8], ebp
mov rdx, rbp
mov edi, 4
lea r8, [0x140000000]
nop
nop
nop
movzx eax, byte [rcx + 1]
mov dword [rdx + r8 + 0xfaeb8], eax
movzx eax, byte [rcx]
mov dword [rdx + r8 + 0xfaec8], eax
add rdx, 4
add rcx, 4
sub rdi, 1
jne 0x140040ff0
cmp dword [0x1400faec0], edi
jne 0x14004102f
mov eax, ebp
cmp dword [0x1400faec4], eax
cmovne eax, r12d
mov dword [0x1400faed8], eax
cmp qword [0x1400f9f70], 0
jne 0x140041057
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140051e10]
lea ecx, [r9 + 0xd]
call qword [sym.imp.USER32.dll_SetWindowsHookExW]
mov qword [0x1400f9f70], rax
bt dword [rbx + 0xaf4], 0xf
jae 0x140041155
mov rdi, rbp
mov dword [rsp + 0x70], ebp
mov qword [rsp + 0xe0], rbp
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
lea rdx, [0x1400c8d98]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14004113b
mov rdi, qword [rsp + 0xe0]
mov qword [rsp + 0x158], rdi
mov dword [rsp + 0xac], 4
lea rax, [rsp + 0xac]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x128]
xor r8d, r8d
lea rdx, str.Logoff
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [rsp + 0x70], 2
jne 0x14004113b
mov edx, r12d
mov rcx, rbx
call fcn.140052a00
mov dword [rsp + 0xb8], r12d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.Logoff
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor edx, edx
mov rcx, qword [rbx + 0x40]
call sub.WTSAPI32.dll_WTSRegisterSessionNotification
nop
test rdi, rdi
je 0x140041155
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, rbx
call fcn.140049f60
cmp dword [0x1400fb248], 0
je 0x14004116e
mov rcx, rbx
call fcn.140043ea0
lea rcx, [0x1400fb100]
call fcn.14003e2f0
test eax, eax
jne 0x140041186
cmp dword [0x1400fb260], eax
je 0x14004118e
mov rcx, rbx
call fcn.1400443a0
cmp dword [0x1400fb2f0], 0
je 0x1400411a6
mov dword [rbx + 0x11d4], r12d
mov rcx, rbx
call fcn.1400530f0
cmp dword [0x1400fb2f4], 0
jne 0x1400411c1
cmp dword [0x1400fb2f8], 0
jne 0x1400411c1
cmp dword [0x1400fb2cc], 0
je 0x1400411c8
mov dword [rbx + 0x11d4], r12d
cmp dword [0x1400fb324], 0
jne 0x1400411da
cmp dword [0x1400fb308], 0
je 0x1400411f4
mov qword [rbx + 0xd00], rbx
lea rdx, [rbx + 0xcf8]
lea rcx, [rbx + 0x868]
call fcn.140034cd0
cmp dword [0x1400fb300], 0
je 0x140041223
lea rcx, [rbx + 0xcb8]
lea rdx, [0x1400c15c8]
call fcn.1400630b0
mov dword [rbx + 0x11d4], r12d
lea rcx, [rbx + 0x868]
call fcn.14005b260
mov rcx, rbx
call fcn.140043a40
cmp dword [0x1400fb314], 0
je 0x140041240
lea rcx, [rbx + 0x868]
call fcn.1400235a0
cmp dword [rbx + 0xe20], 0
je 0x140041251
mov rcx, rbx
call fcn.140043520
cmp dword [0x1400fb308], 0
je 0x140041284
test byte [rbx + 0xae8], 8
je 0x140041284
mov rcx, rbx
call fcn.1400437a0
mov rcx, qword [rbx + 0x1210]
test rcx, rcx
je 0x140041284
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rbx + 0x1210], rbp
cmp dword [0x1400fb328], 0
je 0x1400412e5
lea rcx, [rbx + 0x868]
call fcn.1400364c0
test rax, rax
je 0x1400412a9
mov rdx, rax
mov rcx, rbx
call fcn.140053d40
mov dword [rbx + 0xcb0], r12d
lea rdi, [0x1400f2690]
mov esi, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
nop
mov rdx, qword [rdi]
test rdx, rdx
je 0x1400412d4
lea rcx, [rbx + 0xcb8]
call fcn.1400630b0
add rdi, 8
sub rsi, 1
jne 0x1400412c0
mov dword [rbx + 0x11d4], r12d
cmp dword [0x1400fb2a8], 0
je 0x140041321
lea rcx, [rbx + 0xcb8]
lea rdx, [0x1400c1178]
call fcn.1400630b0
mov dword [rbx + 0x11d4], r12d
lea rcx, [rbx + 0x868]
call fcn.140036100
test rax, rax
je 0x140041321
mov rcx, rax
call fcn.14005b010
cmp dword [0x1400fb318], 0
je 0x140041344
lea rcx, [rbx + 0xcb8]
lea rdx, [0x1400c1178]
call fcn.1400630b0
mov dword [rbx + 0x11d4], r12d
cmp dword [rbx + 0x11d4], 0
je 0x140041367
mov qword [rbx + 0xcf0], rbx
lea rcx, [rbx + 0x868]
lea rdx, [rbx + 0xca8]
call fcn.140034cd0
mov rcx, rbx
call fcn.140043380
cmp dword [0x1400fb2c0], 0
je 0x14004139d
cmp qword [0x1400f9f78], 0
jne 0x14004139d
xor r8d, r8d
lea rdx, [0x1400c0210]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_RegisterPowerSettingNotification]
mov qword [0x1400f9f78], rax
mov eax, dword [0x1400fb2c8]
test eax, eax
je 0x1400413b5
mov dword [0x1400f9e3c], eax
mov rcx, rbx
call fcn.1400560e0
cmp dword [0x1400fb378], 0
je 0x140041410
lea rcx, [rbx + 0x868]
mov r8d, r12d
xor edx, edx
call fcn.140035c70
test byte [rax + 0x180], 8
je 0x140041410
lea rdx, str.DolbyEnable
lea rcx, [rsp + 0x168]
call fcn.140001f00
lea r8, [rsp + 0xa8]
mov rdx, rax
lea rcx, str.SOFTWAREDolbyDAX
call fcn.140015f60
mov edx, dword [rsp + 0xa8]
mov dword [rbx + 0x1228], edx
mov eax, r12d
jmp 0x14004141f
mov rcx, rbx
call fcn.140044460
xor eax, eax
mov rcx, qword [rsp + 0x580]
xor rcx, rsp
call fcn.14008e4b0
lea r11, [rsp + 0x590]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret