Function at 0x407c0c
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdec
push 0x6ede0d
push dword [ebp + 8]
call fcn.0066d004
add esp, 8
test eax, eax
jne 0x407c3f
push 0x6ede12
lea eax, [ebp - 0x214]
push eax
call fcn.006712b0
add esp, 8
jmp 0x407c53
push 0x6ede1b
lea edx, [ebp - 0x214]
push edx
call fcn.006712b0
add esp, 8
lea ecx, [ebp - 4]
push ecx
push dword [ebp + 8]
push SysReAllocStringLen
call sub.ADVAPI32.DLL_RegOpenKeyA
test eax, eax
je 0x407ca6
lea eax, [ebp - 4]
push eax
push dword [ebp + 8]
push SysReAllocStringLen
call sub.ADVAPI32.DLL_RegCreateKeyA
test eax, eax
jne 0x407ccd
lea edx, [ebp - 0x214]
push edx
call fcn.0066ce38
pop ecx
inc eax
push eax
lea ecx, [ebp - 0x214]
push ecx
push 1
push 0
push 0x6ede24
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
jmp 0x407ccd
lea eax, [ebp - 0x214]
push eax
call fcn.0066ce38
pop ecx
inc eax
push eax
lea edx, [ebp - 0x214]
push edx
push 1
push 0
push 0x6ede25
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegCloseKey
xor ecx, ecx
mov dword [ebp - 0xc], ecx
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x214]
push edx
push SysReAllocStringLen
call sub.ADVAPI32.DLL_RegOpenKeyA
test eax, eax
jne 0x407d3c
lea ecx, [ebp - 8]
push ecx
push 0x6ede26
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegOpenKeyA
test eax, eax
jne 0x407d34
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegCloseKey
lea eax, [ebp - 8]
push eax
push 0x6ede32
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegOpenKeyA
test eax, eax
jne 0x407d34
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegCloseKey
mov dword [ebp - 0xc], 1
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegCloseKey
mov edx, dword [ebp - 0xc]
test edx, edx
jne 0x407eeb
lea ecx, [ebp - 4]
push ecx
lea eax, [ebp - 0x214]
push eax
push SysReAllocStringLen
call sub.ADVAPI32.DLL_RegCreateKeyA
test eax, eax
jne 0x407eeb
push dword [0x833724]
push str.UltraISO__s
lea edx, [ebp - 0x110]
push edx
call fcn.006712b0
add esp, 0xc
lea ecx, [ebp - 0x110]
push ecx
call fcn.0066ce38
pop ecx
inc eax
push eax
lea eax, [ebp - 0x110]
push eax
push 1
push 0
push 0x6ede44
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
lea edx, [ebp - 8]
push edx
push str.DefaultIcon
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegCreateKeyA
test eax, eax
jne 0x407e02
push 0x830318
push str.__sUltraISO.exe__0
lea ecx, [ebp - 0x110]
push ecx
call fcn.006712b0
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
call fcn.0066ce38
pop ecx
inc eax
push eax
lea edx, [ebp - 0x110]
push edx
push 1
push 0
push 0x6ede65
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegSetValueExA
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegCloseKey
lea ecx, [ebp - 8]
push ecx
push 0x6ede66
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegCreateKeyA
test eax, eax
jne 0x407ee3
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegCloseKey
lea eax, [ebp - 8]
push eax
push str.shellopen
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegCreateKeyA
test eax, eax
jne 0x407ee3
push 0x59d9
call fcn.00402b9c
pop ecx
push eax
lea edx, [ebp - 0x110]
push edx
call fcn.006712b0
add esp, 8
lea ecx, [ebp - 0x110]
push ecx
call fcn.0066ce38
pop ecx
inc eax
push eax
lea eax, [ebp - 0x110]
push eax
push 1
push 0
push 0x6ede77
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegSetValueExA
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegCloseKey
lea edx, [ebp - 8]
push edx
push 0x6ede78
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegCreateKeyA
test eax, eax
jne 0x407ee3
push 0x830318
push str.__sUltraISO.exe____1_
lea ecx, [ebp - 0x110]
push ecx
call fcn.006712b0
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
call fcn.0066ce38
pop ecx
inc eax
push eax
lea edx, [ebp - 0x110]
push edx
push 1
push 0
push 0x6edea2
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegSetValueExA
push dword [ebp - 8]
call sub.ADVAPI32.DLL_RegCloseKey
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegCloseKey
mov esp, ebp
pop ebp
ret