Function at 0x403e5f
Capabilities:
Create process on windows

Disassembly:
push ebp
lea ebp, [esp - 0x3c4]
sub esp, 0x444
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp + 0x3c0], eax
push esi
push edi
mov edi, dword [ebp + 0x3d4]
xor esi, esi
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
push esi
push esi
push esi
push esi
call dword [sym.imp.USER32.dll_DefWindowProcW]
push edi
lea ecx, [ebp - 0x64]
call fcn.00403d04
push esi
push str._QSG
lea ecx, [ebp - 0x64]
call fcn.0040296b
cmp eax, 0xffffffff
jle 0x403f3b
push 0x104
lea eax, [ebp + 0x1b4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp + 0x1b4]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00403d04
push 0x5c
lea ecx, [ebp - 0x5c]
call fcn.00401854
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x5c]
call fcn.004029a4
push eax
lea ecx, [ebp - 0x5c]
call fcn.00403c34
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff0
call fcn.004016f0
push str.HelpQSG.hta
lea ecx, [ebp - 0x5c]
call fcn.00403c99
mov edi, dword [ebp - 0x5c]
push 1
push esi
push esi
push edi
push str.open
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [edi - 0x10]
call fcn.004016f0
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.004016f0
jmp 0x4040a9
push 0x40d288
push str.KSPLASH
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
jne 0x403f2b
push 4
call fcn.004016d2
pop ecx
push esi
push dword [ebp + 0x3cc]
mov edi, 0x411d68
push esi
mov ecx, edi
call fcn.00401a26
call fcn.00403e1d
mov eax, dword [0x411d64]
cmp eax, esi
je 0x403fa2
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push esi
push esi
push 0x8001
push dword [0x411d64]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, edi
call fcn.00403471
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x403f2b
push ebx
push 0x104
lea eax, [ebp - 0x58]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00403d04
push 0x5c
lea ecx, [ebp - 0x5c]
call fcn.00401854
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x5c]
call fcn.004029a4
push eax
lea ecx, [ebp - 0x5c]
call fcn.00403c34
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff0
call fcn.004016f0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x60]
call fcn.00401bf1
push str.Splash.bmp
lea ecx, [ebp - 0x60]
call fcn.00403e2b
mov ebx, dword [ebp - 0x60]
push 0x808080
push ebx
lea ecx, [ebp - 0x80]
call fcn.00401361
lea ecx, [ebp - 0x80]
call fcn.00401330
push str.KeepSync.exe
lea ecx, [ebp - 0x5c]
call fcn.00403e2b
push 0x5dc
call fcn.00401388
pop ecx
push 1
push esi
push esi
push dword [ebp - 0x5c]
push str.open
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
call fcn.00403e1d
mov eax, dword [0x411d64]
cmp eax, esi
je 0x404060
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x40406d
push 0xc8
call fcn.00401388
pop ecx
jmp 0x404047
lea ecx, [ebp - 0x80]
call fcn.00401118
mov ecx, edi
call fcn.00403471
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x80]
call fcn.004011a6
lea ecx, [ebx - 0x10]
call fcn.004016f0
mov ecx, dword [ebp - 0x5c]
add ecx, 0xfffffff0
call fcn.004016f0
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.004016f0
pop ebx
mov ecx, dword [ebp + 0x3c0]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.004040c4
add ebp, 0x3c4
leave
ret 0x10