Function at 0x1400033a0
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp - 0x29], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x140047008]
xor rax, rsp
mov qword [rbp + 0x3f], rax
xor ebx, ebx
mov qword [rbp + 0x1f], rbx
lea rax, [rbp + 0x1f]
mov qword [rsp + 0x20], rax
lea r9, [0x14003dec0]
xor edx, edx
lea r8d, [rbx + 0x17]
lea rcx, [0x14002f880]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov r14d, ebx
test eax, eax
js 0x1400036db
mov edi, 4
mov rax, qword gs:[0x58]
add rdi, qword [rax]
mov eax, dword [rdi]
cmp dword [0x140049e54], eax
jle 0x14000347f
lea rcx, [0x140049e54]
call fcn.14000dbc4
cmp dword [0x140049e54], 0xffffffff
jne 0x14000347f
xor eax, eax
mov qword [0x140049e58], rax
lea rcx, [0x14003dc78]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [0x140049e58], rax
test rax, rax
jne 0x140003466
mov ecx, 0x8007000e
call fcn.1400017e0
int3
lea rcx, [0x14002e1c0]
call fcn.14000d9d4
nop
lea rcx, [0x140049e54]
call fcn.14000db64
mov qword [rbp + 7], rbx
mov rcx, qword [rbp + 0x1f]
mov rax, qword [rcx]
lea rdx, [rbp + 7]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x140049e58]
call qword [rax + SafeArrayPutElement]
test eax, eax
js 0x1400036cb
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
mov rcx, qword [rbp + 7]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x1400036cb
mov qword [rbp + 0x17], rbx
mov eax, dword [rdi]
cmp dword [0x140049e60], eax
jle 0x14000355b
lea rcx, [0x140049e60]
call fcn.14000dbc4
cmp dword [0x140049e60], 0xffffffff
jne 0x14000355b
xor eax, eax
mov qword [0x140049e68], rax
lea rcx, str.WmiMonitorBrightness
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [0x140049e68], rax
test rax, rax
jne 0x140003542
mov ecx, 0x8007000e
call fcn.1400017e0
int3
lea rcx, [0x14002e1b0]
call fcn.14000d9d4
nop
lea rcx, [0x140049e60]
call fcn.14000db64
mov rcx, qword [rbp + 7]
mov rax, qword [rcx]
lea rdx, [rbp + 0x17]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x140049e68]
call qword [rax + 0x90]
test eax, eax
js 0x1400036bb
mov dword [rbp + 0xf], ebx
mov qword [rbp - 1], rbx
mov rcx, qword [rbp + 0x17]
mov rax, qword [rcx]
lea rdx, [rbp + 0xf]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 1]
mov r8d, 1
or edx, 0xffffffff
call qword [rax + 0x20]
test eax, eax
js 0x1400036ab
xor eax, eax
mov qword [rbp + 0x27], rax
mov qword [rbp + 0x2f], rax
mov qword [rbp + 0x37], rax
lea rcx, [rbp + 0x27]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 1]
mov rax, qword [rcx]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x27]
xor r8d, r8d
lea rdx, str.CurrentBrightness
call qword [rax + 0x20]
test eax, eax
js 0x1400036a0
movzx r14d, byte [rbp + 0x2f]
xor eax, eax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
lea rcx, [rbp - 0x21]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 1]
mov rax, qword [rcx]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x21]
xor r8d, r8d
lea rdx, str.Level
call qword [rax + 0x20]
test eax, eax
js 0x140003695
mov rsi, qword [rbp - 0x19]
test rsi, rsi
je 0x140003695
mov r15d, dword [rsi + 0x1c]
mov edi, dword [rsi + 0x18]
test edi, edi
jle 0x140003695
lea eax, [rbx + r15]
mov dword [rbp - 5], eax
mov byte [rbp - 9], 0
lea r8, [rbp - 9]
lea rdx, [rbp - 5]
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SafeArrayPutElement]
test eax, eax
jne 0x140003679
movzx eax, byte [rbp - 9]
cmp r14d, eax
je 0x140003681
inc ebx
cmp ebx, edi
jge 0x140003695
jmp 0x140003650
mov eax, dword [rbp - 5]
test eax, eax
js 0x140003695
imul eax, eax, 0x64
lea ecx, [rdi - 1]
xor edx, edx
div ecx
mov r14d, eax
lea rcx, [rbp - 0x21]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp + 0x27]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1400036bb
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x17]
test rcx, rcx
je 0x1400036cb
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x1400036db
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x1400036ea
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r14d
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.14000d6b0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret