Function at 0x403140
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 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
push str.MachineGuid
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 0x1f
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.SOFTWAREMicrosoftCryptography
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 0x40371e
sub esp, 8
lea edx, [eax + 8]
lea ecx, [ebp - 0xd0]
call fcn.004022a0
mov edx, 8
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 0x403331
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403327
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40351d
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 0x403386
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40337c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40351d
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 0x4033db
mov edx, dword [ebp - 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4033d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40351d
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 0x403430
mov edx, dword [ebp - 0x134]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403426
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40351d
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 0x403485
mov edx, dword [ebp - 0x14c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40347b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40351d
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 0x4034d6
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4034cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40351d
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 0x40352d
mov edx, dword [ebp - 0x17c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403523
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x403523
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 0x403598
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40358e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40370e
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 0x4035de
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4035d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40370e
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 0x403627
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40361d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40370e
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 0x403676
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40366c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40370e
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 0x4036c7
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4036bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40370e
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 0x40371e
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403714
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x403714
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 0x40374e
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403744
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403786
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 0x403796
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40378c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40378c
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