Function at 0x401190
Capabilities:
Check if file exists
Create process on windows
Get file attributes
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x5c
push ebx
push ebp
mov ebp, dword [esp + 0x70]
push ebp
call fcn.00403120
mov ebx, eax
add esp, 4
mov dword [esp + 0xc], ebx
test ebx, ebx
je 0x40160c
push esi
push edi
call fcn.0040a6dd
mov dword [eax], 0
jmp 0x4011c4
mov ebp, dword [esp + 0x78]
cmp dword [ebx + 0x144], 0
jne 0x4011e4
push 0x105
push 1
call fcn.0040a8f4
add esp, 8
mov dword [ebx + 0x144], eax
jmp 0x4011f8
lea eax, [ebx + 4]
push eax
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x4015a5
push 0x105
push 0
push dword [ebx + 0x144]
call fcn.004088b0
push 0x104
lea eax, [ebx + 0x30]
push eax
push dword [ebx + 0x144]
call fcn.0040a7d0
mov edi, dword [ebx + 0x144]
add esp, 0x18
test edi, edi
je 0x4015bb
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401234
sub ecx, edx
cmp ecx, 4
jb 0x4011c4
lea eax, [edi - 4]
mov edx, str..cpp
add eax, ecx
nop dword [eax]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x401270
test cl, cl
je 0x40126c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x401270
add eax, 2
add edx, 2
test cl, cl
jne 0x401250
xor eax, eax
jmp 0x401275
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4011c4
push eax
push edi
call fcn.00414052
add esp, 4
push eax
push ebp
call fcn.00402710
push edx
push eax
push 0x4256de
call fcn.004025c0
mov esi, edi
mov dword [esp + 0x28], eax
add esp, 0x18
lea eax, [esi + 1]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x4012a6
sub esi, eax
je 0x4012c1
cmp byte [edi + esi - 1], 0x2e
je 0x401398
sub esi, 1
jne 0x4012b1
mov ebp, edi
push 0
push str..obj
push ebp
call fcn.00402710
push edx
push eax
push 0x4256de
call fcn.004025c0
add esp, 0x18
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebp, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x40130e
mov ecx, dword [0x430284]
cmp dword [ecx], 0
jne 0x40130e
push esi
push ebp
call fcn.00402f30
add esp, 8
test eax, eax
je 0x4011c0
mov eax, dword [0x430280]
push 0
mov dword [0x430298], 1
push 0x425c14
cmp dword [eax], 0
push ebp
je 0x4013b5
push 0x425c18
push str._MTd
push 0x425c24
push 0x425c28
push str._Ivendor_GLFW_include
push str._Ivendor_imgui_backends_standalone
push str._Ivendor_imgui_backends
push str._Ivendor_imgui
push str._Ivendor_lzma
push str._Iinclude
push str._std:clatest
push str._DIMGUI_USE_STB_SPRINTF
push str._DIMGUI_DEFINE_MATH_OPERATORS
push str._DUNICODE
push str._DWIN32_LEAN_AND_MEAN
push str._nologo
push str._EHsc
push 0x425d28
call fcn.00402710
mov esi, eax
mov dword [esp + 0x64], esi
jmp 0x40141a
push esi
call fcn.0040a91a
push esi
mov ebp, eax
push edi
push ebp
call fcn.00408330
add esp, 0x10
mov byte [esi + ebp - 1], 0
jmp 0x4012c3
push 0x425d2c
push 0x425d30
push 0x425d34
push str._Ivendor_GLFW_include
push str._Ivendor_imgui_backends_standalone
push str._Ivendor_imgui_backends
push str._Ivendor_imgui
push str._Ivendor_lzma
push str._Iinclude
push str._DNDEBUG
push str._std:clatest
push str._DIMGUI_USE_STB_SPRINTF
push str._DIMGUI_DEFINE_MATH_OPERATORS
push str._DUNICODE
push str._DWIN32_LEAN_AND_MEAN
push str._nologo
push str._EHsc
push 0x425d28
call fcn.00402710
mov esi, eax
mov dword [esp + 0x64], eax
add esp, 0x54
mov ebp, edx
cmp byte [0x43029c], 0
je 0x401456
lea eax, [ebp*4 + 4]
push eax
call fcn.0040a91a
mov ecx, ebp
mov esi, eax
shl ecx, 2
push ecx
push dword [esp + 0x18]
push esi
call fcn.00408330
add esp, 0x10
mov dword [esi + ebp*4], 0x43029c
mov dword [esp + 0x10], esi
inc ebp
mov eax, dword [0x430280]
cmp dword [eax], 0
je 0x401492
lea eax, [ebp*4 + 4]
push eax
call fcn.0040a91a
lea esi, [ebp*4]
mov edi, eax
push esi
push dword [esp + 0x18]
push edi
call fcn.00408330
mov dword [esi + edi], str._DFR_DEBUG
add esp, 0x10
mov esi, edi
inc ebp
mov dword [esp + 0x10], esi
mov eax, dword [0x430290]
cmp dword [eax], 0
je 0x4014ca
lea eax, [ebp*4 + 4]
push eax
call fcn.0040a91a
lea esi, [ebp*4]
mov edi, eax
push esi
push dword [esp + 0x18]
push edi
call fcn.00408330
add esp, 0x10
mov dword [esi + edi], str._DFR_LOG_TO_CONSOLE
mov esi, edi
inc ebp
push ebp
push esi
push 0x425768
call fcn.004025c0
push eax
push str.CMD:__s
call fcn.00401050
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
xorps xmm0, xmm0
add esp, 0x14
movlpd qword [esp + 0x2c], xmm0
movlpd qword [esp + 0x34], xmm0
movlpd qword [esp + 0x3c], xmm0
movlpd qword [esp + 0x44], xmm0
push 0xfffffffffffffff4
movlpd qword [esp + 0x50], xmm0
movlpd qword [esp + 0x58], xmm0
mov dword [esp + 0x60], 0
mov dword [esp + 0x2c], 0x44
call edi
push 0xfffffffffffffff5
mov dword [esp + 0x6c], eax
call edi
push 0xfffffffffffffff6
mov dword [esp + 0x68], eax
call edi
or dword [esp + 0x54], 0x100
xorps xmm0, xmm0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x2c]
push eax
push 0
push 0
push 0
push 1
push 0
push 0
push ebp
push esi
push 0x425768
movups xmmword [esp + 0x44], xmm0
call fcn.004025c0
add esp, 0xc
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x401627
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx]
mov dword [ebx + ecx*4], eax
inc dword [edx]
mov ebx, dword [esp + 0x14]
jmp 0x4011c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x4015bb
call fcn.0040a6dd
mov dword [eax], 0x28
call fcn.0040a6dd
cmp dword [eax], 0
jg 0x401642
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
jne 0x4015e8
call fcn.0040a6dd
pop edi
pop esi
pop ebp
mov dword [eax], 0x28
pop ebx
add esp, 0x5c
ret
mov eax, dword [ebx + 0x144]
test eax, eax
je 0x4015fb
push eax
call fcn.0040a8ff
add esp, 4
push ebx
call fcn.0040a8ff
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
call fcn.0040a6dd
push dword [eax]
call fcn.0040a7bb
add esp, 4
push eax
push ebp
push str.could_not_open_directory__s:__s
call fcn.004010a0
call fcn.00401000
push eax
push ebp
push esi
call fcn.004025a0
add esp, 8
push eax
push str.Could_not_create_child_process__s:__s_n
call fcn.004010a0
call fcn.0040a6dd
push dword [eax]
call fcn.0040a7bb
add esp, 4
push eax
push ebp
push str.could_not_read_directory__s:__s
call fcn.004010a0
int3