Function at 0x4016b0
Capabilities:
Check if file exists
Create process on windows
Get common file path
Hide graphical window
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x964
mov eax, dword [0x417008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov ebx, ecx
push 0x417948
push str._sReleasephysx27GameApp.exe
push 0x418768
mov dword [ebp - 0x960], edx
mov dword [0x418760], ebx
call edi
add esp, 0xc
push 0x418768
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x401723
push 0x10
push 0x418a08
push 0x415064
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00403f80
mov esp, ebp
pop ebp
ret
push 0x417948
lea eax, [ebp - 0x910]
push str._sLoaderLoaderBG.bmp
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x910]
push 0x2010
push 0
push 0
push 0
push eax
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
push 0
mov dword [0x418974], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [0x418974]
mov dword [0x418ad0], eax
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
lea eax, [ebp - 0x920]
xorps xmm0, xmm0
push eax
push 0
push 0x30
movups xmmword [ebp - 0x920], xmm0
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [ebp - 0x918]
add eax, 0xfffffed4
cdq
push 0
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x914]
push ebx
push 0
push 0
lea eax, [eax - 0xc8]
sar esi, 1
push 0xc8
cdq
push 0x12c
sub eax, edx
sar eax, 1
push eax
push esi
push connect
push 0x418a08
push str.QQSpeed
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
test esi, esi
je 0x401a70
push dword [ebp - 0x960]
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
call ebx
push eax
lea eax, [ebp - 0x910]
push str.RunSpeedGameEvent__d
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x910]
push eax
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x418970], eax
test eax, eax
jne 0x401841
push 0x10
push 0x418a08
push 0x4150f4
jmp 0x401a62
call ebx
push eax
lea eax, [ebp - 0x910]
push 0x415104
push eax
call edi
add esp, 0xc
mov dword [ebp - 0x944], 0
lea eax, [ebp - 0x910]
mov dword [ebp - 0x924], 0
xorps xmm0, xmm0
mov dword [ebp - 0x948], eax
lea eax, [ebp - 0x95c]
movlpd qword [ebp - 0x93c], xmm0
push eax
movlpd qword [ebp - 0x934], xmm0
movlpd qword [ebp - 0x92c], xmm0
mov dword [ebp - 0x95c], 0x3c
mov dword [ebp - 0x958], 0x40
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], str.runas
mov dword [ebp - 0x94c], 0x418768
mov dword [ebp - 0x940], 0xa
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x401a56
mov eax, dword [ebp - 0x924]
mov dword [0x418a04], eax
call ebx
push eax
lea eax, [ebp - 0x910]
push str.KartMap_Shared__d
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x910]
push eax
push 0xa17
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [0x418a00], eax
test eax, eax
jne 0x401930
push 0x10
push eax
push 0x41514c
jmp 0x401a62
push 0
push 0
push 0
push 2
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [0x418764], eax
test eax, eax
jne 0x401962
push dword [0x418a00]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x10
push 0
push 0x415170
jmp 0x401a62
mov ecx, esi
call fcn.00403490
mov ecx, dword [0x418978]
test ecx, ecx
jne 0x4019a3
mov eax, dword [0x418a04]
test eax, eax
je 0x401a69
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [0x418a04]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x418a04], 0
jmp 0x401a69
mov eax, dword [0x418764]
push 0
push 5
mov dword [eax], esi
mov dword [eax + 8], ecx
mov dword [eax + 0x34], 1
lea eax, [ebp - 0x110]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x4019e9
lea eax, [ebp - 0x110]
push eax
mov eax, dword [0x418764]
add eax, 0x38
push str._sQQSpeedVN
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [0x418764]
push 0x418980
mov dword [eax + 0x13c], 0
movups xmm0, xmmword [str.____WyWyTeam_888]
movups xmmword [eax + 0x1c0], xmm0
add eax, 0x1d4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, eax
lea eax, [edx + 1]
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x401a20
push dword [0x418970]
sub edx, eax
mov eax, dword [0x418764]
mov dword [eax + 0x1d0], edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00403f80
mov esp, ebp
pop ebp
ret
push 0x10
push 0x418a08
push 0x415118
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00403f80
mov esp, ebp
pop ebp
ret