Function at 0x1004022d7
Capabilities:
Query environment variable
Terminate process

Disassembly:
push rbp
push rsi
push rbx
mov rbp, rsp
sub rsp, 0xd0
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.10045ebf0
mov rax, qword [rbp + 0x30]
mov r8d, 0
mov edx, 0x2f
mov rcx, rax
call fcn.100414f20
cmp rax, 0xffffffffffffffff
jne 0x10040233d
mov rax, qword [rbp + 0x30]
mov r8d, 0
mov edx, 0x5c
mov rcx, rax
call fcn.100414f20
cmp rax, 0xffffffffffffffff
jne 0x10040233d
mov eax, 1
jmp 0x100402342
mov eax, 0
test al, al
je 0x100402608
lea rcx, str.PATH
call sub.msys_2.0.dll_getenv
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x71]
mov rcx, rax
call fcn.1004551c0
cmp qword [rbp - 0x18], 0
je 0x100402373
mov rax, qword [rbp - 0x18]
jmp 0x10040237a
lea rax, [0x1004924a8]
lea rdx, [rbp - 0x71]
lea rcx, [rbp - 0x90]
mov r8, rdx
mov rdx, rax
call fcn.10045e9d0
lea rax, [rbp - 0x71]
mov rcx, rax
call fcn.1004551f0
mov qword [rbp - 8], 0
mov rdx, qword [rbp - 8]
lea rax, [rbp - 0x90]
mov r8, rdx
mov edx, 0x3a
mov rcx, rax
call fcn.100414f20
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
sub rax, qword [rbp - 8]
mov r8, rax
lea rax, [rbp - 0x70]
mov rcx, qword [rbp - 8]
lea rdx, [rbp - 0x90]
mov r9, r8
mov r8, rcx
mov rcx, rax
call fcn.100415130
lea rdx, [rbp - 0x70]
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.10045efd0
lea rax, [rbp - 0x70]
mov rcx, rax
call fcn.10045ef70
mov ebx, 0
mov esi, 0
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.100414fc0
xor eax, 1
test al, al
je 0x10040246d
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.10045d3e0
mov qword [rbp - 0x50], rax
mov ebx, 1
lea rax, [rbp - 0x50]
mov edx, 1
mov rcx, rax
call fcn.100413a60
mov qword [rbp - 0x60], rax
mov esi, 1
lea rax, [rbp - 0x60]
mov rcx, rax
call fcn.100413a40
movzx eax, byte [rax]
cmp al, 0x2f
je 0x10040246d
mov eax, 1
jmp 0x100402472
mov eax, 0
test sil, sil
test bl, bl
test al, al
je 0x10040248c
lea rax, [rbp - 0x80]
mov edx, 0x2f
mov rcx, rax
call fcn.10045f100
mov rdx, qword [rbp + 0x30]
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.10045f0e0
lea rax, [rbp - 0x40]
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.100402206
lea rdx, [rbp - 0x40]
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.10045efd0
lea rax, [rbp - 0x40]
mov rcx, rax
call fcn.10045ef70
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.100414fc0
xor eax, 1
test al, al
je 0x1004025a0
mov dword [rbp - 0xc], 1
lea rax, [rbp - 0x80]
lea rdx, str..bat
mov rcx, rax
call fcn.100403efc
test al, al
jne 0x100402514
lea rax, [rbp - 0x80]
lea rdx, str..cmd
mov rcx, rax
call fcn.100403efc
test al, al
je 0x10040251b
mov eax, 1
jmp 0x100402520
mov eax, 0
test al, al
je 0x10040252d
mov dword [rbp - 0xc], 4
jmp 0x10040257e
lea rax, [rbp - 0x80]
lea rdx, str..com
mov rcx, rax
call fcn.100403efc
test al, al
jne 0x10040255b
lea rax, [rbp - 0x80]
lea rdx, str..exe
mov rcx, rax
call fcn.100403efc
test al, al
je 0x100402562
mov eax, 1
jmp 0x100402567
mov eax, 0
test al, al
jne 0x10040257e
lea rax, [rbp - 0x80]
lea rdx, str..exe
mov rcx, rax
call fcn.10045f0b0
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.100414fa0
mov rcx, rax
mov eax, dword [rbp - 0xc]
mov edx, eax
call sub.msys_2.0.dll_access
test eax, eax
sete al
test al, al
jne 0x1004025f3
cmp qword [rbp - 0x20], 0xffffffffffffffff
jne 0x1004025e2
mov rax, qword [rbp + 0x30]
mov rcx, rax
call fcn.100414fa0
mov rbx, rax
call sub.msys_2.0.dll___getreent
mov rax, qword [rax + 0x18]
mov rdx, qword [rbp + 0x28]
mov r9, rbx
mov r8, rdx
lea rdx, str._s:_error:_cannot_start__s:_Not_found_in_PATH_n
mov rcx, rax
call sub.msys_2.0.dll_fprintf
mov ecx, 1
call sub.msys_2.0.dll_exit
mov rax, qword [rbp - 0x20]
add rax, 1
mov qword [rbp - 8], rax
jmp 0x1004023a4
nop
lea rax, [rbp - 0x90]
mov rcx, rax
call fcn.10045ef70
jmp 0x1004026dc
lea rax, [rbp - 0x30]
mov rdx, qword [rbp + 0x30]
mov rcx, rax
call fcn.100402206
lea rdx, [rbp - 0x30]
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.10045efd0
lea rax, [rbp - 0x30]
mov rcx, rax
call fcn.10045ef70
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.100414fc0
test al, al
je 0x1004026dc
lea rax, [rbp - 0x21]
mov rcx, rax
call fcn.1004551c0
call sub.msys_2.0.dll___errno
mov eax, dword [rax]
mov ecx, eax
call sub.msys_2.0.dll_strerror
mov rcx, rax
lea rdx, [rbp - 0x21]
lea rax, [rbp - 0xa0]
mov r8, rdx
mov rdx, rcx
mov rcx, rax
call fcn.10045e9d0
lea rax, [rbp - 0x21]
mov rcx, rax
call fcn.1004551f0
lea rax, [rbp - 0xa0]
mov rcx, rax
call fcn.100414fa0
mov rbx, rax
mov rax, qword [rbp + 0x30]
mov rcx, rax
call fcn.100414fa0
mov rsi, rax
call sub.msys_2.0.dll___getreent
mov rax, qword [rax + 0x18]
mov rdx, qword [rbp + 0x28]
mov qword [rsp + 0x20], rbx
mov r9, rsi
mov r8, rdx
lea rdx, str._s:_error:_cannot_start__s:__s_n
mov rcx, rax
call sub.msys_2.0.dll_fprintf
mov ecx, 1
call sub.msys_2.0.dll_exit
mov rax, qword [rbp + 0x20]
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.100402148
nop
lea rax, [rbp - 0x80]
mov rcx, rax
call fcn.10045ef70
jmp 0x1004027a0
mov rax, qword [rbp + 0x20]
add rsp, 0xd0
pop rbx
pop rsi
pop rbp
ret