Function at 0x408a40
Capabilities:
Accept command line arguments
Print debug messages

Disassembly:
push ebp
lea ebp, [esp - 0x268]
sub esp, 0x268
push 0xffffffffffffffff
push 0x45f688
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x480aa4]
xor eax, ebp
mov dword [ebp + 0x264], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
push 0x208
mov edi, ecx
mov dword [ebp - 4], 0
call fcn.0042a440
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push 6
mov esi, eax
call fcn.0042a440
add esp, 4
push 0x2d
push esi
call fcn.004476a0
add esp, 8
mov edx, 0x4676c8
mov ecx, esi
mov si, word [ecx]
cmp si, word [edx]
jne 0x408adc
test si, si
je 0x408ad8
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x408adc
add ecx, 4
add edx, 4
test si, si
jne 0x408ab6
xor ecx, ecx
jmp 0x408ae1
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x408b34
lea eax, [ebp - 0x14]
push eax
mov ecx, edi
call fcn.00408170
mov ebx, 1
lea ecx, [edi + 0xbc]
push eax
mov byte [ebp - 4], bl
call fcn.004059e0
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408b27
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [edi + 0xc4], bl
mov eax, ebx
jmp 0x408c0d
test eax, eax
je 0x408ce4
mov ecx, 0x467f80
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x408b67
test dx, dx
je 0x408b63
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x408b67
add eax, 4
add ecx, 4
test dx, dx
jne 0x408b41
xor eax, eax
jmp 0x408b6c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x408ce4
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str._n_m_included_n
call esi
push str.SoftwareAscentivePerformance_Center
push SysReAllocStringLen
lea ecx, [ebp - 0x24]
call fcn.0041a6a0
lea ecx, [ebp + 0x200]
push ecx
push str.InstallDate
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.0041ab40
mov ecx, 0x4676c8
lea eax, [ebp + 0x200]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x408bdc
test dx, dx
je 0x408bd8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x408bdc
add eax, 4
add ecx, 4
test dx, dx
jne 0x408bb6
xor eax, eax
jmp 0x408be1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x408c32
push str._nInstall_date_could_not_be_read_n
call esi
push 0x467f80
lea ecx, [edi + 0xbc]
call fcn.004025e0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.0041a6c0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x264]
xor ecx, ebp
call fcn.0044746c
add ebp, 0x268
mov esp, ebp
pop ebp
ret
lea edx, [ebp + 0x200]
push edx
lea ecx, [ebp - 0x14]
call fcn.00402730
push 0x2d
push ecx
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 3
call fcn.00401b50
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, edi
call fcn.00407b20
push 0
push 0
push 0
push 2
lea ecx, [ebp - 0x1c]
call fcn.00406950
push 0
call fcn.00447069
add esp, 4
sub eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c]
sbb edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x28]
push edx
push eax
call fcn.00406a90
test al, al
lea ecx, [edi + 0xbc]
je 0x408cb8
push 0x467f80
call fcn.004025e0
lea ecx, [ebp - 0x14]
call fcn.004016c0
jmp 0x408bfc
push 0x4676c8
call fcn.004025e0
push str._n2_days_are_not_complete_after_installation_n
call esi
lea ecx, [ebp - 0x14]
call fcn.004016c0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.0041a6c0
xor eax, eax
jmp 0x408c0d
push str._n_m_not_included_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0
lea ecx, [edi + 0xbc]
push 0x4676c8
call fcn.00401ce0
jmp 0x408c08