Function at 0x410490
Capabilities:
Hide graphical window
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x830
mov eax, dword [0x439010]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0x10]
mov ecx, 0x43bf64
push edi
mov edi, dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [0x43b648], edi
call sym.Prounstl.exe_public:_int___thiscall_CNcsDebug::Configure_wchar_t_const___wchar_t_const___unsigned_long_int__int__unsigned_long_int__wchar_t_const__
push str._nogui
push esi
call fcn.00414206
mov ecx, dword [0x43b64c]
test eax, eax
mov edx, 1
cmove ecx, edx
push str._precheckonly
push esi
mov dword [0x43b64c], ecx
call fcn.00414206
add esp, 0x10
test eax, eax
jne 0x41050e
mov dword [0x43ba5c], 1
mov dword [0x43b64c], 1
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x60c], ax
lea eax, [ebp - 0x60a]
push eax
call fcn.00413c30
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x80c], ax
lea eax, [ebp - 0x80a]
push eax
call fcn.00413c30
add esp, 0x18
lea eax, [ebp - 0x60c]
push 0x104
push eax
push dword [0x43b648]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x80c]
push eax
push 0x43be60
push 0x43ba60
lea eax, [ebp - 0x60c]
push 0
push eax
call fcn.00415aa7
lea eax, [ebp - 0x80c]
push eax
push 0x80
push 0x43be60
call fcn.00414e8e
push str.ModemDel.exe
push 0x43be60
call fcn.00414206
add esp, 0x28
test eax, eax
jne 0x4105c5
push 0x200
push 0x43b650
mov dword [0x43bf60], 1
push 0x3ea
jmp 0x4105eb
cmp dword [0x43bf60], 0
je 0x4105df
push 0x200
push 0x43b650
push 0x3ea
jmp 0x4105eb
push 0x200
push 0x43b650
push 1
push dword [0x43b648]
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
call esi
call fcn.004120f0
test eax, eax
jne 0x4106e0
call fcn.00412090
test eax, eax
jne 0x4106e0
cmp dword [0x43b64c], eax
je 0x41062f
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00413026
mov esp, ebp
pop ebp
ret 0x10
call fcn.00412030
test eax, eax
je 0x410641
cmp dword [0x43bf60], 0
jne 0x410677
push str.8255xdel.exe
push 0x43be60
call fcn.00414206
add esp, 8
lea ecx, [ebp - 0x404]
neg eax
sbb eax, eax
push 0x200
neg eax
push ecx
add eax, 0x96
push eax
push dword [0x43b648]
call esi
test eax, eax
jg 0x4106ab
call fcn.00411ff0
test eax, eax
jne 0x4106e0
call fcn.00412030
test eax, eax
je 0x4106e0
cmp dword [0x43bf60], 0
je 0x4106e0
push 0x200
lea eax, [ebp - 0x404]
push eax
push 0x238
push dword [0x43b648]
call esi
push 0x30
push 0x43b650
lea eax, [ebp - 0x404]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
pop edi
mov eax, 2
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00413026
mov esp, ebp
pop ebp
ret 0x10
call fcn.00412090
test eax, eax
je 0x4106f2
call fcn.00411ff0
test eax, eax
je 0x410692
cmp dword [0x43bf60], 0
jne 0x410717
call fcn.00412090
test eax, eax
jne 0x410717
push 0x200
lea eax, [ebp - 0x404]
push eax
push 0x97
jmp 0x4106a3
cmp dword [0x43ba5c], 0
je 0x410780
call fcn.004111b0
mov dword [ebp - 0x814], eax
lea eax, [ebp - 0x810]
push eax
push 0x2001b
push 0
push str.SOFTWAREIntelProunstl
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4106c1
push 4
lea eax, [ebp - 0x814]
push eax
push 4
push 0
push str.PrecheckResult
push dword [ebp - 0x810]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x810]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4106c1
push 0x40f2a0
push 0
push 0x67
push edi
call fcn.00411ba0
add esp, 0x10
mov dword [0x43ba58], eax
test eax, eax
je 0x41061b
cmp dword [0x43b64c], 0
je 0x4107c8
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 1
push 0x111
push dword [0x43ba58]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x4107db
call fcn.0040f200
push 5
push dword [0x43ba58]
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x830]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x41083e
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push ebx
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
lea eax, [ebp - 0x830]
push eax
push dword [0x43ba58]
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x41082a
lea eax, [ebp - 0x830]
push eax
call edi
lea eax, [ebp - 0x830]
push eax
call ebx
push 0
push 0
push 0
lea eax, [ebp - 0x830]
push eax
call esi
test eax, eax
jne 0x410801
pop ebx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x828]
xor ecx, ebp
pop edi
pop esi
call fcn.00413026
mov esp, ebp
pop ebp
ret 0x10