Function at 0x410acc
Capabilities:
Check os version
Create thread
Move file
Terminate thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x428e3e
mov eax, dword fs:[0]
push eax
sub esp, 0x1cc
mov eax, dword [0x437084]
xor eax, esp
mov dword [esp + 0x1c4], eax
push ebx
push esi
mov eax, dword [0x437084]
xor eax, esp
push eax
lea eax, [esp + 0x1d8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [0x43a93c], eax
call fcn.0040fd09
test al, al
jne 0x410b38
push 0x30
push str.Internet_connection_required
push str.Internet_connection_is_required_to_complete_the_install_process._r_nPlease_ensure_your_computer_is_online_and_try_again.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x410d55
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x30], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x410b7b
cmp dword [esp + 0x3c], 2
jne 0x410b7b
cmp dword [esp + 0x30], 5
jne 0x410b7b
cmp dword [esp + 0x34], 1
jne 0x410b7b
call fcn.00410d7c
test eax, eax
jne 0x410b7b
push 0x10
push str.Administator_rights_required
push str.Please_run_this_program_as_an_administrator__right_click_on_installer____Run_as..._.
jmp 0x410b2b
call fcn.0040fd21
test al, al
jne 0x410d55
push 0x43a8b8
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
xor ebx, ebx
push 0x103
lea eax, [esp + 0xc9]
push ebx
push eax
mov byte [esp + 0xd0], bl
call fcn.0041b1d0
add esp, 0xc
push 0x104
lea eax, [esp + 0xc8]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 5
push ebx
lea eax, [esp + 0xcc]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push ebx
push ebx
push ebx
push 0x40fd3f
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push ebx
mov dword [0x43a938], eax
call dword [sym.imp.ole32.dll_OleInitialize]
call fcn.0040f95e
call fcn.0040fc26
push str._NOCANDY
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
neg eax
sbb al, al
inc al
mov byte [0x43a8ca], al
call fcn.00410867
test al, al
je 0x410d55
mov eax, dword [0x43aa60]
cmp eax, ebx
je 0x410d55
mov ecx, dword [eax]
push 0x43aa64
push 0x43017c
push eax
call dword [ecx]
push 0xc4
call fcn.004168f3
pop ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1e0], ebx
cmp eax, ebx
je 0x410c65
push dword [0x43aa60]
push eax
call fcn.0040835e
jmp 0x410c67
xor eax, eax
or dword [esp + 0x1e0], 0xffffffff
mov dword [0x43a940], eax
mov eax, dword [0x43aa60]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x100]
cmp dword [0x43a940], ebx
je 0x410d55
call fcn.00408441
test al, al
je 0x410d55
push dword [0x43a928]
call dword [sym.imp.USER32.dll_SetFocus]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
jmp 0x410cea
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
mov eax, dword [esp + 0x10]
lea ecx, [eax - 0x100]
cmp ecx, 9
ja 0x410cdf
push dword [esp + 0x18]
push dword [esp + 0x18]
push eax
push dword [0x43a924]
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
call esi
test eax, eax
jne 0x410cb0
mov eax, dword [0x43a940]
cmp eax, ebx
je 0x410d10
push eax
mov esi, eax
call fcn.004083d2
push esi
call fcn.00416791
pop ecx
push dword [0x43a83c]
mov esi, dword [sym.imp.USER32.dll_UnregisterClassA]
push str.AtlAxWin100
call esi
push dword [0x43a83c]
push str.AtlAxWinLic100
call esi
call dword [sym.imp.ole32.dll_OleUninitialize]
push ebx
push dword [0x43a938]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
call fcn.00410dea
cmp byte [0x43a8cb], bl
je 0x410d55
call fcn.0040fc83
xor eax, eax
mov ecx, dword [esp + 0x1d8]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [esp + 0x1c4]
xor ecx, esp
call fcn.00416782
mov esp, ebp
pop ebp
ret 0x10