Function at 0x42def6
Capabilities:
Create process on windows
Get file attributes

Disassembly:
push 0x564
mov eax, 0x52bad6
call fcn.004e41bf
xor esi, esi
mov dword [ebp - 4], esi
test ecx, ecx
jne 0x42e163
mov eax, dword [ebp + 0x18]
lea ecx, [ebp + 8]
add eax, 0xfffffffe
xor ebx, ebx
push eax
inc ebx
lea eax, [ebp - 0x4a8]
push ebx
push eax
call fcn.00402110
mov byte [ebp - 4], bl
lea eax, [ebp - 0x4a8]
cmp dword [ebp - 0x494], 8
cmovae eax, dword [ebp - 0x4a8]
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
or edi, 0xffffffff
cmp eax, edi
jne 0x42e00b
push ecx
push ecx
push str.int___cdecl_FuntionImpl::StartTargetMainExe_class_std::basic_string_wchar_t_struct_std::char_traits_wchar_t__class_std::allocator_wchar_t____int_
push 0x475
push str........._srcFuntionImpl.cpp
push 0x80
lea ecx, [ebp - 0x514]
call fcn.004064ae
push str.default
push ebx
push eax
mov byte [ebp - 4], 2
call fcn.00406541
mov esi, eax
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x42dfc1
push str._CreateProcess_failed1__
lea ecx, [esi + 0x20]
call fcn.004063d6
cmp byte [esi + 0x1c], 0
je 0x42dfc1
push 2
lea ecx, [esi + 0x20]
call fcn.004062fa
cmp byte [esi + 0x1c], 0
je 0x42dfc1
push 0x55ae90
lea ecx, [esi + 0x20]
call fcn.004063d6
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x514]
mov dword [ebp - method.el::base::Writer.virtual_0], vtable.el::base::Writer.0
call fcn.004067a0
lea ecx, [ebp - 0x4e8]
call fcn.00409800
xor esi, esi
mov byte [ebp - 4], bl
push esi
push 0x560330
push str.StartWindowError
push str.Other
call fcn.004319f3
mov ecx, eax
call fcn.00431a4f
jmp 0x42e158
lea eax, [ebp + 8]
mov edx, 0x560348
push eax
lea ecx, [ebp - 0x4d8]
call fcn.0042737f
pop ecx
push ebx
mov byte [ebp - 4], 4
lea eax, [ebp - 0x4d8]
cmp dword [ebp - 0x4c4], 8
push esi
cmovae eax, dword [ebp - 0x4d8]
push eax
push str.explorer.exe
push str.open
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x4dc], eax
test eax, eax
je 0x42e149
push ecx
push ecx
push str.int___cdecl_FuntionImpl::StartTargetMainExe_class_std::basic_string_wchar_t_struct_std::char_traits_wchar_t__class_std::allocator_wchar_t____int_
push 0x490
push str........._srcFuntionImpl.cpp
push 0x80
lea ecx, [ebp - 0x514]
call fcn.004064ae
push str.default
push ebx
push eax
mov byte [ebp - 4], 5
call fcn.00406541
mov esi, eax
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x42e0d0
push str._CreateProcess_failed2__
lea ecx, [esi + 0x20]
call fcn.004063d6
cmp byte [esi + 0x1c], 0
je 0x42e0d0
push dword [ebp - 0x4dc]
lea ecx, [esi + 0x20]
call fcn.00406345
cmp byte [esi + 0x1c], 0
je 0x42e0d0
push 0x55ae90
lea ecx, [esi + 0x20]
call fcn.004063d6
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x514]
mov dword [ebp - method.el::base::Writer.virtual_0], vtable.el::base::Writer.0
call fcn.004067a0
lea ecx, [ebp - 0x4e8]
call fcn.00409800
push 0x80
xor esi, esi
mov byte [ebp - 4], 4
lea eax, [ebp - 0x90]
push esi
push eax
call fcn.004fce20
add esp, 0xc
lea eax, [ebp - 0x90]
push dword [ebp - 0x4dc]
push 0x55a174
push eax
call fcn.00402b87
add esp, 0xc
lea eax, [ebp - 0x90]
push esi
push eax
push str.StartWindowError
push str.Other
call fcn.004319f3
mov ecx, eax
call fcn.00431a4f
jmp 0x42e14b
mov edi, esi
push esi
push ebx
lea ecx, [ebp - 0x4d8]
call fcn.004021c6
lea ecx, [ebp - 0x4a8]
jmp 0x42e333
push 0x44
pop esi
push esi
lea eax, [ebp - 0x570]
push 0
push eax
call fcn.004fce20
add esp, 0xc
mov dword [ebp - 0x570], esi
xor ebx, ebx
lea ecx, [ebp - 0x4c0]
inc ebx
mov word [ebp - 0x540], bx
push 0x55695c
call fcn.0040996a
push ebx
push ecx
lea eax, [ebp - 0x4dc]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp + 8]
mov dword [ebp - 0x4dc], 0x5c
call fcn.0042625d
or edi, 0xffffffff
cmp eax, edi
je 0x42e1ec
push eax
push ebx
lea eax, [ebp - 0x4a8]
push eax
lea ecx, [ebp + 8]
call fcn.00402110
push eax
lea ecx, [ebp - 0x4c0]
call fcn.0040214d
xor esi, esi
lea ecx, [ebp - 0x4a8]
push esi
push ebx
call fcn.004021c6
jmp 0x42e1ee
xor esi, esi
cmp dword [ebp - 0x4ac], 8
lea edx, [ebp - 0x524]
push edx
lea edx, [ebp - 0x570]
push edx
lea eax, [ebp - 0x4c0]
cmovae eax, dword [ebp - 0x4c0]
lea ecx, [ebp + 8]
cmp dword [ebp + 0x1c], 8
push eax
cmovae ecx, dword [ebp + 8]
push esi
push 0x4000000
push ebx
push esi
push esi
push ecx
push esi
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
test eax, eax
jne 0x42e32b
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov esi, eax
lea eax, [ebp - 0x490]
push 0x200
push 0
push eax
mov dword [ebp - 0x4dc], esi
call fcn.004fce20
add esp, 0xc
lea eax, [ebp - 0x490]
push esi
push str.CreateProcess_failed3___d_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov dword [esp], str.int___cdecl_FuntionImpl::StartTargetMainExe_class_std::basic_string_wchar_t_struct_std::char_traits_wchar_t__class_std::allocator_wchar_t____int_
lea ecx, [ebp - 0x514]
push 0x4b3
push str........._srcFuntionImpl.cpp
mov esi, 0x80
push esi
call fcn.004064ae
push str.default
push ebx
push eax
mov byte [ebp - 4], 8
call fcn.00406541
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x42e2b6
lea ecx, [ebp - 0x490]
push ecx
lea ecx, [eax + 0x20]
call fcn.0040642d
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x514]
mov dword [ebp - method.el::base::Writer.virtual_0], vtable.el::base::Writer.0
call fcn.004067a0
lea ecx, [ebp - 0x4e8]
call fcn.00409800
push esi
xor esi, esi
mov byte [ebp - 4], 7
lea eax, [ebp - 0x90]
push esi
push eax
call fcn.004fce20
add esp, 0xc
lea eax, [ebp - 0x90]
push dword [ebp - 0x4dc]
push 0x55a174
push eax
call fcn.00402b87
add esp, 0xc
lea eax, [ebp - 0x90]
push esi
push eax
push str.StartWindowError
push str.Other
call fcn.004319f3
mov ecx, eax
call fcn.00431a4f
jmp 0x42e32d
mov edi, esi
lea ecx, [ebp - 0x4c0]
push esi
push ebx
call fcn.004021c6
push esi
push ebx
lea ecx, [ebp + 8]
call fcn.004021c6
mov eax, edi
call fcn.004e4169
ret