Function at 0x402720
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x405086
mov eax, dword fs:[0]
push eax
sub esp, 0x170
mov eax, dword [0x408008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0xd
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
push str.HwProfileGuid
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
call fcn.00402060
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
push 0x42
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.SYSTEMCurrentControlSetControlIDConfigDBHardware_Profiles0001
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
call fcn.00402060
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 1
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push ecx
cmovae eax, dword [ebp - 0x28]
push 2
push 0
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x402cfe
sub esp, 8
lea edx, [eax + 8]
lea ecx, [ebp - 0xd0]
call fcn.004022a0
mov edx, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb8]
call fcn.004022a0
mov edx, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa0]
call fcn.004022a0
mov edx, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x88]
call fcn.004022a0
mov edx, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x70]
call fcn.004022a0
add esp, 4
mov byte [ebp - 4], 6
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0x17c]
call fcn.004038e0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 7
push ecx
mov edx, eax
lea ecx, [ebp - 0x164]
call fcn.00403a80
add esp, 4
mov byte [ebp - 4], 8
mov edx, eax
lea ecx, [ebp - 0x14c]
call fcn.004039f0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 9
push ecx
mov edx, eax
lea ecx, [ebp - 0x134]
call fcn.00403a80
add esp, 4
mov byte [ebp - 4], 0xa
mov edx, eax
lea ecx, [ebp - 0x11c]
call fcn.004039f0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xb
push ecx
mov edx, eax
lea ecx, [ebp - 0x104]
call fcn.00403a80
add esp, 4
mov byte [ebp - 4], 0xc
mov edx, eax
lea ecx, [ebp - 0xec]
call fcn.004039f0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xd
push ecx
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.00403a80
mov ecx, dword [ebp - 0xd8]
add esp, 8
cmp ecx, 0x10
jb 0x402911
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402907
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402afd
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
cmp ecx, 0x10
jb 0x402966
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40295c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402afd
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0xf
mov byte [ebp - 0x104], 0
cmp ecx, 0x10
jb 0x4029bb
mov edx, dword [ebp - 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4029b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402afd
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0xf
mov byte [ebp - 0x11c], 0
cmp ecx, 0x10
jb 0x402a10
mov edx, dword [ebp - 0x134]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402a06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402afd
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0xf
mov byte [ebp - 0x134], 0
cmp ecx, 0x10
jb 0x402a65
mov edx, dword [ebp - 0x14c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402a5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402afd
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0xf
mov byte [ebp - 0x14c], 0
cmp ecx, 0x10
jb 0x402ab6
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402aac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402afd
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0xf
mov byte [ebp - 0x164], 0
cmp ecx, 0x10
jb 0x402b0d
mov edx, dword [ebp - 0x17c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402b03
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x402b03
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00404032
add esp, 8
push dword [ebp - 0x30]
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x58]
cmovae ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x44], 0x10
push ecx
cmovae eax, dword [ebp - 0x58]
push 1
push 0
push eax
push dword [ebp - 0xd4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0xd4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x402b78
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402b6e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402cee
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0x10
jb 0x402bbe
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402bb4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402cee
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp ecx, 0x10
jb 0x402c07
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402bfd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402cee
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
cmp ecx, 0x10
jb 0x402c56
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402c4c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402cee
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp ecx, 0x10
jb 0x402ca7
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402c9d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402cee
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp ecx, 0x10
jb 0x402cfe
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402cf4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x402cf4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x402d2e
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402d24
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402d66
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0x10
jb 0x402d76
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402d6c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x402d6c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00404032
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00403f42
mov esp, ebp
pop ebp
ret