Function at 0x1400917b0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rsp + 0xf0], rbx
mov r14d, r8d
mov rbp, rdx
mov rsi, rcx
call fcn.14013d07c
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x140091803
mov ecx, 0x80004005
call fcn.140001c00
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], r14d
mov r9, qword [rbp]
lea r8, str.CDtsHPSetting::SetModeSharingControlValue
lea rdx, str._HPX___s__s_val_d_r_n
lea rcx, [rsp + 0x40]
call fcn.140001f50
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [rsi + 0xc0], 0
jne 0x140091892
lea rdx, [rdi - 0x18]
or r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14009186b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x14009188b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x140091db0
lea rcx, [rsp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
xor r15d, r15d
xor r12d, r12d
or r13, 0xffffffffffffffff
cmp dword [rsi + 0x118], r12d
jle 0x140091d62
test r12, r12
js 0x140091d5c
cmp r12, qword [rsi + 0x118]
jge 0x140091d5c
mov rax, qword [rsi + 0x110]
cmp qword [rax + r12*8], 0
je 0x140091d0b
mov qword [rsp + 0x30], 0
cmp r12, qword [rsi + 0x118]
jge 0x140091d4f
mov rcx, qword [rax + r12*8]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
xor edx, edx
call qword [rax + 0x18]
xor edi, edi
mov qword [rsp + 0x108], rdi
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140091934
mov rax, qword [rcx]
lea r8, [rsp + 0x108]
lea rdx, [0x1401b1198]
call qword [rax]
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x140091b97
mov qword [rsp + 0x38], 0
mov rax, qword [rbp]
cmp dword [rax - 8], 1
jle 0x14009195b
mov edx, dword [rax - 0x10]
mov rcx, rbp
call fcn.140001e50
mov rax, qword [rdi]
lea r8, [rsp + 0x38]
mov rdx, qword [rbp]
mov rcx, rdi
call qword [rax + 0x20]
mov r11d, eax
mov rdx, qword [rbp]
test rdx, rdx
jne 0x14009197d
xor ecx, ecx
jmp 0x140091997
xor eax, eax
mov rcx, r13
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x140091d33
cmp ecx, dword [rdx - 0xc]
jg 0x140091d33
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [rbp]
mov word [rax + rcx*2], 0
test r11d, r11d
jne 0x140091aec
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + 0x40]
test eax, eax
je 0x140091a5c
mov rdi, qword [rbp]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x1400919f7
cmp rax, qword [rdi - 0x18]
jne 0x1400919f7
lea rbx, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x140091a33
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140091d21
mov ecx, dword [rdi - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rdi - 0x10]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14015cd30
lea rax, [rbx + 0x18]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x20], 0
mov r9d, r14d
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14008fa70
jmp 0x140091b75
mov rdi, qword [rbp]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x140091a84
cmp rax, qword [rdi - 0x18]
jne 0x140091a84
lea rbx, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x140091ac0
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140091d27
mov ecx, dword [rdi - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rdi - 0x10]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14015cd30
lea rax, [rbx + 0x18]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x20], 0
mov r9d, r14d
mov r8d, 1
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.14008fa70
jmp 0x140091b75
mov rdi, qword [rbp]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x140091b14
cmp rax, qword [rdi - 0x18]
jne 0x140091b14
lea rbx, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x140091b50
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140091d2d
mov ecx, dword [rdi - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rdi - 0x10]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14015cd30
lea rax, [rbx + 0x18]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x20], 0
mov r9d, r14d
xor r8d, r8d
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.14008fa70
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140091b8f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rdi, qword [rsp + 0x108]
jmp 0x140091b97
mov rdi, qword [rsp + 0x108]
mov word [rsp + 0x60], 3
mov dword [rsp + 0x68], r14d
cmp dword [rsi + 0x38], 0
je 0x140091cec
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x60]
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 rdi, qword [rsi + 0xc8]
mov rax, qword [rbp]
cmp dword [rax - 8], 1
jle 0x140091bec
mov edx, dword [rax - 0x10]
mov rcx, rbp
call fcn.140001e50
mov rax, qword [rdi]
lea r9, [rsp + 0x90]
xor r8d, r8d
mov rdx, qword [rbp]
mov rcx, rdi
call qword [rax + 0x48]
mov r11d, eax
mov rdx, qword [rbp]
test rdx, rdx
jne 0x140091c14
xor ecx, ecx
jmp 0x140091c2e
xor eax, eax
mov rcx, r13
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x140091d44
cmp ecx, dword [rdx - 0xc]
jg 0x140091d44
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [rbp]
mov word [rax + rcx*2], 0
test r11d, r11d
je 0x140091ce4
mov rdi, qword [rbp]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x140091c78
cmp rax, qword [rdi - 0x18]
jne 0x140091c78
lea rbx, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x140091cb4
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x140091d3e
mov ecx, dword [rdi - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rdi - 0x10]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14015cd30
lea rax, [rbx + 0x18]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x20], 1
mov r9d, dword [rsp + 0x68]
xor r8d, r8d
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.14008fa70
mov rdi, qword [rsp + 0x108]
jmp 0x140091cec
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x140091cfb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140091d0b
mov rax, qword [rcx]
call qword [rax + 0x10]
add r15d, 1
add r12, 1
cmp r15d, dword [rsi + 0x118]
jge 0x140091d55
jmp 0x1400918b5
call fcn.1400c5210
int3
call fcn.1400c5210
int3
call fcn.1400c5210
int3
mov ecx, 0x80070057
call fcn.140001c00
nop
call fcn.1400c5210
int3
mov ecx, 0x80070057
call fcn.140001c00
nop
call fcn.14013d908
nop
mov rdi, qword [rsp + 0x40]
jmp 0x140091d62
call fcn.14013d908
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rdx, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140091d8b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r13d
add r13d, 0xffffffff
test r13d, r13d
jg 0x140091dab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret