Function at 0x140007490
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0x88
mov qword [rbp + 0xf], 0xfffffffffffffffe
mov rdi, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x1400074c5
lea rdx, str.Enter_PreserveSupportInfo___n
call fcn.140025be0
xor r15d, r15d
mov qword [rbp + 0x7f], r15
mov qword [rbp - 9], r15
mov dword [rbp + 0x6f], r15d
mov dword [rbp + 0x67], r15d
mov dword [rbp + 0x77], r15d
lea rdx, str.SOFTWAREIntelWireless.savSettingsSupportInfo
lea rcx, [rbp + 7]
call qword [sym.imp.mfc140.dll_Ordinal_310]
nop
lea rdx, str.SOFTWAREIntelWirelessSettingsSupportInfo
lea rcx, [rbp - 1]
call qword [sym.imp.mfc140.dll_Ordinal_310]
nop
lea rdx, str.Contact
lea rcx, [rbp + 0x17]
call qword [sym.imp.mfc140.dll_Ordinal_310]
nop
lea rdx, str.HelpLink
lea rcx, [rbp + 0x1f]
call qword [sym.imp.mfc140.dll_Ordinal_310]
nop
mov esi, r15d
nop word [rax + rax]
lea rcx, [rbp + 7]
call qword [sym.imp.mfc140.dll_Ordinal_1639]
mov rdx, rax
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1400076ae
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140007579
lea rdx, str.Enter_PreserveSupportInfo__:_Key_Open_OK_n
call fcn.140025be0
movsxd rax, esi
lea r14, [rbp + 0x17]
lea r14, [r14 + rax*8]
mov rcx, r14
call qword [sym.imp.mfc140.dll_Ordinal_1639]
mov rdx, rax
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x6f]
xor r8d, r8d
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1400076ae
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400075cc
lea rdx, str.Enter_PreserveSupportInfo___RegQuery_OK_n
call fcn.140025be0
mov ecx, dword [rbp + 0x67]
call sub.mfc140.dll_Ordinal_265
mov rbx, rax
mov rcx, r14
call qword [sym.imp.mfc140.dll_Ordinal_1639]
mov rdx, rax
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x6f]
xor r8d, r8d
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1400076a1
mov qword [rbp + 0x7f], r15
lea rcx, [rbp - 1]
call qword [sym.imp.mfc140.dll_Ordinal_1639]
mov rdx, rax
lea rax, [rbp + 0x77]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 9]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
cmp qword [rbp - 9], 0
je 0x1400076a1
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14000766e
lea rdx, str.Enter_PreserveSupportInfo__:_New_Key_Create_OK_n
call fcn.140025be0
mov rcx, r14
call qword [sym.imp.mfc140.dll_Ordinal_1639]
mov rdx, rax
mov eax, dword [rbp + 0x67]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, dword [rbp + 0x6f]
xor r8d, r8d
mov rcx, qword [rbp - 9]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp - 9]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test rbx, rbx
je 0x1400076ae
mov rcx, rbx
call sub.mfc140.dll_Ordinal_266
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc esi
cmp esi, 2
jb 0x140007530
mov r9, qword [sym.imp.mfc140.dll_Ordinal_1032]
mov edx, 8
lea r8d, [rdx - 6]
lea rcx, [rbp + 0x17]
call fcn.140059f14
nop
lea rcx, [rbp - 1]
call qword [sym.imp.mfc140.dll_Ordinal_1032]
nop
lea rcx, [rbp + 7]
call qword [sym.imp.mfc140.dll_Ordinal_1032]
add rsp, 0x88
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret