Function at 0x408a70
Capabilities:
Accept command line arguments
Create thread
Find taskbar
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1fc
mov eax, dword [0x422084]
xor eax, esp
mov dword [esp + 0x1f8], eax
push ebx
push esi
push edi
xor edi, edi
mov ebx, 0x423530
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
call fcn.00407200
lea eax, [esp + 0x10]
push eax
mov dword [0x428da8], 0x407c70
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
cmp esi, edi
je 0x408d28
mov ebx, 1
cmp dword [esp + 0x10], ebx
jle 0x408b68
mov edi, edi
mov ecx, dword [esi + ebx*4]
push 0x41ef54
push ecx
call fcn.0041621b
add esp, 8
test eax, eax
je 0x408bf4
mov edx, dword [esi + ebx*4]
push str._unit
push edx
call fcn.0041621b
add esp, 8
test eax, eax
je 0x408c01
mov eax, dword [esi + ebx*4]
push str._uninstall
push eax
call fcn.0041621b
add esp, 8
test eax, eax
je 0x408c0e
mov ecx, dword [esi + ebx*4]
push str._killself
push ecx
call fcn.0041621b
add esp, 8
test eax, eax
je 0x408c1b
mov edx, dword [esi + ebx*4]
push str._uninstallSelf
push edx
call fcn.0041621b
add esp, 8
test eax, eax
je 0x408c56
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x408ae0
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esp + 0x1c], edi
je 0x408c9d
push edi
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
mov esi, eax
push esi
call ebx
test eax, eax
je 0x408bab
push edi
push str.TrayNotifyWnd
push edi
push esi
call dword [sym.imp.USER32.dll_FindWindowExW]
mov esi, eax
push esi
call ebx
test eax, eax
jne 0x408bad
xor esi, esi
push esi
call ebx
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
je 0x408bc6
push 0
push 0
push 0x1776
push esi
call edi
push str.VideoCalendar
push str.48596F73_4E7D_4C29_80EC_4E5C71B2BDB6
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
push esi
call ebx
test eax, eax
je 0x408c93
push 0
push 0
push 0x1400
push esi
call edi
jmp 0x408ebb
mov dword [esp + 0x18], 1
jmp 0x408b68
mov dword [esp + 0x1c], 1
jmp 0x408b68
mov dword [esp + 0x14], 1
jmp 0x408b68
lea edi, [ebx + 2]
cmp edi, dword [esp + 0x10]
jge 0x408ebb
mov eax, dword [esi + ebx*4 + 4]
push eax
call fcn.0040bfe4
add esp, 4
mov ebx, eax
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esi + edi*4]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x408ebb
lea edi, [ebx + 2]
cmp edi, dword [esp + 0x10]
jge 0x408ebb
mov edx, dword [esi + ebx*4 + 4]
push edx
call fcn.0040bfe4
add esp, 4
mov ebx, eax
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + edi*4]
push eax
call fcn.004085e0
add esp, 4
jmp 0x408ebb
call fcn.00407e10
jmp 0x408ebb
cmp dword [esp + 0x14], edi
je 0x408d28
push edi
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
mov esi, eax
push esi
call ebx
test eax, eax
je 0x408cd9
push edi
push str.TrayNotifyWnd
push edi
push esi
call dword [sym.imp.USER32.dll_FindWindowExW]
mov esi, eax
push esi
call ebx
test eax, eax
jne 0x408cdb
xor esi, esi
push esi
call ebx
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
je 0x408cf4
push 0
push 0
push 0x1776
push esi
call edi
push str.VideoCalendar
push str.48596F73_4E7D_4C29_80EC_4E5C71B2BDB6
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
push esi
call ebx
test eax, eax
je 0x408d1e
push 0
push 0
push 0x1401
push esi
call edi
jmp 0x408ebb
call fcn.00407ce0
jmp 0x408ebb
push str.D09F05AD_A81C_4DC6_B251_8B8706DFFE0B
push edi
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, edi
jne 0x408eb5
call fcn.00407bf0
test eax, eax
je 0x408eb5
push str.ChangeWindowMessageFilter
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, edi
je 0x408d8f
push 1
push 0x1480
call esi
push 1
push 0x1400
call esi
push 1
push 0x1401
call esi
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
lea ecx, [esp + 0x14]
push ecx
push edi
push edi
push fcn.00409c30
push edi
push edi
call fcn.0040baf7
add esp, 0x18
lea edx, [esp + 0x70]
push edx
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
mov ecx, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], vtable.CMessage_Wnd.0
mov dword [esp + 0x50], edi
mov dword [esp + 0x44], ecx
cmp dword [0x4234d0], esi
jne 0x408df6
mov dword [0x4234d0], esi
lea edx, [esp + 0x40]
push edx
push 0x429bb0
mov ebx, 0x4234a0
call fcn.00409540
add esp, 8
push esi
push 0
push 0x80000000
movzx ebx, ax
push str.VideoCalendar
push edi
lea eax, [esp + 0x34]
call fcn.00409420
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 0
lea eax, [esp + 0x60]
push eax
call esi
test eax, eax
jle 0x408e6f
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
mov edi, dword [sym.imp.USER32.dll_DispatchMessageW]
lea ebx, [ebx]
lea ecx, [esp + 0x54]
push ecx
call ebx
lea edx, [esp + 0x54]
push edx
call edi
push 0
push 0
push 0
lea eax, [esp + 0x60]
push eax
call esi
test eax, eax
jg 0x408e50
mov eax, dword [0x429c50]
test eax, eax
je 0x408e7f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x429c50], 0
call dword [sym.imp.WS2_32.dll_WSACleanup]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x408ea5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x408ebb
push eax
call fcn.00415f2e
jmp 0x408ebb
push edi
call fcn.00409c30
mov ecx, dword [esp + 0x204]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040b177
mov esp, ebp
pop ebp
ret 0x10