Function at 0x4069ff
Capabilities:
Get common file path
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x748
mov eax, dword [0x431418]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
push ebx
push esi
push edi
jne 0x406cec
mov edi, 0x104
lea eax, [ebp - 0x108]
push edi
push eax
xor eax, eax
cmp dword [0x433b00], eax
setne al
xor esi, esi
add eax, 0x402
push eax
push esi
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x108]
push eax
push str.SETUPMODE
call fcn.00408e39
push 0x426a18
push str.CRLF
call fcn.00408e39
push 0x426a23
push str.EULA
call fcn.00408e39
push dword [0x4339ec]
mov ebx, 0x426960
lea eax, [ebp - 0x108]
push ebx
push edi
push eax
call fcn.00403cb5
lea eax, [ebp - 0x108]
push eax
push str.OS
call fcn.00408e39
xor eax, eax
cmp byte [0x4339f0], al
setne al
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
add esp, 0x40
lea eax, [ebp - 0x108]
push eax
push str.64
call fcn.00408e39
pop ecx
pop ecx
push edi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0x20c]
push eax
call fcn.0040859e
lea eax, [ebp - 0x20c]
push eax
push str.WINDOWSDIR
call fcn.00408e39
add esp, 0xc
lea eax, [ebp - 0x108]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x108]
push eax
call fcn.0040859e
mov dword [esp], str.Drivers
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.0041139d
lea eax, [ebp - 0x108]
push eax
push str.DRIVERSDIR
call fcn.00408e39
push 1
call fcn.004080f7
lea eax, [ebp - 0x108]
push eax
push 7
call fcn.00407fbb
lea eax, [ebp - 0x108]
push eax
call fcn.0040859e
lea eax, [ebp - 0x108]
push eax
push str.STARTUPDIRUSR
call fcn.00408e39
lea eax, [ebp - 0x108]
mov edi, str.STARTUPDIR
push eax
push edi
call fcn.00408e39
lea eax, [ebp - 0x108]
push eax
push 0x18
call fcn.00407fbb
lea eax, [ebp - 0x108]
push eax
call fcn.0040859e
add esp, 0x40
lea eax, [ebp - 0x108]
push eax
push str.STARTUPDIRALL
call fcn.00408e39
cmp byte [0x433b05], 0
pop ecx
pop ecx
je 0x406bc8
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.00408e39
pop ecx
pop ecx
lea eax, [ebp - 0x108]
push eax
push 2
call fcn.00407fbb
lea eax, [ebp - 0x108]
push eax
call fcn.0040859e
lea eax, [ebp - 0x108]
push eax
push str.STARTMENUUSR
call fcn.00408e39
lea eax, [ebp - 0x108]
mov edi, str.STARTMENUDIR
push eax
push edi
call fcn.00408e39
lea eax, [ebp - 0x108]
push eax
push 0x17
call fcn.00407fbb
lea eax, [ebp - 0x108]
push eax
call fcn.0040859e
lea eax, [ebp - 0x108]
push eax
push str.STARTMENUALL
call fcn.00408e39
add esp, 0x30
cmp byte [0x433b05], 0
je 0x406c4b
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.00408e39
pop ecx
pop ecx
lea eax, [ebp - 0x108]
push eax
push 0x10
call fcn.00407fbb
lea eax, [ebp - 0x108]
push eax
call fcn.0040859e
lea eax, [ebp - 0x108]
push eax
push str.DESKTOPDIRUSR
call fcn.00408e39
lea eax, [ebp - 0x108]
mov edi, str.DESKTOPDIR
push eax
push edi
call fcn.00408e39
lea eax, [ebp - 0x108]
push eax
push 0x19
call fcn.00407fbb
lea eax, [ebp - 0x108]
push eax
call fcn.0040859e
lea eax, [ebp - 0x108]
push eax
push str.DESKTOPDIRALL
call fcn.00408e39
add esp, 0x30
cmp byte [0x433b05], 0
je 0x406cce
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.00408e39
pop ecx
pop ecx
push esi
call fcn.004080f7
mov dword [esp], str.http:__www.desksoft.com
push str.BUYURL
call fcn.00408e39
pop ecx
pop ecx
jmp 0x40711d
xor esi, esi
push esi
mov dword [0x433970], esi
call fcn.004064b8
mov eax, dword [0x433970]
pop ecx
test eax, eax
jne 0x40711f
push 0x530
lea eax, [ebp - 0x73c]
push esi
push eax
call fcn.0040ea10
add esp, 0xc
lea eax, [ebp - 0x73c]
push eax
push str.PROGRAM
call fcn.004090c0
pop ecx
push eax
call fcn.00407f02
movsx ecx, word [ebp - 0x730]
mov edi, 0x104
push ecx
movsx ecx, word [ebp - 0x732]
push ecx
push str._d._d
mov byte [ebp - 0x73d], al
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
lea eax, [ebp - 0x108]
push eax
push str.CURVER
call fcn.00408e39
add esp, 0x24
mov ebx, 0x4266e8
cmp byte [ebp - 0x73d], 0
je 0x406e8c
movsx eax, word [ebp - 0x72e]
push eax
push 0x426960
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
lea eax, [ebp - 0x108]
push eax
push str.FORWHO
call fcn.00408e39
movsx eax, word [ebp - 0x72c]
push eax
push 0x426960
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
lea eax, [ebp - 0x108]
push eax
push str.CUSTOMLOC
call fcn.00408e39
movsx eax, word [ebp - 0x72a]
push eax
push 0x426960
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
add esp, 0x40
lea eax, [ebp - 0x108]
push eax
push str.INDIVIDUAL
call fcn.00408e39
xor eax, eax
inc eax
pop ecx
pop ecx
cmp word [ebp - 0x72e], ax
jne 0x406eb4
push edi
lea eax, [ebp - 0x108]
push eax
push str.STARTUPDIRALL
call fcn.00408084
lea eax, [ebp - 0x108]
push eax
push str.STARTUPDIR
call fcn.00408e39
push edi
lea eax, [ebp - 0x108]
push eax
push str.STARTMENUALL
call fcn.00408084
lea eax, [ebp - 0x108]
push eax
push str.STARTMENUDIR
call fcn.00408e39
push edi
lea eax, [ebp - 0x108]
push eax
push str.DESKTOPDIRALL
call fcn.00408084
lea eax, [ebp - 0x108]
push eax
push str.DESKTOPDIR
call fcn.00408e39
add esp, 0x3c
jmp 0x406eb4
push 0x426670
push str.FORWHO
call fcn.00408e39
push ebx
push str.CUSTOMLOC
call fcn.00408e39
push ebx
push str.INDIVIDUAL
call fcn.00408e39
add esp, 0x18
push esi
push esi
push 0x426538
call fcn.00408084
add esp, 0xc
cmp eax, 0xffffffff
jne 0x406f88
cmp byte [ebp - 0x73d], 0
jne 0x406f75
lea eax, [ebp - 0x728]
push eax
push 0x26
call fcn.00407fbb
cmp byte [ebp - 0x728], 0
pop ecx
pop ecx
jne 0x406f4c
lea eax, [ebp - 0x744]
push eax
lea eax, [ebp - 0x748]
push eax
push esi
push 0xf003f
push esi
push esi
push esi
push str.SoftwareMicrosoftWindowsCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [ebp - 0x744]
mov dword [ebp - 0x744], edi
push eax
lea eax, [ebp - 0x728]
push eax
push esi
push esi
push str.ProgramFilesDir
push dword [ebp - 0x748]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x748]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x728]
push eax
call fcn.00407281
mov dword [esp], str.PROGRAM
call fcn.004090c0
push eax
lea eax, [ebp - 0x728]
push edi
push eax
call fcn.0041139d
add esp, 0x10
lea eax, [ebp - 0x728]
push eax
push 0x426538
call fcn.00408e39
pop ecx
pop ecx
push esi
push esi
mov esi, str.CUSTOMPATH
push esi
call fcn.00408084
add esp, 0xc
cmp eax, 0xffffffff
jne 0x407002
cmp byte [ebp - 0x73d], 0
jne 0x406ffa
lea eax, [ebp - 0x108]
push eax
push 0x1a
call fcn.00407fbb
push str.PROGRAM
call fcn.004090c0
push eax
lea eax, [ebp - 0x108]
push eax
push str._sDeskSoft_s
lea eax, [ebp - 0x624]
push edi
push eax
call fcn.00403cb5
xor eax, eax
add esp, 0x20
inc eax
mov word [ebp - 0x214], ax
mov word [ebp - 0x212], ax
mov word [ebp - 0x210], ax
mov word [ebp - 0x20e], ax
lea ebx, [ebp - 0x624]
jmp 0x407024
push ebx
push str.FORWHO
call fcn.00408e39
push 0x426670
push str.CUSTOMLOC
call fcn.00408e39
add esp, 0x10
mov esi, str.INDIVIDUAL
push ebx
push esi
call fcn.00408e39
pop ecx
pop ecx
lea eax, [ebp - 0x108]
push eax
push str.PROGRAM
call fcn.004090c0
pop ecx
push eax
call fcn.00407c3c
lea eax, [ebp - 0x108]
push eax
push str.CONFIGPATH
call fcn.00408e39
movsx eax, word [ebp - 0x214]
mov ebx, 0x426960
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
lea eax, [ebp - 0x108]
push eax
push str.SELEXECUTE
call fcn.00408e39
movsx eax, word [ebp - 0x212]
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
lea eax, [ebp - 0x108]
push eax
push str.SELREADME
call fcn.00408e39
movsx eax, word [ebp - 0x210]
add esp, 0x40
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
lea eax, [ebp - 0x108]
push eax
push str.SELDESKTOP
call fcn.00408e39
movsx eax, word [ebp - 0x20e]
push eax
push ebx
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.00403cb5
lea eax, [ebp - 0x108]
push eax
push str.SELSTARTMENU
call fcn.00408e39
push edi
push str.www.desksoft.com
push str.URLTEXT
call fcn.00408084
push edi
push 0x4312d0
push str.URLLINK
call fcn.00408084
add esp, 0x48
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040d595
leave
ret