Function at 0x4298a0
Capabilities:
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x459418
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46e3d8]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
lea ebp, [esi + 0xc7c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], ebx
cmp byte [esi + 0xce9], bl
mov edx, str.msdk
je 0x429af2
call fcn.00401ee0
test eax, eax
je 0x429925
push 0x46f9b8
push esi
call fcn.00429530
cmp al, bl
mov byte [esi + 0xd08], al
jne 0x429913
push 0x46f998
push esi
call fcn.00429530
mov edi, esi
call fcn.00429310
push esi
mov ecx, 0x462524
call fcn.00430210
push esi
mov ecx, str.AUDIO
call fcn.00430210
test al, al
je 0x429ae7
call fcn.00402220
test eax, eax
jne 0x4299ea
mov ecx, esi
call fcn.0042b260
lea ebx, [esp + 0x14]
mov eax, 0x470d34
mov dword [esp + 0x14], 0x7e2
call fcn.00432f70
mov dword [eax], 0x9f6
call fcn.00437e80
call fcn.00437ec0
call fcn.00437f00
push 1
call fcn.00438000
cmp eax, 0x3eb
je 0x4299b5
cmp eax, 0x47b
je 0x4299b5
cmp eax, 0xffffffff
jne 0x4299e8
mov dword [esi + 0x10], 0xff
lea esi, [esp + 0x18]
call fcn.004319a0
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.User_canceled_wizard
push 0x46fa40
mov eax, 2
call fcn.00431730
mov eax, dword [esp + 0x20]
add esp, 8
mov dword [0x46fa64], 0xa009
mov dword [esi + 0x10], 9
test eax, eax
jmp 0x429b08
xor ebx, ebx
call fcn.00439ff0
push ebp
mov ecx, str.SoftwareIntelGFX
call fcn.00414440
call fcn.00439f00
mov eax, dword [0x470dc8]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [ebp + 0x38], ebx
jne 0x429ab5
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x429a25
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [esp + 0x18]
push ecx
push 0xf003f
push ebx
push str.SoftwareIntelGFX
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x429ab5
push 0x45e688
lea edx, [esp + 0x1c]
push edx
mov edx, 0x461c28
call fcn.004319e0
push str.HDMI
call fcn.00406f10
call fcn.0040b330
push str.Version
lea ecx, [esp + 0x1c]
push ecx
mov edx, eax
call fcn.004319e0
mov eax, dword [esp + 0x18]
push 4
lea edx, [esp + 0x18]
push edx
push 4
push ebx
push str.HDAUDIO
push eax
mov dword [esp + 0x2c], 1
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x429ab1
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x18], ebx
call fcn.00427ef0
call fcn.00402220
test eax, eax
jne 0x429ae7
cmp dword [ebp + 0x34], ebx
je 0x429acf
call fcn.00437f80
jmp 0x429ad4
call fcn.00437f40
push 1
call fcn.00438000
cmp eax, 0x467
jne 0x429ae7
call fcn.00430db0
mov ecx, dword [ebp + 0x38]
mov dword [0x46fa64], ecx
jmp 0x429b02
call fcn.00401ee0
test eax, eax
je 0x429b02
mov eax, esi
call fcn.00429830
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x429b11
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret