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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5af88d
mov eax, dword fs:[0]
push eax
sub esp, 0x768
mov eax, dword [0x63f070]
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 0x485e53
mov dword [ebp - 0x5c4], 0
jmp 0x485f12
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 0x485e6e
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 0x485eca
mov dword [ebp - 0x5c0], 0
jmp 0x485f06
mov eax, dword [ebp - 0x5a4]
shl eax, 1
call fcn.004a7960
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 0x485f44
mov dword [ebp - 0x5d0], 0
jmp 0x486003
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 0x485f5f
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 0x485fbb
mov dword [ebp - 0x5cc], 0
jmp 0x485ff7
mov eax, dword [ebp - 0x5a4]
shl eax, 1
call fcn.004a7960
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 0x612d70
push 0x467
push 0x612d28
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 0x612e84
lea edx, [ebp - 0x63c]
push edx
push 0x612d6c
lea eax, [ebp + 0x20]
push eax
push str.__StartTargetMainExe_:
mov ecx, dword [0x6401c0]
push ecx
push 1
mov edx, dword [ebp - 0x5d8]
push edx
call fcn.004226f0
add esp, 0xc
mov ecx, eax
call fcn.0043ac80
mov ecx, eax
call fcn.0043ad40
mov ecx, eax
call fcn.0043ac80
mov ecx, eax
call fcn.0043ace0
mov ecx, eax
call fcn.0043ac80
mov ecx, eax
call fcn.0043ace0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x774]
call fcn.00422690
cmp dword [ebp + 0x20], 0
jne 0x486438
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 0x4861eb
mov dword [ebp - 0x5e0], 2
push 0
push 2
push 0x612e88
push 0x46d
push 0x612e64
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 0x612fb0
lea edx, [ebp - 0x5e0]
push edx
push str._CreateProcess_failed1__
mov eax, dword [0x6401c0]
push eax
push 1
mov ecx, dword [ebp - 0x5e4]
push ecx
call fcn.004226f0
add esp, 0xc
mov ecx, eax
call fcn.0043ac80
mov ecx, eax
call fcn.0043ad40
mov ecx, eax
call fcn.0043ac80
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6cc]
call fcn.00422690
push 0
push 0x612f7c
push 0x612f80
push 0x612fdc
call fcn.0048be70
mov ecx, eax
call fcn.0048bf10
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 0x486742
lea edx, [ebp + 8]
push edx
push 0x612fe4
lea eax, [ebp - 0x540]
push eax
call fcn.004740d0
add esp, 0xc
mov byte [ebp - 4], 5
push 1
push 0
lea ecx, [ebp - 0x540]
call fcn.00413640
push eax
push 0x612fb4
push 0x612fd0
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 0x48636f
push 0
push 2
push 0x613010
push 0x488
push 0x613104
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 0x61300c
lea edx, [ebp - 0x5bc]
push edx
push str._CreateProcess_failed2__
mov eax, dword [0x6401c0]
push eax
push 1
mov ecx, dword [ebp - 0x5f0]
push ecx
call fcn.004226f0
add esp, 0xc
mov ecx, eax
call fcn.0043ac80
mov ecx, eax
call fcn.0043ad10
mov ecx, eax
call fcn.0043ac80
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.0057a870
add esp, 0xc
mov eax, dword [ebp - 0x5bc]
push eax
push 0x613138
lea ecx, [ebp - 0x90]
push ecx
call fcn.0041aef0
add esp, 0xc
push 0
lea edx, [ebp - 0x90]
push edx
push 0x61313c
push 0x613124
call fcn.0048be70
mov ecx, eax
call fcn.0048bf10
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 0x486742
lea ecx, [ebp + 0x24]
call fcn.00411720
cmp eax, 6
jbe 0x4863ea
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
lea eax, [ebp + 0x24]
push eax
push 0x61312c
lea ecx, [ebp - 0x570]
push ecx
call fcn.004740d0
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 0x486742
push 0x44
push 0
lea eax, [ebp - 0x694]
push eax
call fcn.0057a870
add esp, 0xc
mov dword [ebp - 0x694], 0x44
mov ecx, 1
mov word [ebp - 0x664], cx
push 0x613150
lea ecx, [ebp - 0x528]
call fcn.00418610
mov byte [ebp - 4], 7
mov edx, dword [0x61d9ec]
push edx
push 0x5c
lea ecx, [ebp + 8]
call fcn.00489320
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0xffffffff
je 0x4864d0
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 0x486659
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.0057a870
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 0x4b1
push 0x6131cc
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 [0x6401c0]
push ecx
push 1
mov edx, dword [ebp - 0x60c]
push edx
call fcn.004226f0
add esp, 0xc
mov ecx, eax
call fcn.0043aec0
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.0057a870
add esp, 0xc
mov ecx, dword [ebp - 0x5d4]
push ecx
push 0x6131b4
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.0048be70
mov ecx, eax
call fcn.0048bf10
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 0x486742
lea ecx, [ebp + 0x24]
call fcn.00411720
cmp eax, 6
jbe 0x486708
push 0x7d0
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov ecx, dword [0x61d9ec]
push ecx
push 0x5c
lea ecx, [ebp + 0x24]
call fcn.00489320
mov dword [ebp - 0x5b4], eax
cmp dword [ebp - 0x5b4], 0xffffffff
je 0x486708
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.004a6edb
mov esp, ebp
pop ebp
ret