Function at 0x484f50
Capabilities:
Check if file exists
Create process on windows
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ac17d
mov eax, dword fs:[0]
push eax
sub esp, 0x768
mov eax, dword [0x63b070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 1
call fcn.0041ce50
mov dword [ebp - 0x5c8], eax
lea ecx, [ebp + 0x24]
call fcn.00413640
mov dword [ebp - 0x5a8], eax
cmp dword [ebp - 0x5a8], 0
jne 0x484fb3
mov dword [ebp - 0x5c4], 0
jmp 0x485072
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x5ac]
add ecx, 2
mov dword [ebp - 0x61c], ecx
mov edx, dword [ebp - 0x5ac]
mov ax, word [edx]
mov word [ebp - 0x5b6], ax
add dword [ebp - 0x5ac], 2
cmp word [ebp - 0x5b6], 0
jne 0x484fce
mov ecx, dword [ebp - 0x5ac]
sub ecx, dword [ebp - 0x61c]
sar ecx, 1
mov dword [ebp - 0x620], ecx
mov edx, dword [ebp - 0x620]
add edx, 1
mov dword [ebp - 0x5a4], edx
cmp dword [ebp - 0x5a4], 0x3fffffff
jle 0x48502a
mov dword [ebp - 0x5c0], 0
jmp 0x485066
mov eax, dword [ebp - 0x5a4]
shl eax, 1
call fcn.004a4480
mov dword [ebp - 0x624], esp
mov eax, dword [ebp - 0x5c8]
push eax
mov ecx, dword [ebp - 0x5a4]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0x5a8]
push edx
mov eax, dword [ebp - 0x624]
push eax
call fcn.0041ceb0
mov dword [ebp - 0x5c0], eax
mov ecx, dword [ebp - 0x5c0]
mov dword [ebp - 0x5c4], ecx
mov edx, dword [ebp - 0x5c4]
mov dword [ebp - 0x638], edx
lea ecx, [ebp + 8]
call fcn.00413640
mov dword [ebp - 0x5a8], eax
cmp dword [ebp - 0x5a8], 0
jne 0x4850a4
mov dword [ebp - 0x5d0], 0
jmp 0x485163
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x5b0], eax
mov ecx, dword [ebp - 0x5b0]
add ecx, 2
mov dword [ebp - 0x628], ecx
mov edx, dword [ebp - 0x5b0]
mov ax, word [edx]
mov word [ebp - 0x5b8], ax
add dword [ebp - 0x5b0], 2
cmp word [ebp - 0x5b8], 0
jne 0x4850bf
mov ecx, dword [ebp - 0x5b0]
sub ecx, dword [ebp - 0x628]
sar ecx, 1
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x62c]
add edx, 1
mov dword [ebp - 0x5a4], edx
cmp dword [ebp - 0x5a4], 0x3fffffff
jle 0x48511b
mov dword [ebp - 0x5cc], 0
jmp 0x485157
mov eax, dword [ebp - 0x5a4]
shl eax, 1
call fcn.004a4480
mov dword [ebp - 0x630], esp
mov eax, dword [ebp - 0x5c8]
push eax
mov ecx, dword [ebp - 0x5a4]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0x5a8]
push edx
mov eax, dword [ebp - 0x630]
push eax
call fcn.0041ceb0
mov dword [ebp - 0x5cc], eax
mov ecx, dword [ebp - 0x5cc]
mov dword [ebp - 0x5d0], ecx
mov edx, dword [ebp - 0x5d0]
mov dword [ebp - 0x63c], edx
push 0
push 2
push 0x60ea68
push 0x45b
push 0x60ea44
push 0x80
lea ecx, [ebp - 0x774]
call fcn.00422610
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x5d8], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x638]
push ecx
push 0x60eb68
lea edx, [ebp - 0x63c]
push edx
push 0x60eb84
lea eax, [ebp + 0x20]
push eax
push str.__StartTargetMainExe_:
mov ecx, dword [0x63c1c0]
push ecx
push 1
mov edx, dword [ebp - 0x5d8]
push edx
call fcn.004226f0
add esp, 0xc
mov ecx, eax
call fcn.0043a870
mov ecx, eax
call fcn.0043a930
mov ecx, eax
call fcn.0043a870
mov ecx, eax
call fcn.0043a8d0
mov ecx, eax
call fcn.0043a870
mov ecx, eax
call fcn.0043a8d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x774]
call fcn.00422690
cmp dword [ebp + 0x20], 0
jne 0x485598
lea ecx, [ebp + 8]
call fcn.00411720
sub eax, 2
push eax
push 1
lea eax, [ebp - 0x558]
push eax
lea ecx, [ebp + 8]
call fcn.004135c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x558]
call fcn.00413640
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x48534b
mov dword [ebp - 0x5e0], 2
push 0
push 2
push 0x60eb88
push 0x461
push 0x60ec84
push 0x80
lea ecx, [ebp - 0x6cc]
call fcn.00422610
mov dword [ebp - 0x5dc], eax
mov ecx, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e4], ecx
mov byte [ebp - 4], 4
push 0x60ec7c
lea edx, [ebp - 0x5e0]
push edx
push str._CreateProcess_failed1__
mov eax, dword [0x63c1c0]
push eax
push 1
mov ecx, dword [ebp - 0x5e4]
push ecx
call fcn.004226f0
add esp, 0xc
mov ecx, eax
call fcn.0043a870
mov ecx, eax
call fcn.0043a930
mov ecx, eax
call fcn.0043a870
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6cc]
call fcn.00422690
push 0
push 0x60ec80
push 0x60ece8
push 0x60ecfc
call fcn.0048abf0
mov ecx, eax
call fcn.0048ac90
mov dword [ebp - 0x5e8], 0xffffffff
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x558]
call fcn.00413710
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00413710
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.00413710
mov eax, dword [ebp - 0x5e8]
jmp 0x4858a2
lea edx, [ebp + 8]
push edx
push 0x60ecc0
lea eax, [ebp - 0x540]
push eax
call fcn.004733b0
add esp, 0xc
mov byte [ebp - 4], 5
push 1
push 0
lea ecx, [ebp - 0x540]
call fcn.00413640
push eax
push 0x60eccc
push 0x60ed40
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [ebp - 0x5fc], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x5bc], eax
cmp dword [ebp - 0x5bc], 0
je 0x4854cf
push 0
push 2
push 0x60ed60
push 0x47c
push 0x60ed04
push 0x80
lea ecx, [ebp - 0x704]
call fcn.00422610
mov dword [ebp - 0x5ec], eax
mov ecx, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], ecx
mov byte [ebp - 4], 6
push 0x60ee5c
lea edx, [ebp - 0x5bc]
push edx
push str._CreateProcess_failed2__
mov eax, dword [0x63c1c0]
push eax
push 1
mov ecx, dword [ebp - 0x5f0]
push ecx
call fcn.004226f0
add esp, 0xc
mov ecx, eax
call fcn.0043a870
mov ecx, eax
call fcn.0043a900
mov ecx, eax
call fcn.0043a870
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x704]
call fcn.00422690
mov byte [ebp - 0x90], 0
push 0x7f
push 0
lea edx, [ebp - 0x8f]
push edx
call fcn.00577360
add esp, 0xc
mov eax, dword [ebp - 0x5bc]
push eax
push 0x60ee60
lea ecx, [ebp - 0x90]
push ecx
call fcn.0041aef0
add esp, 0xc
push 0
lea edx, [ebp - 0x90]
push edx
push 0x60ed4c
push 0x60ee54
call fcn.0048abf0
mov ecx, eax
call fcn.0048ac90
mov dword [ebp - 0x5f4], 0xffffffff
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x540]
call fcn.00413710
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x558]
call fcn.00413710
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00413710
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.00413710
mov eax, dword [ebp - 0x5f4]
jmp 0x4858a2
lea ecx, [ebp + 0x24]
call fcn.00411720
cmp eax, 6
jbe 0x48554a
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
lea eax, [ebp + 0x24]
push eax
push 0x60ee74
lea ecx, [ebp - 0x570]
push ecx
call fcn.004733b0
add esp, 0xc
mov dword [ebp - 0x5f8], eax
mov edx, dword [ebp - 0x5f8]
push edx
lea ecx, [ebp - 0x540]
call fcn.00413760
lea ecx, [ebp - 0x570]
call fcn.00413710
push 1
push 0
lea ecx, [ebp - 0x540]
call fcn.00413640
push eax
push str.explorer.exe
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 0x600], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x540]
call fcn.00413710
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x558]
call fcn.00413710
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00413710
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.00413710
mov eax, dword [ebp - 0x600]
jmp 0x4858a2
push 0x44
push 0
lea eax, [ebp - 0x694]
push eax
call fcn.00577360
add esp, 0xc
mov dword [ebp - 0x694], 0x44
mov ecx, 1
mov word [ebp - 0x664], cx
push 0x60ee70
lea ecx, [ebp - 0x528]
call fcn.00418610
mov byte [ebp - 4], 7
mov edx, dword [0x618b14]
push edx
push 0x5c
lea ecx, [ebp + 8]
call fcn.004880a0
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0xffffffff
je 0x485630
mov eax, dword [ebp - 0x5b4]
push eax
push 1
lea ecx, [ebp - 0x588]
push ecx
lea ecx, [ebp + 8]
call fcn.004135c0
mov dword [ebp - 0x604], eax
mov edx, dword [ebp - 0x604]
push edx
lea ecx, [ebp - 0x528]
call fcn.00413760
lea ecx, [ebp - 0x588]
call fcn.00413710
lea eax, [ebp - 0x650]
push eax
lea ecx, [ebp - 0x694]
push ecx
lea ecx, [ebp - 0x528]
call fcn.00413640
push eax
push 0
push 0x4000000
push 1
push 0
push 0
lea ecx, [ebp + 8]
call fcn.00413640
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
test eax, eax
jne 0x4857b9
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x640], 0x200
push 0x200
push 0
lea edx, [ebp - 0x510]
push edx
call fcn.00577360
add esp, 0xc
mov eax, dword [ebp - 0x5d4]
push eax
push str.CreateProcess_failed3___d_
lea ecx, [ebp - 0x510]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0
push 2
push str.int___cdecl_FuntionImpl::StartTargetMainExe_class_std::basic_string_wchar_t_struct_std::char_traits_wchar_t__class_std::allocator_wchar_t____int_class_std::basic_string_wchar_t_struct_std::char_traits_wchar_t__class_std::allocator_wchar_t____
push 0x4a5
push 0x60ee9c
push 0x80
lea ecx, [ebp - 0x73c]
call fcn.00422610
mov dword [ebp - 0x608], eax
mov edx, dword [ebp - 0x608]
mov dword [ebp - 0x60c], edx
mov byte [ebp - 4], 8
lea eax, [ebp - 0x510]
push eax
mov ecx, dword [0x63c1c0]
push ecx
push 1
mov edx, dword [ebp - 0x60c]
push edx
call fcn.004226f0
add esp, 0xc
mov ecx, eax
call fcn.00473470
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x73c]
call fcn.00422690
mov byte [ebp - 0x110], 0
push 0x7f
push 0
lea eax, [ebp - 0x10f]
push eax
call fcn.00577360
add esp, 0xc
mov ecx, dword [ebp - 0x5d4]
push ecx
push 0x60eebc
lea edx, [ebp - 0x110]
push edx
call fcn.0041aef0
add esp, 0xc
push 0
lea eax, [ebp - 0x110]
push eax
push str.StartWindowError
push str.Other
call fcn.0048abf0
mov ecx, eax
call fcn.0048ac90
mov dword [ebp - 0x610], 0xffffffff
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x528]
call fcn.00413710
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00413710
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.00413710
mov eax, dword [ebp - 0x610]
jmp 0x4858a2
lea ecx, [ebp + 0x24]
call fcn.00411720
cmp eax, 6
jbe 0x485868
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov ecx, dword [0x618b14]
push ecx
push 0x5c
lea ecx, [ebp + 0x24]
call fcn.004880a0
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0xffffffff
je 0x485868
mov edx, dword [ebp - 0x5b4]
push edx
push 1
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp + 0x24]
call fcn.004135c0
mov dword [ebp - 0x614], eax
mov ecx, dword [ebp - 0x614]
push ecx
lea ecx, [ebp - 0x528]
call fcn.00413760
lea ecx, [ebp - 0x5a0]
call fcn.00413710
lea edx, [ebp - 0x650]
push edx
lea eax, [ebp - 0x694]
push eax
lea ecx, [ebp - 0x528]
call fcn.00413640
push eax
push 0
push 0x4000000
push 1
push 0
push 0
lea ecx, [ebp + 0x24]
call fcn.00413640
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
mov dword [ebp - 0x618], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x528]
call fcn.00413710
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00413710
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.00413710
mov eax, dword [ebp - 0x618]
lea esp, [ebp - 0x778]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a39ef
mov esp, ebp
pop ebp
ret