Function at 0x1400146a0
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 r14, rcx
lea rdx, str.Entering__SetOEMCustomization__function....._n
mov rcx, qword [0x140037bc0]
call fcn.140016980
mov rcx, qword [0x140037bc0]
call fcn.140016430
xor edi, edi
mov qword [rbp - 0x49], rdi
lea esi, [rdi + 1]
lea rdx, [rbp - 0x49]
mov rcx, r14
call fcn.14000b050
mov rbx, qword [rbp - 0x49]
mov qword [rbp - 0x29], rbx
test rbx, rbx
jne 0x1400147b7
lea rdx, str.Base_Profile
lea rcx, [rbp - 0x19]
call fcn.140013de0
nop
lea rdx, str._DrsProfile__is_not_initialized._n
mov rcx, qword [0x140037bc0]
call fcn.140016980
lea r9, [rbp - 0x49]
movzx r8d, sil
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14000f9e0
test eax, eax
je 0x140014765
cmp eax, esi
je 0x140014765
lea rdx, str.WARNING:_Could_not_create_a_new_Base_Profile.__n
mov rcx, qword [0x140037bc0]
call fcn.140016980
jmp 0x14001479d
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14000e350
test eax, eax
je 0x14001478d
cmp eax, 1
je 0x14001478d
lea rdx, str.WARNING:_Could_not_set_the_new_profile_as_the_Base_Profile.__n
mov rcx, qword [0x140037bc0]
call fcn.140016980
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.140014000
mov rbx, qword [rbp - 0x49]
mov qword [rbp - 0x29], rbx
test rbx, rbx
je 0x140014e30
lea rdx, str._DrsProfile__successfully_set._n
mov rcx, qword [0x140037bc0]
call fcn.140016980
mov qword [rbp - 0x31], rdi
mov r12, rdi
mov r13, rdi
mov dword [rbp - 9], edi
mov dword [rbp - 0x3d], edi
mov dword [rbp - 0x21], edi
mov dword [rbp - 0x1d], edi
mov dword [rbp + 0x77], edi
mov dword [rbp - 0x41], edi
mov dword [rbp + 0x7f], edi
lea r8, str.SOFTWARENVIDIA_CorporationGlobalDrs
lea rdx, str.Opening_the_reg_path___s__n
mov rcx, qword [0x140037bc0]
call fcn.140016980
lea r11, [rbp - 0x31]
mov qword [rsp + 0x20], r11
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 [0x140037bc0]
test eax, eax
jne 0x140014d7c
lea rdx, str.Querying_for_reg_values_under___s__n
call fcn.140016980
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rdi
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], rdi
mov qword [rsp + 0x28], rdi
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 0x1400148bd
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 [0x140037bc0]
call fcn.140016980
mov esi, edi
jmp 0x140014d93
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.140018018
mov r12, rax
mov ecx, dword [rbp + 0x7f]
call fcn.140018018
mov r13, rax
mov r15d, edi
cmp dword [rbp - 0x3d], edi
jbe 0x140014d93
nop
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, r12
call fcn.140016ef0
mov r8d, dword [rbp + 0x77]
xor edx, edx
mov rcx, r13
call fcn.140016ef0
lea r11, [rbp + 0x77]
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x30], r13
lea rax, [rbp - 0x21]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x1d]
mov r8, r12
mov edx, r15d
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov r8, r12
lea rdx, str.Queried_value______s__n
mov rcx, qword [0x140037bc0]
call fcn.140016980
mov qword [rbp - 0x49], rbx
lea rdx, str.DeviceDesc
mov rcx, r12
call fcn.140018a8c
test eax, eax
je 0x140014d68
lea rdx, str.DeviceID
mov rcx, r12
call fcn.140018a8c
test eax, eax
je 0x140014d68
lea rdx, str.DRS_Enabled
mov rcx, r12
call fcn.140018a8c
test eax, eax
je 0x140014d68
lea rdx, str.DRS_DefaultProfile
mov rcx, r12
call fcn.140018a8c
test eax, eax
jne 0x140014a39
mov rdx, r13
lea rcx, [rbp - 1]
call fcn.140013de0
nop
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14000e2f0
test eax, eax
je 0x140014a07
cmp eax, 1
je 0x140014a07
mov r8, qword [rbp - 1]
lea rdx, str.WARNING:_Could_not_set_Global_Profile_to______s___n
mov rcx, qword [0x140037bc0]
call fcn.140016980
jmp 0x140014a2b
mov r8, qword [rbp - 1]
lea rdx, str.Successfully_set_Global_Profile_to______s__n
mov rcx, qword [0x140037bc0]
call fcn.140016980
lea rdx, [rbp - 1]
mov rcx, r14
call fcn.14000e290
nop
lea rcx, [rbp - 1]
call fcn.140014000
jmp 0x140014d68
mov r8d, 4
lea rdx, str.DRS_
mov rcx, r12
call fcn.140017198
test eax, eax
jne 0x140014d4c
mov qword [rbp - 0x39], rdi
lea edx, [rax + 0x7b]
mov rcx, r12
call fcn.1400187f0
mov rbx, rax
test rax, rax
je 0x140014b15
mov word [rax], di
add rbx, 2
mov edx, 0x7d
mov rcx, rbx
call fcn.1400187f0
mov rdi, rax
test rax, rax
je 0x140014afd
lea rcx, [rbp - 0x19]
call fcn.140013dd0
nop
xor eax, eax
mov qword [rbp + 0xf], rax
mov word [rdi], ax
mov rdx, rbx
lea rcx, [rbp - 0x19]
call fcn.1400140b0
lea r8, [rbp + 0xf]
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14000e220
test eax, eax
je 0x140014aea
cmp eax, 1
je 0x140014aea
mov r8, rbx
lea rdx, str.WARNING:_Could_not_find_Profile_With_Name__s_on_the_databse..._n
mov rcx, qword [0x140037bc0]
call fcn.140016980
nop
lea rcx, [rbp - 0x19]
call fcn.140014000
jmp 0x140014d64
mov rax, qword [rbp + 0xf]
mov qword [rbp - 0x49], rax
lea rcx, [rbp - 0x19]
call fcn.140014000
jmp 0x140014b13
mov r8, rbx
lea rdx, str.WARNING:_Could_not_parse_Profile_Name__s__continuing..._n
mov rcx, qword [0x140037bc0]
call fcn.140016980
xor edi, edi
lea rcx, [r12 + 8]
lea r8, [rbp + 0x6f]
lea rdx, [0x14002cacc]
call fcn.140018950
cmp eax, 1
jne 0x140014d34
lea r8, [rbp - 0x39]
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.14000e090
mov rcx, qword [rbp - 0x39]
cmp eax, 0xa
cmove rcx, rdi
mov qword [rbp - 0x39], rcx
mov eax, dword [rbp - 0x21]
dec eax
je 0x140014c64
sub eax, 2
je 0x140014bff
dec eax
je 0x140014b97
sub eax, 3
je 0x140014bff
cmp eax, 4
je 0x140014bff
mov r8, r12
lea rdx, str.Registry_key_not_used__type_unsupported:__s_n
mov rcx, qword [0x140037bc0]
call fcn.140016980
jmp 0x140014ccf
test rcx, rcx
jne 0x140014bd8
mov byte [rsp + 0x28], 1
mov eax, dword [r13]
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.14000f380
test eax, eax
je 0x140014cd1
cmp eax, 1
je 0x140014cd1
lea rdx, str.WARNING:_Could_not_create_new_DWORD_driver_setting_with_Id__d__n
jmp 0x140014cbf
mov rax, qword [rcx]
mov edx, dword [r13]
call qword [rax + 0x10]
test eax, eax
je 0x140014cd1
cmp eax, 1
je 0x140014cd1
lea rdx, str.WARNING:_Could_not_re_define_DWORD_driver_setting_with_Id__d__n
jmp 0x140014cbf
test rcx, rcx
jne 0x140014c45
mov byte [rsp + 0x38], 1
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov byte [rsp + 0x20], cl
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.14000f6c0
test eax, eax
je 0x140014cd1
cmp eax, 1
je 0x140014cd1
lea rdx, str.WARNING:_Could_not_create_new_BINARY_driver_setting_with_Id__d__n
jmp 0x140014cbf
mov rax, qword [rcx]
mov r8d, dword [rbp + 0x77]
mov rdx, r13
call qword [rax + 0x40]
test eax, eax
je 0x140014cd1
cmp eax, 1
je 0x140014cd1
lea rdx, str.WARNING:_Could_not_re_define_BINARY_driver_setting_with_Id__d__n
jmp 0x140014cbf
test rcx, rcx
jne 0x140014ca2
mov byte [rsp + 0x38], 1
mov eax, dword [rbp + 0x77]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov byte [rsp + 0x20], cl
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.14000f510
test eax, eax
je 0x140014cd1
cmp eax, 1
je 0x140014cd1
lea rdx, str.WARNING:_Could_not_create_new_STRING_driver_setting_with_Id__d__n
jmp 0x140014cbf
mov rax, qword [rcx]
mov r8d, dword [rbp + 0x77]
mov rdx, r13
call qword [rax + 0x30]
test eax, eax
je 0x140014cd1
cmp eax, 1
je 0x140014cd1
lea rdx, str.WARNING:_Could_not_re_define_STRING_driver_setting_with_Id__d__n
mov r8d, dword [rbp + 0x6f]
mov rcx, qword [0x140037bc0]
call fcn.140016980
mov esi, edi
mov rax, qword [rbp - 0x39]
test rax, rax
jne 0x140014d11
lea r8, [rbp - 0x39]
mov edx, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x49]
call fcn.14000e090
test eax, eax
je 0x140014d08
cmp eax, 1
je 0x140014d08
lea rdx, str.WARNING:_Could_not_retrieve_the_setting_after_adding_it__n
mov rcx, qword [0x140037bc0]
call fcn.140016980
mov esi, edi
mov rax, qword [rbp - 0x39]
test rax, rax
je 0x140014d64
cmp byte [rax + 0xd], 0
je 0x140014d1d
mov byte [rax + 0xf], 1
jmp 0x140014d64
lea rdx, str.WARNING:_Could_not_set_the_INF_customization_flag_for_a_setting__n
mov rcx, qword [0x140037bc0]
call fcn.140016980
mov esi, edi
jmp 0x140014d64
mov r8, r12
lea rdx, str.WARNING:_Registry_key_not_used__could_not_convert_the_hexadecimal_value:__s__n
mov rcx, qword [0x140037bc0]
call fcn.140016980
jmp 0x140014d64
mov r8, r12
lea rdx, str.Registry_key_not_used__name_not_understood:__s_n
mov rcx, qword [0x140037bc0]
call fcn.140016980
jmp 0x140014d68
mov rbx, qword [rbp - 0x29]
inc r15d
cmp r15d, dword [rbp - 0x3d]
mov edi, 0
jb 0x140014900
jmp 0x140014d93
mov r9d, 2
lea rdx, str.__s__does_not_exist._No_OEM_Customization_work_will_be_done_n
call fcn.140016980
mov esi, 4
lea r8, str.SOFTWARENVIDIA_CorporationGlobalDrs
lea rdx, str.Deleting_registry___s__if_any_n
mov rcx, qword [0x140037bc0]
call fcn.140016980
lea r11, [rbp - 0x31]
mov qword [rsp + 0x20], r11
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 0x140014e14
lea rdx, [0x14002c420]
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test eax, eax
je 0x140014e14
cmp eax, 2
je 0x140014e14
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 [0x140037bc0]
call fcn.140016980
mov rcx, r12
call fcn.140017fa0
mov rcx, r13
call fcn.140017fa0
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140014e45
lea rdx, str.WARNING:_Failed_to_set__DrsProfile___n
mov rcx, qword [0x140037bc0]
call fcn.140016980
mov esi, edi
mov rcx, qword [0x140037bc0]
call fcn.140016470
mov r8d, esi
lea rdx, str.Exiting__SetOEMCustomization__function._Return__d_n
mov rcx, qword [0x140037bc0]
call fcn.140016980
mov eax, esi
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret