Function at 0x40eee0
Capabilities:
Create process on windows
Get file size

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x41c
lea ecx, [esp + 0x28c]
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
push eax
push ecx
call esi
lea edx, [esp + 0x29c]
push 0x444b80
push edx
call fcn.0042c0b0
test eax, eax
jne 0x40ef25
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0x41c
ret 0x18
lea eax, [esp + 0x29c]
lea ecx, [esp + 0x29c]
push eax
push ecx
call fcn.0042d1d0
lea edx, [esp + 0x90]
push str.SCPLAYER.EXE
push edx
mov edi, 1
call esi
lea eax, [esp + 0x90]
push 0x444b98
push eax
call fcn.0042c0b0
test eax, eax
je 0x40efec
lea ecx, [esp + 0x3a4]
push 0
lea edx, [esp + 0x94]
push ecx
push edx
call fcn.0042c7c0
mov esi, eax
cmp esi, 0xffffffff
jne 0x40ef96
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0x41c
ret 0x18
lea eax, [esp + 0x20]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll__lclose]
cmp ebx, 0x87832
jne 0x40efb5
xor edi, edi
lea eax, [esp + 0x90]
lea ecx, [esp + 0x90]
push eax
push ecx
call fcn.0042d1d0
test edi, edi
mov eax, dword [esp + 0x440]
je 0x40f14e
test eax, eax
je 0x40f021
lea edx, [esp + 0x90]
push str.__SC
push edx
jmp 0x40f02e
lea ecx, [esp + 0x90]
push str.SCPLAY31.EXE
push ecx
call esi
lea edx, [esp + 0x90]
push str.Video
push edx
call fcn.0042c0b0
test eax, eax
jne 0x40efb5
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0x41c
ret 0x18
lea eax, [esp + 0x90]
push str.__SCH
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call esi
mov eax, dword [esp + 0x438]
test ah, 8
jne 0x40f06d
mov ecx, dword [esp + 0x43c]
lea edx, [esp + 0x68]
push ecx
push eax
push str.__V_i__i
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [esp + 0x68]
lea ecx, [esp + 0x90]
push eax
push ecx
call esi
lea edx, [esp + 0x29c]
lea eax, [esp + 0x90]
push edx
push eax
call esi
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x24]
lea edx, [esp + 0x24]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], 0x44
push ecx
push edx
push eax
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x70], 0x41
push eax
push 0
mov word [esp + 0x7c], 0xa
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x40f297
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.USER32.dll_WaitForInputIdle]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
add esi, 0x1388
call edi
mov ebp, dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, esi
jae 0x40f111
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x444bd4
call ebp
test eax, eax
jne 0x40f111
push 0x64
call ebx
call edi
cmp eax, esi
jb 0x40f0fa
push 0
push str.CSCPlaybackView
call ebp
test eax, eax
je 0x40f13c
mov ecx, dword [esp + 0x444]
test ecx, ecx
jne 0x40f13c
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [esp + 0x10]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x40f271
test eax, eax
je 0x40f161
lea edx, [esp + 0x90]
push str.__SC_
push edx
jmp 0x40f16e
lea eax, [esp + 0x90]
push str.__SCH_
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call esi
lea ecx, [esp + 0x29c]
lea edx, [esp + 0x90]
push ecx
push edx
call esi
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x24]
lea edx, [esp + 0x90]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
push eax
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push 0
mov dword [esp + 0x4c], 0x44
mov dword [esp + 0x78], 0x41
mov word [esp + 0x7c], 0xa
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x40f297
mov eax, dword [esp + 0x10]
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_WaitForInputIdle]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
add esi, 0x1388
call edi
mov ebp, dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, esi
jae 0x40f220
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x444c04
call ebp
test eax, eax
jne 0x40f220
push 0x64
call ebx
call edi
cmp eax, esi
jb 0x40f209
push 0
push str.PlayBack
call ebp
test eax, eax
je 0x40f271
mov ecx, dword [esp + 0x444]
test ecx, ecx
jne 0x40f252
mov ecx, dword [esp + 0x43c]
mov edx, dword [esp + 0x438]
push 1
push 0
push 0
push ecx
push edx
push 0xffffffffffffffff
jmp 0x40f26a
mov ecx, dword [esp + 0x43c]
mov edx, dword [esp + 0x438]
push 5
push 0
push 0
push ecx
push edx
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [esp + 0x14]
push ecx
call esi
mov eax, dword [esp + 0x434]
test eax, eax
je 0x40f297
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x41c
ret 0x18