Function at 0x14001f730
Capabilities:
Delete registry key
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rsp + 0x110], rbx
mov r12, rcx
lea rdx, str.Entering__SetOEMCustomization__function....._n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov rcx, qword [0x140067de8]
call fcn.140020a60
xor r14d, r14d
mov qword [rbp - 0x49], r14
lea edi, [r14 + 1]
lea rdx, [rbp - 0x49]
mov rcx, r12
call fcn.140014d30
mov rbx, qword [rbp - 0x49]
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x14001f841
lea rdx, str.Base_Profile
lea rcx, [rbp - 0x19]
call fcn.14001df90
nop
lea rdx, str._DrsProfile__is_not_initialized._n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
lea r9, [rbp - 0x49]
movzx r8d, dil
lea rdx, [rbp - 0x19]
mov rcx, r12
call fcn.1400125e0
cmp eax, edi
jbe 0x14001f7f3
lea rdx, str.WARNING:_Could_not_create_a_new_Base_Profile.__n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
jmp 0x14001f827
lea rdx, [rbp - 0x19]
mov rcx, r12
call fcn.14001a010
cmp eax, 1
jbe 0x14001f817
lea rdx, str.WARNING:_Could_not_set_the_new_profile_as_the_Base_Profile.__n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov rax, qword [rbp - 0x49]
mov byte [rax + 0x68], 1
mov rax, qword [rbp - 0x49]
mov byte [rax + 0x69], 1
lea rcx, [rbp - 0x19]
call fcn.14001e770
mov rbx, qword [rbp - 0x49]
mov qword [rbp - 0x29], rbx
test rbx, rbx
je 0x14001fe8b
lea rdx, str._DrsProfile__successfully_set._n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov qword [rbp - 0x31], r14
mov rsi, r14
mov r15, r14
mov dword [rbp - 9], r14d
mov dword [rbp - 0x3d], r14d
mov dword [rbp - 0x21], r14d
mov dword [rbp - 0x1d], r14d
mov dword [rbp + 0x77], r14d
mov dword [rbp - 0x41], r14d
mov dword [rbp + 0x7f], r14d
lea r8, str.SOFTWARENVIDIA_CorporationGlobalDrs
lea rdx, str.Opening_the_reg_path___s__n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
lea rax, [rbp - 0x31]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SOFTWARENVIDIA_CorporationGlobalDrs
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea r8, str.SOFTWARENVIDIA_CorporationGlobalDrs
mov rcx, qword [0x140067de8]
test eax, eax
jne 0x14001fdd9
lea rdx, str.Querying_for_reg_values_under___s__n
call fcn.1400208e0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x41]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x3d]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x14001f94f
mov r9d, eax
lea r8, str.SOFTWARENVIDIA_CorporationGlobalDrs
lea rdx, str.WARNING:_Failed_to_query_reg_values_under___s__err:_d___n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov edi, r14d
jmp 0x14001fdf0
mov eax, dword [rbp - 0x41]
inc eax
mov dword [rbp - 0x41], eax
inc dword [rbp + 0x7f]
mov ecx, eax
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400223e8
mov rsi, rax
mov ecx, dword [rbp + 0x7f]
call fcn.1400223e8
mov r15, rax
mov r13d, r14d
cmp dword [rbp - 0x3d], r14d
jbe 0x14001fdf0
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rbp - 0x41]
mov dword [rbp - 0x1d], ecx
mov eax, dword [rbp + 0x7f]
mov dword [rbp + 0x77], eax
mov r8d, ecx
add r8, r8
xor edx, edx
mov rcx, rsi
call fcn.140021bd0
mov r8d, dword [rbp + 0x77]
xor edx, edx
mov rcx, r15
call fcn.140021bd0
lea rax, [rbp + 0x77]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
lea rax, [rbp - 0x21]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x1d]
mov r8, rsi
mov edx, r13d
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov r8, rsi
lea rdx, str.Queried_value______s__n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov qword [rbp - 0x49], rbx
lea rdx, str.DeviceDesc
mov rcx, rsi
call fcn.140021cdc
test eax, eax
je 0x14001fdc4
lea rdx, str.DeviceID
mov rcx, rsi
call fcn.140021cdc
test eax, eax
je 0x14001fdc4
lea rdx, str.DRS_Enabled
mov rcx, rsi
call fcn.140021cdc
test eax, eax
je 0x14001fdc4
lea rdx, str.DRS_DefaultProfile
mov rcx, rsi
call fcn.140021cdc
test eax, eax
jne 0x14001faca
mov rdx, r15
lea rcx, [rbp - 1]
call fcn.14001df90
nop
lea rdx, [rbp - 1]
mov rcx, r12
call fcn.14001a080
mov r8, qword [rbp - 1]
mov rcx, qword [0x140067de8]
cmp eax, 1
jbe 0x14001faa3
lea rdx, str.WARNING:_Could_not_set_Global_Profile_to______s___n
call fcn.1400208e0
jmp 0x14001fabc
lea rdx, str.Successfully_set_Global_Profile_to______s__n
call fcn.1400208e0
lea rdx, [rbp - 1]
mov rcx, r12
call fcn.14001a0f0
nop
lea rcx, [rbp - 1]
call fcn.14001e770
jmp 0x14001fdc4
mov r8d, 4
lea rdx, str.DRS_
mov rcx, rsi
call fcn.14002150c
test eax, eax
jne 0x14001fda8
mov qword [rbp - 0x39], r14
lea edx, [rax + 0x7b]
mov rcx, rsi
call fcn.1400234bc
mov rbx, rax
test rax, rax
je 0x14001fba5
mov word [rax], r14w
add rbx, 2
mov edx, 0x7d
mov rcx, rbx
call fcn.1400234bc
mov r14, rax
test rax, rax
je 0x14001fb8c
lea rcx, [rbp - 0x19]
call fcn.14001e040
nop
xor eax, eax
mov qword [rbp + 0xf], rax
mov word [r14], ax
mov rdx, rbx
lea rcx, [rbp - 0x19]
call fcn.14001e1e0
lea r8, [rbp + 0xf]
lea rdx, [rbp - 0x19]
mov rcx, r12
call fcn.1400154a0
cmp eax, 1
jbe 0x14001fb79
mov r8, rbx
lea rdx, str.WARNING:_Could_not_find_Profile_With_Name__s_on_the_databse..._n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
nop
lea rcx, [rbp - 0x19]
call fcn.14001e770
jmp 0x14001fdc0
mov rax, qword [rbp + 0xf]
mov qword [rbp - 0x49], rax
lea rcx, [rbp - 0x19]
call fcn.14001e770
jmp 0x14001fba2
mov r8, rbx
lea rdx, str.WARNING:_Could_not_parse_Profile_Name__s__continuing..._n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
xor r14d, r14d
lea rcx, [rsi + 8]
lea r8, [rbp + 0x6f]
lea rdx, [0x140051314]
call fcn.140023ce4
cmp eax, 1
jne 0x14001fd90
lea r8, [rbp - 0x39]
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.140015910
mov rcx, qword [rbp - 0x39]
cmp eax, 0xa
cmove rcx, r14
mov qword [rbp - 0x39], rcx
mov eax, dword [rbp - 0x21]
dec eax
je 0x14001fcc9
sub eax, 2
je 0x14001fc70
dec eax
je 0x14001fc1a
sub eax, 3
je 0x14001fc70
cmp eax, 4
je 0x14001fc70
mov r8, rsi
lea rdx, str.Registry_key_not_used__type_unsupported:__s_n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
jmp 0x14001fd2c
test rcx, rcx
jne 0x14001fc52
mov byte [rsp + 0x28], 1
mov eax, dword [r15]
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.140012930
cmp eax, 1
jbe 0x14001fd2f
lea rdx, str.WARNING:_Could_not_create_new_DWORD_driver_setting_with_Id__d__n
jmp 0x14001fd1c
mov rax, qword [rcx]
mov edx, dword [r15]
call qword [rax + 0x10]
cmp eax, 1
jbe 0x14001fd2f
lea rdx, str.WARNING:_Could_not_re_define_DWORD_driver_setting_with_Id__d__n
jmp 0x14001fd1c
test rcx, rcx
jne 0x14001fcae
mov byte [rsp + 0x38], 1
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], cl
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.140012790
cmp eax, 1
jbe 0x14001fd2f
lea rdx, str.WARNING:_Could_not_create_new_BINARY_driver_setting_with_Id__d__n
jmp 0x14001fd1c
mov rax, qword [rcx]
mov r8d, dword [rbp + 0x77]
mov rdx, r15
call qword [rax + 0x40]
cmp eax, 1
jbe 0x14001fd2f
lea rdx, str.WARNING:_Could_not_re_define_BINARY_driver_setting_with_Id__d__n
jmp 0x14001fd1c
test rcx, rcx
jne 0x14001fd03
mov byte [rsp + 0x38], 1
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r15
mov byte [rsp + 0x20], cl
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.140012c50
cmp eax, 1
jbe 0x14001fd2f
lea rdx, str.WARNING:_Could_not_create_new_STRING_driver_setting_with_Id__d__n
jmp 0x14001fd1c
mov rax, qword [rcx]
mov r8d, dword [rbp + 0x77]
mov rdx, r15
call qword [rax + 0x30]
cmp eax, 1
jbe 0x14001fd2f
lea rdx, str.WARNING:_Could_not_re_define_STRING_driver_setting_with_Id__d__n
mov r8d, dword [rbp + 0x6f]
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov edi, r14d
mov rax, qword [rbp - 0x39]
test rax, rax
jne 0x14001fd6c
lea r8, [rbp - 0x39]
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.140015910
cmp eax, 1
jbe 0x14001fd63
lea rdx, str.WARNING:_Could_not_retrieve_the_setting_after_adding_it__n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov edi, r14d
mov rax, qword [rbp - 0x39]
test rax, rax
je 0x14001fdc0
cmp byte [rax + 0xd], 0
je 0x14001fd78
mov byte [rax + 0xf], 1
jmp 0x14001fdc0
lea rdx, str.WARNING:_Could_not_set_the_INF_customization_flag_for_a_setting__n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov edi, r14d
jmp 0x14001fdc0
mov r8, rsi
lea rdx, str.WARNING:_Registry_key_not_used__could_not_convert_the_hexadecimal_value:__s__n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
jmp 0x14001fdc0
mov r8, rsi
lea rdx, str.Registry_key_not_used__name_not_understood:__s_n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
jmp 0x14001fdc4
mov rbx, qword [rbp - 0x29]
inc r13d
cmp r13d, dword [rbp - 0x3d]
mov r14d, 0
jb 0x14001f9a0
jmp 0x14001fdf0
mov r9d, 2
lea rdx, str.__s__does_not_exist._No_OEM_Customization_work_will_be_done_n
call fcn.1400208e0
mov edi, 5
lea r8, str.SOFTWARENVIDIA_CorporationGlobalDrs
lea rdx, str.Deleting_registry___s__if_any_n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
lea rax, [rbp - 0x31]
mov qword [rsp + 0x20], rax
mov r9d, 0x102
xor r8d, r8d
lea rdx, str.SOFTWARENVIDIA_CorporationGlobal
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001fe6f
lea rdx, [0x1400519b8]
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test eax, 0xfffffffd
je 0x14001fe6f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.SOFTWARENVIDIA_CorporationGlobalDrs
lea rdx, str.WARNING:_Failed_to_delete__s__err:_d___n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov rcx, rsi
call fcn.140022490
mov rcx, r15
call fcn.140022490
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14001fea1
lea rdx, str.WARNING:_Failed_to_set__DrsProfile___n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov edi, r14d
mov rcx, qword [0x140067de8]
call fcn.140020aa0
mov r8d, edi
lea rdx, str.Exiting__SetOEMCustomization__function._Return__d_n
mov rcx, qword [0x140067de8]
call fcn.1400208e0
mov eax, edi
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret