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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x744
mov eax, dword [0x42c760]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
jne 0x4079c4
push 0x104
lea eax, [ebp - 0x108]
push eax
xor eax, eax
cmp dword [0x42fd60], eax
setne al
add eax, 0x402
push eax
push 0
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [ebp - 0x108]
push eax
push str.SETUPMODE
call fcn.00408dd0
push 0x422de4
push str.EULA
call fcn.00408dd0
push dword [0x42fc4c]
lea eax, [ebp - 0x108]
push 0x422df0
push 0x104
push eax
call fcn.00404c40
lea eax, [ebp - 0x108]
push eax
push str.OS
call fcn.00408dd0
xor eax, eax
cmp byte [0x42fc50], al
setne al
push eax
push 0x422dfc
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00404c40
lea eax, [ebp - 0x108]
push eax
push str.64
call fcn.00408dd0
add esp, 0x40
lea eax, [ebp - 0x20c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0x20c]
push eax
call fcn.004087c0
lea eax, [ebp - 0x20c]
push eax
push str.WINDOWSDIR
call fcn.00408dd0
add esp, 0xc
lea eax, [ebp - 0x108]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x108]
push eax
call fcn.004087c0
push str.Drivers
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0040f8ef
lea eax, [ebp - 0x108]
push eax
push str.DRIVERSDIR
call fcn.00408dd0
push 1
call fcn.00409180
lea eax, [ebp - 0x108]
push eax
push 7
call fcn.00408810
lea eax, [ebp - 0x108]
push eax
call fcn.004087c0
lea eax, [ebp - 0x108]
push eax
push str.STARTUPDIRUSR
call fcn.00408dd0
lea eax, [ebp - 0x108]
push eax
push 0x422e44
call fcn.00408dd0
lea eax, [ebp - 0x108]
push eax
push 0x18
call fcn.00408810
add esp, 0x40
lea eax, [ebp - 0x108]
push eax
call fcn.004087c0
lea eax, [ebp - 0x108]
push eax
push 0x422e54
call fcn.00408dd0
add esp, 0xc
cmp byte [0x42fdf8], 0
je 0x40788d
lea eax, [ebp - 0x108]
push eax
push 0x422e64
call fcn.00408dd0
add esp, 8
lea eax, [ebp - 0x108]
push eax
push 2
call fcn.00408810
lea eax, [ebp - 0x108]
push eax
call fcn.004087c0
lea eax, [ebp - 0x108]
push eax
push str.STARTMENUUSR
call fcn.00408dd0
lea eax, [ebp - 0x108]
push eax
push 0x422e84
call fcn.00408dd0
lea eax, [ebp - 0x108]
push eax
push 0x17
call fcn.00408810
lea eax, [ebp - 0x108]
push eax
call fcn.004087c0
lea eax, [ebp - 0x108]
push eax
push 0x422e90
call fcn.00408dd0
add esp, 0x30
cmp byte [0x42fdf8], 0
je 0x407914
lea eax, [ebp - 0x108]
push eax
push 0x422ea0
call fcn.00408dd0
add esp, 8
lea eax, [ebp - 0x108]
push eax
push 0x10
call fcn.00408810
lea eax, [ebp - 0x108]
push eax
call fcn.004087c0
lea eax, [ebp - 0x108]
push eax
push str.DESKTOPDIRUSR
call fcn.00408dd0
lea eax, [ebp - 0x108]
push eax
push 0x422ebc
call fcn.00408dd0
lea eax, [ebp - 0x108]
push eax
push 0x19
call fcn.00408810
lea eax, [ebp - 0x108]
push eax
call fcn.004087c0
lea eax, [ebp - 0x108]
push eax
push 0x422ecc
call fcn.00408dd0
add esp, 0x30
cmp byte [0x42fdf8], 0
je 0x40799b
lea eax, [ebp - 0x108]
push eax
push 0x422edc
call fcn.00408dd0
add esp, 8
push 0
call fcn.00409180
push 0x422eec
push str.BUYURL
call fcn.00408dd0
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b37e
mov esp, ebp
pop ebp
ret
push 0
mov dword [0x42f7c0], 0
call fcn.00407db0
mov eax, dword [0x42f7c0]
add esp, 4
test eax, eax
jne 0x407d94
push ebx
push 0x52e
push eax
lea eax, [ebp - 0x73c]
push eax
call fcn.0040cfa0
add esp, 0xc
lea eax, [ebp - 0x73c]
push eax
push 0x422f10
call fcn.00408fc0
add esp, 4
push eax
call fcn.004097c0
movsx ecx, word [ebp - 0x730]
mov bl, al
push ecx
movsx ecx, word [ebp - 0x732]
lea eax, [ebp - 0x108]
push ecx
push 0x422f1c
push 0x104
push eax
call fcn.00404c40
lea eax, [ebp - 0x108]
push eax
push str.CURVER
call fcn.00408dd0
push 0
push 0
push 0x422f30
call fcn.00408f30
add esp, 0x30
cmp eax, 0xffffffff
jne 0x407d66
test bl, bl
je 0x407b8e
movsx eax, word [ebp - 0x72e]
push eax
push 0x422f40
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00404c40
lea eax, [ebp - 0x108]
push eax
push 0x422f44
call fcn.00408dd0
movsx eax, word [ebp - 0x72c]
push eax
push 0x422f50
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00404c40
lea eax, [ebp - 0x108]
push eax
push 0x422f54
call fcn.00408dd0
movsx eax, word [ebp - 0x72a]
push eax
push 0x422f60
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00404c40
add esp, 0x40
lea eax, [ebp - 0x108]
push eax
push str.INDIVIDUAL
call fcn.00408dd0
add esp, 8
cmp word [ebp - 0x72e], 1
jne 0x407c83
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x422f74
call fcn.00408f30
lea eax, [ebp - 0x108]
push eax
push 0x422f84
call fcn.00408dd0
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x422f94
call fcn.00408f30
lea eax, [ebp - 0x108]
push eax
push 0x422fa4
call fcn.00408dd0
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x422fb0
call fcn.00408f30
lea eax, [ebp - 0x108]
push eax
push 0x422fc0
call fcn.00408dd0
add esp, 0x3c
jmp 0x407c83
lea eax, [ebp - 0x728]
push eax
push 0x26
call fcn.00408810
add esp, 8
cmp byte [ebp - 0x728], 0
jne 0x407c0c
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x744]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [ebp - 0x740]
mov dword [ebp - 0x740], 0x104
push eax
lea eax, [ebp - 0x728]
push eax
push 0
push 0
push str.ProgramFilesDir
push dword [ebp - 0x744]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x744]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x728]
push eax
call fcn.00408780
push 0x42300c
call fcn.00408fc0
push eax
lea eax, [ebp - 0x728]
push 0x104
push eax
call fcn.0040f8ef
lea eax, [ebp - 0x108]
push eax
push 0x1a
call fcn.00408810
push 0x423018
call fcn.00408fc0
push eax
lea eax, [ebp - 0x108]
push eax
push str._sDeskSoft_s
lea eax, [ebp - 0x624]
push 0x104
push eax
call fcn.00404c40
mov eax, 1
mov dword [ebp - 0x214], 0x10001
add esp, 0x34
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x728]
push eax
push 0x423034
call fcn.00408dd0
lea eax, [ebp - 0x624]
push eax
push str.CUSTOMPATH
call fcn.00408dd0
add esp, 0x10
lea eax, [ebp - 0x108]
push eax
push 0x423054
call fcn.00408fc0
add esp, 4
push eax
call fcn.00409910
lea eax, [ebp - 0x108]
push eax
push str.CONFIGPATH
call fcn.00408dd0
movsx eax, word [ebp - 0x214]
push eax
push 0x423070
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00404c40
lea eax, [ebp - 0x108]
push eax
push str.SELEXECUTE
call fcn.00408dd0
movsx eax, word [ebp - 0x212]
push eax
push 0x423084
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00404c40
lea eax, [ebp - 0x108]
push eax
push str.SELREADME
call fcn.00408dd0
movsx eax, word [ebp - 0x210]
add esp, 0x40
push eax
push 0x423094
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00404c40
lea eax, [ebp - 0x108]
push eax
push str.SELDESKTOP
call fcn.00408dd0
add esp, 0x18
push 0x104
push str.www.desksoft.com
push str.URLTEXT
call fcn.00408f30
push 0x104
push str.http:__www.desksoft.com
push str.URLLINK
call fcn.00408f30
add esp, 0x18
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b37e
mov esp, ebp
pop ebp
ret