Function at 0x210060e10
Capabilities:
Check if file exists
Create a process with modified i/o handles and window
Create process on windows
Get file attributes
Get system information on windows

Disassembly:
push rbp
mov eax, 0x2120
push r14
push r13
push r12
push rdi
push rsi
push rbx
call fcn.21021b550
sub rsp, rax
lea rbp, [rsp + 0x80]
xor r10d, r10d
cmp byte [0x2102f7298], 0
mov word [rbp + 0x30], r10w
mov r12, rcx
mov rbx, rdx
mov esi, r8d
mov r13d, r9d
je 0x2100610f8
mov rax, qword [0x2102f7290]
test rax, rax
je 0x2100610a8
lea rdx, [rbp - 0x2a]
lea r8, [rbp + 0x30]
mov rcx, r12
call rax
test eax, eax
je 0x2100610e0
movzx edx, word [rbp - 0x2a]
test dx, dx
jne 0x210061130
cmp byte [0x2102f7288], 0
mov dword [rbp - 0x28], 0
je 0x2100611e0
mov rax, qword [0x2102f7280]
test rax, rax
je 0x210061218
mov r9d, 8
lea r8, [rbp + 0xa0]
mov edx, 9
mov rcx, r12
call rax
test eax, eax
je 0x210061218
movzx edx, word [rbp + 0xa0]
mov word [rbp - 0x2a], dx
cmp dx, 0x8664
je 0x210061142
ja 0x210061150
cmp dx, 0x14c
je 0x210061190
cmp dx, 0x1c4
jne 0x2100610e0
lea r12, [rbp + 0xa0]
mov r9d, 0x1000
mov ecx, 1
mov r8, r12
lea rdx, str._usr_libexec_getprocaddrarm32.exe
call sym.cygwin_conv_path_1
test rax, rax
jne 0x2100610e0
mov rcx, r12
call sym.GetFileAttributesW
cmp eax, 0xffffffff
je 0x2100610e0
xor eax, eax
lea rdi, [rbp + 0x30]
mov ecx, 0xd
rep stosq qword [rdi], rax
mov rcx, r12
mov rdi, rsp
call sym.msys_2.0.dll_wcslen
mov rcx, rbx
mov r14, rax
call sym.msys_2.0.dll_wcslen
lea rdx, [r14 + rax + 0x12]
lea rax, [rdx + rdx + 0xf]
and rax, 0xfffffffffffffff0
call fcn.21021b550
lea r8, str._S__S__d__u
movabs r10, 0x77006700790063
movabs r11, 0x63002d006e0069
sub rsp, rax
mov qword [rbp], r10
mov r9, r12
movabs r10, 0x6f0073006e006f
mov qword [rbp + 8], r11
lea r14, [rsp + 0x50]
movabs r11, 0x68002d0065006c
movabs rax, 0x650070006c0065
mov qword [rbp + 0x10], r10
mov rcx, r14
mov qword [rbp + 0x18], r11
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], 0x72
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
call sym.swprintf_1
xor ecx, ecx
lea rax, [rbp - 0x20]
mov qword [rbp + 0x48], rbp
mov word [rbp + 0x70], cx
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov dword [rbp + 0x30], 0x68
mov rdx, r14
mov dword [rbp + 0x6c], 0x101
mov qword [rbp + 0x88], 0xffffffffffffffff
mov qword [rbp + 0x90], 0xffffffffffffffff
mov qword [rbp + 0x80], 0xffffffffffffffff
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x8000200
mov dword [rsp + 0x20], 1
call sym.CreateProcessW
test eax, eax
je 0x21006109e
mov rcx, qword [rbp - 0x20]
mov edx, 0x2710
call sym.WaitForSingleObject
mov rcx, qword [rbp - 0x20]
lea rdx, [rbp - 0x24]
call sym.GetExitCodeProcess
test eax, eax
je 0x210061280
mov rcx, qword [rbp - 0x18]
call sym.CloseHandle
mov rcx, qword [rbp - 0x20]
call sym.CloseHandle
mov edx, dword [rbp - 0x24]
xor eax, eax
test edx, edx
sete al
mov rsp, rdi
jmp 0x2100610e2
cmp dword [0x2102307c0], 0xffffffff
je 0x210061228
cmp dword [0x2102307c4], 0xffffffff
je 0x210061250
cmp dword [0x2102307c0], 0xfffffffe
je 0x2100610e0
cmp dword [0x2102307c4], 0xfffffffe
jne 0x2100611a0
nop dword [rax + rax]
xor eax, eax
lea rsp, [rbp + 0x20a0]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop rbp
ret
lea rcx, str.KERNEL32
call sym.GetModuleHandleA
lea rdx, str.IsWow64Process2
mov rcx, rax
call sym.GetProcAddress
mov qword [0x2102f7290], rax
mfence
mov byte [0x2102f7298], 1
jmp 0x210060e50
mov dword [rbp - 0x28], 1
cmp dx, 0x8664
jne 0x210060edb
lea rdx, str._usr_libexec_getprocaddr64.exe
jmp 0x210061160
xor eax, eax
cmp dx, 0xaa64
jne 0x2100610e2
lea rdx, str._usr_libexec_getprocaddrarm64.exe
lea r12, [rbp + 0xa0]
mov r9d, 0x1000
mov ecx, 1
mov r8, r12
call sym.cygwin_conv_path_1
test rax, rax
jne 0x2100610e0
jmp 0x210060f21
lea rdx, str._usr_libexec_getprocaddr32.exe
jmp 0x210061160
lea rdx, [rbp - 0x28]
mov rcx, r12
call sym.IsWow64Process
test eax, eax
je 0x2100610e0
mov eax, dword [0x2102307c0]
or eax, dword [rbp - 0x28]
je 0x210061290
mov r8d, 0x14c
lea rdx, str._usr_libexec_getprocaddr32.exe
mov word [rbp - 0x2a], r8w
jmp 0x210061160
lea rcx, str.KERNEL32
call sym.GetModuleHandleA
lea rdx, str.GetProcessInformation
mov rcx, rax
call sym.GetProcAddress
mov qword [0x2102f7280], rax
mfence
mov byte [0x2102f7288], 1
jmp 0x210060e96
movzx edx, word [rbp + 0x30]
mov word [rbp - 0x2a], dx
jmp 0x210060ed0
lea rcx, [rbp + 0xa0]
call sym.GetNativeSystemInfo
movzx edx, word [rbp + 0xa0]
mov eax, 1
test dx, dx
jne 0x2100612b0
mov dword [0x2102307c0], eax
jmp 0x2100610b5
call sym.GetCurrentProcess
lea rdx, [0x2102307c4]
mov rcx, rax
call sym.IsWow64Process
test eax, eax
jne 0x2100610c2
mov dword [0x2102307c4], 0xfffffffe
jmp 0x2100610e0
mov dword [rbp - 0x24], 0xffffffff
jmp 0x210061082
mov r9d, 0xffff8664
lea rdx, str._usr_libexec_getprocaddr64.exe
mov word [rbp - 0x2a], r9w
jmp 0x210061160
xor eax, eax
cmp dx, 9
sete al
lea eax, [rax + rax - 2]
jmp 0x210061245