Function at 0x14001ec00
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 [0x140066dc8]
call fcn.14001fe10
mov rcx, qword [0x140066dc8]
call int.14001ff90
xor r14d, r14d
mov qword [rbp - 0x49], r14
lea edi, [r14 + 1]
lea rdx, [rbp - 0x49]
mov rcx, r12
call fcn.140014d20
mov rbx, qword [rbp - 0x49]
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x14001ed11
lea rdx, str.Base_Profile
lea rcx, [rbp - 0x19]
call fcn.14001d460
nop
lea rdx, str._DrsProfile__is_not_initialized._n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
lea r9, [rbp - 0x49]
movzx r8d, dil
lea rdx, [rbp - 0x19]
mov rcx, r12
call fcn.140012490
cmp eax, edi
jbe 0x14001ecc3
lea rdx, str.WARNING:_Could_not_create_a_new_Base_Profile.__n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
jmp 0x14001ecf7
lea rdx, [rbp - 0x19]
mov rcx, r12
call fcn.140019d30
cmp eax, 1
jbe 0x14001ece7
lea rdx, str.WARNING:_Could_not_set_the_new_profile_as_the_Base_Profile.__n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
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.14001dc40
mov rbx, qword [rbp - 0x49]
mov qword [rbp - 0x29], rbx
test rbx, rbx
je 0x14001f35b
lea rdx, str._DrsProfile__successfully_set._n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
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 [0x140066dc8]
call fcn.14001fe10
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 [0x140066dc8]
test eax, eax
jne 0x14001f2a9
lea rdx, str.Querying_for_reg_values_under___s__n
call fcn.14001fe10
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 0x14001ee1f
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 [0x140066dc8]
call fcn.14001fe10
mov edi, r14d
jmp 0x14001f2c0
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.1400218b8
mov rsi, rax
mov ecx, dword [rbp + 0x7f]
call fcn.1400218b8
mov r15, rax
mov r13d, r14d
cmp dword [rbp - 0x3d], r14d
jbe 0x14001f2c0
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.140021100
mov r8d, dword [rbp + 0x77]
xor edx, edx
mov rcx, r15
call fcn.140021100
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 [0x140066dc8]
call fcn.14001fe10
mov qword [rbp - 0x49], rbx
lea rdx, str.DeviceDesc
mov rcx, rsi
call fcn.14002120c
test eax, eax
je 0x14001f294
lea rdx, str.DeviceID
mov rcx, rsi
call fcn.14002120c
test eax, eax
je 0x14001f294
lea rdx, str.DRS_Enabled
mov rcx, rsi
call fcn.14002120c
test eax, eax
je 0x14001f294
lea rdx, str.DRS_DefaultProfile
mov rcx, rsi
call fcn.14002120c
test eax, eax
jne 0x14001ef9a
mov rdx, r15
lea rcx, [rbp - 1]
call fcn.14001d460
nop
lea rdx, [rbp - 1]
mov rcx, r12
call fcn.140019da0
mov r8, qword [rbp - 1]
mov rcx, qword [0x140066dc8]
cmp eax, 1
jbe 0x14001ef73
lea rdx, str.WARNING:_Could_not_set_Global_Profile_to______s___n
call fcn.14001fe10
jmp 0x14001ef8c
lea rdx, str.Successfully_set_Global_Profile_to______s__n
call fcn.14001fe10
lea rdx, [rbp - 1]
mov rcx, r12
call fcn.140019e10
nop
lea rcx, [rbp - 1]
call fcn.14001dc40
jmp 0x14001f294
mov r8d, 4
lea rdx, str.DRS_
mov rcx, rsi
call fcn.140020a3c
test eax, eax
jne 0x14001f278
mov qword [rbp - 0x39], r14
lea edx, [rax + 0x7b]
mov rcx, rsi
call fcn.140022960
mov rbx, rax
test rax, rax
je 0x14001f075
mov word [rax], r14w
add rbx, 2
mov edx, 0x7d
mov rcx, rbx
call fcn.140022960
mov r14, rax
test rax, rax
je 0x14001f05c
lea rcx, [rbp - 0x19]
call fcn.14001d510
nop
xor eax, eax
mov qword [rbp + 0xf], rax
mov word [r14], ax
mov rdx, rbx
lea rcx, [rbp - 0x19]
call fcn.14001d6b0
lea r8, [rbp + 0xf]
lea rdx, [rbp - 0x19]
mov rcx, r12
call fcn.140015490
cmp eax, 1
jbe 0x14001f049
mov r8, rbx
lea rdx, str.WARNING:_Could_not_find_Profile_With_Name__s_on_the_databse..._n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
nop
lea rcx, [rbp - 0x19]
call fcn.14001dc40
jmp 0x14001f290
mov rax, qword [rbp + 0xf]
mov qword [rbp - 0x49], rax
lea rcx, [rbp - 0x19]
call fcn.14001dc40
jmp 0x14001f072
mov r8, rbx
lea rdx, str.WARNING:_Could_not_parse_Profile_Name__s__continuing..._n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
xor r14d, r14d
lea rcx, [rsi + 8]
lea r8, [rbp + 0x6f]
lea rdx, [0x1400511d4]
call fcn.140023188
cmp eax, 1
jne 0x14001f260
lea r8, [rbp - 0x39]
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.140015900
mov rcx, qword [rbp - 0x39]
cmp eax, 0xa
cmove rcx, r14
mov qword [rbp - 0x39], rcx
mov eax, dword [rbp - 0x21]
dec eax
je 0x14001f199
sub eax, 2
je 0x14001f140
dec eax
je 0x14001f0ea
sub eax, 3
je 0x14001f140
cmp eax, 4
je 0x14001f140
mov r8, rsi
lea rdx, str.Registry_key_not_used__type_unsupported:__s_n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
jmp 0x14001f1fc
test rcx, rcx
jne 0x14001f122
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.1400127e0
cmp eax, 1
jbe 0x14001f1ff
lea rdx, str.WARNING:_Could_not_create_new_DWORD_driver_setting_with_Id__d__n
jmp 0x14001f1ec
mov rax, qword [rcx]
mov edx, dword [r15]
call qword [rax + 0x10]
cmp eax, 1
jbe 0x14001f1ff
lea rdx, str.WARNING:_Could_not_re_define_DWORD_driver_setting_with_Id__d__n
jmp 0x14001f1ec
test rcx, rcx
jne 0x14001f17e
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.140012640
cmp eax, 1
jbe 0x14001f1ff
lea rdx, str.WARNING:_Could_not_create_new_BINARY_driver_setting_with_Id__d__n
jmp 0x14001f1ec
mov rax, qword [rcx]
mov r8d, dword [rbp + 0x77]
mov rdx, r15
call qword [rax + 0x40]
cmp eax, 1
jbe 0x14001f1ff
lea rdx, str.WARNING:_Could_not_re_define_BINARY_driver_setting_with_Id__d__n
jmp 0x14001f1ec
test rcx, rcx
jne 0x14001f1d3
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.140012b00
cmp eax, 1
jbe 0x14001f1ff
lea rdx, str.WARNING:_Could_not_create_new_STRING_driver_setting_with_Id__d__n
jmp 0x14001f1ec
mov rax, qword [rcx]
mov r8d, dword [rbp + 0x77]
mov rdx, r15
call qword [rax + 0x30]
cmp eax, 1
jbe 0x14001f1ff
lea rdx, str.WARNING:_Could_not_re_define_STRING_driver_setting_with_Id__d__n
mov r8d, dword [rbp + 0x6f]
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
mov edi, r14d
mov rax, qword [rbp - 0x39]
test rax, rax
jne 0x14001f23c
lea r8, [rbp - 0x39]
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.140015900
cmp eax, 1
jbe 0x14001f233
lea rdx, str.WARNING:_Could_not_retrieve_the_setting_after_adding_it__n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
mov edi, r14d
mov rax, qword [rbp - 0x39]
test rax, rax
je 0x14001f290
cmp byte [rax + 0xd], 0
je 0x14001f248
mov byte [rax + 0xf], 1
jmp 0x14001f290
lea rdx, str.WARNING:_Could_not_set_the_INF_customization_flag_for_a_setting__n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
mov edi, r14d
jmp 0x14001f290
mov r8, rsi
lea rdx, str.WARNING:_Registry_key_not_used__could_not_convert_the_hexadecimal_value:__s__n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
jmp 0x14001f290
mov r8, rsi
lea rdx, str.Registry_key_not_used__name_not_understood:__s_n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
jmp 0x14001f294
mov rbx, qword [rbp - 0x29]
inc r13d
cmp r13d, dword [rbp - 0x3d]
mov r14d, 0
jb 0x14001ee70
jmp 0x14001f2c0
mov r9d, 2
lea rdx, str.__s__does_not_exist._No_OEM_Customization_work_will_be_done_n
call fcn.14001fe10
mov edi, 4
lea r8, str.SOFTWARENVIDIA_CorporationGlobalDrs
lea rdx, str.Deleting_registry___s__if_any_n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
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 0x14001f33f
lea rdx, [0x140051878]
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test eax, 0xfffffffd
je 0x14001f33f
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 [0x140066dc8]
call fcn.14001fe10
mov rcx, rsi
call fcn.140021960
mov rcx, r15
call fcn.140021960
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14001f371
lea rdx, str.WARNING:_Failed_to_set__DrsProfile___n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
mov edi, r14d
mov rcx, qword [0x140066dc8]
call fcn.14001ffd0
mov r8d, edi
lea rdx, str.Exiting__SetOEMCustomization__function._Return__d_n
mov rcx, qword [0x140066dc8]
call fcn.14001fe10
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