Function at 0x14005e180
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
sub rsp, 0x30
mov rdi, rcx
mov ecx, 0x48
call fcn.140064e98
mov rbx, rax
lea r9, [rsp + 0x68]
xorps xmm0, xmm0
lea rdx, str.bPrimary
xor eax, eax
xor esi, esi
xor r8d, r8d
mov rcx, rdi
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x68], esi
mov dword [rsp + 0x60], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9d, 0x9d
lea r8, str.D:uworkspace_nViewBranchBuilder_sw_nview_v200_nViewDisplayControlSourceModeInfo.cpp
mov ecx, eax
lea rdx, str.SourceModeInfo::restoreLegacy
call fcn.14004ed00
test eax, eax
jne 0x14005e429
mov eax, dword [rsp + 0x58]
lea r9, [rsp + 0x68]
xor eax, dword [rbx + 0x1c]
lea rdx, str.dwBpp
and eax, 1
xor r8d, r8d
xor dword [rbx + 0x1c], eax
mov rcx, rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9d, 0xa1
lea r8, str.D:uworkspace_nViewBranchBuilder_sw_nview_v200_nViewDisplayControlSourceModeInfo.cpp
mov ecx, eax
lea rdx, str.SourceModeInfo::restoreLegacy
call fcn.14004ed00
test eax, eax
jne 0x14005e429
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x14005e2cd
cmp eax, 8
je 0x14005e2bd
cmp eax, 0x10
je 0x14005e2ad
cmp eax, 0x20
je 0x14005e28d
cmp eax, 0x40
je 0x14005e29d
mov dword [rbx + 0xc], 0x15
mov dword [rbx + 8], 0x20
jmp 0x14005e2d5
mov dword [rbx + 0xc], 0x71
mov dword [rbx + 8], 0x40
jmp 0x14005e2d5
mov dword [rbx + 0xc], 0x17
mov dword [rbx + 8], 0x10
jmp 0x14005e2d5
mov dword [rbx + 0xc], 0x29
mov dword [rbx + 8], 8
jmp 0x14005e2d5
mov qword [rbx + 8], 0x20
lea rax, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rbp, [rbx + 0x10]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rbp
lea rdx, str.rcDispLeft
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9d, 0xc2
lea r8, str.D:uworkspace_nViewBranchBuilder_sw_nview_v200_nViewDisplayControlSourceModeInfo.cpp
mov ecx, eax
lea rdx, str.SourceModeInfo::restoreLegacy
call fcn.14004ed00
test eax, eax
jne 0x14005e429
lea rax, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rsi, [rbx + 0x14]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rsi
lea rdx, str.rcDispTop
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9d, 0xc5
lea r8, str.D:uworkspace_nViewBranchBuilder_sw_nview_v200_nViewDisplayControlSourceModeInfo.cpp
mov ecx, eax
lea rdx, str.SourceModeInfo::restoreLegacy
call fcn.14004ed00
test eax, eax
jne 0x14005e429
lea rax, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x68]
lea rax, [rsp + 0x58]
mov rcx, rdi
lea rdx, str.rcDispRight
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9d, 0xc8
lea r8, str.D:uworkspace_nViewBranchBuilder_sw_nview_v200_nViewDisplayControlSourceModeInfo.cpp
mov ecx, eax
lea rdx, str.SourceModeInfo::restoreLegacy
call fcn.14004ed00
test eax, eax
jne 0x14005e429
mov eax, dword [rsp + 0x58]
lea r9, [rsp + 0x68]
sub eax, dword [rbp]
lea rdx, str.rcDispBottom
mov dword [rbx], eax
xor r8d, r8d
lea rax, [rsp + 0x60]
mov rcx, rdi
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9d, 0xcd
lea r8, str.D:uworkspace_nViewBranchBuilder_sw_nview_v200_nViewDisplayControlSourceModeInfo.cpp
mov ecx, eax
lea rdx, str.SourceModeInfo::restoreLegacy
call fcn.14004ed00
test eax, eax
jne 0x14005e429
mov eax, dword [rsp + 0x58]
sub eax, dword [rsi]
mov dword [rbx + 4], eax
mov rax, rbx
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
mov rbx, qword [rsp + 0x50]
xor eax, eax
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret