Function at 0x4078fe
Capabilities:
Check if file exists
Hide graphical window
Set current directory

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1a6c
call fcn.0040a140
and byte [ebp - 0x1a6c], 0
push ebx
push esi
push edi
mov ecx, 0x513
xor eax, eax
lea edi, [ebp - 0x1a6b]
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcpyA]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x1454]
push 0x40daa0
push eax
call esi
and byte [ebp - 0x165c], 0
lea eax, [ebp - 0x61c]
push 0x208
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryA]
call fcn.00407831
cmp byte [0x47d2ac], 0
jne 0x40799a
push 0x47e634
lea eax, [ebp - 0x414]
push str._scmd.txt
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4079a8
lea eax, [ebp - 0x414]
push 0x47d2ac
push eax
call esi
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
lea eax, [ebp - 0x414]
push eax
call esi
test eax, eax
je 0x407b9c
lea eax, [ebp - 0x414]
push eax
call esi
test eax, eax
je 0x407b9c
lea eax, [ebp - 0x414]
or esi, 0xffffffff
push eax
call fcn.004012e6
mov edi, eax
push edi
call fcn.00406f7f
mov ebx, eax
push edi
mov dword [ebp - 4], ebx
call fcn.00408d95
add esp, 0xc
cmp ebx, 1
jle 0x407a26
push dword [0x47ef28]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
call fcn.00407579
mov edi, eax
push edi
call fcn.00407615
mov esi, eax
pop ecx
test esi, esi
jne 0x407a33
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
jmp 0x407b9c
jne 0x407a68
push 0
call dword [sym.imp.USER32.dll_DestroyMenu]
push 0x64
pop esi
add esi, 0xffffff9c
mov edi, 0x40d960
imul esi, esi, 0x320
push edi
lea ebx, [esi + 0x42ebf0]
mov esi, dword [sym.imp.SHLWAPI.dll_StrStrA]
push ebx
call esi
test eax, eax
je 0x407a6f
push 0x47f388
push edi
push ebx
call fcn.00409d20
add esp, 0xc
push edi
push ebx
jmp 0x407a4f
test ebx, ebx
jne 0x407a33
push ebx
jmp 0x407a1b
mov edi, 0x40d95c
push edi
push ebx
call esi
test eax, eax
je 0x407a8d
push 0x47f180
push edi
push ebx
call fcn.00409d20
add esp, 0xc
jmp 0x407a74
mov edi, 0x40d958
push edi
push ebx
call esi
test eax, eax
je 0x407aab
push 0x47f5d0
push edi
push ebx
call fcn.00409d20
add esp, 0xc
jmp 0x407a92
mov edi, 0x40d968
push edi
push ebx
call esi
test eax, eax
je 0x407ad0
push 0x47f5d0
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
push eax
push edi
push ebx
call fcn.00409d20
add esp, 0xc
jmp 0x407ab0
push 0x40d964
push ebx
call esi
test eax, eax
je 0x407b30
and byte [ebp - 0x20c], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x20b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x20c]
push 0x47f388
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
and byte [eax], 0
lea eax, [ebp - 0x20c]
mov edi, 0x40d964
push eax
push edi
push ebx
call fcn.00409d20
add esp, 0xc
push edi
jmp 0x407ad5
lea eax, [ebp - 0x1a6c]
push 0x7c
push eax
push ebx
call fcn.00408dac
add esp, 0xc
call fcn.00405536
call fcn.00405572
cmp dword [0x47eeec], 0
je 0x407b63
push 0
push dword [0x47ef28]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 0x1a6c]
push 4
push eax
call fcn.00407ea7
pop ecx
lea eax, [ebp - 0x1454]
pop ecx
push eax
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
push eax
lea eax, [ebp - 0x165c]
push eax
lea eax, [ebp - 0x1864]
push eax
call fcn.004055dd
mov eax, dword [ebp - 4]
add esp, 0xc
jmp 0x407b9e
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret