Function at 0x1400028f0
Capabilities:
Get common file path
Query environment variable

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x840
mov rax, qword [0x14000e0b0]
xor rax, rsp
mov qword [rsp + 0x820], rax
mov rbp, rdx
mov r14, rcx
lea rdx, [rsp + 0x420]
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
jne 0x140002973
lea rcx, str.could_not_identify_current_directory:__m
call sub.libintl_8.dll_libintl_gettext
mov ecx, 2
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov rdx, rbx
call fcn.140005020
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdx, rax
mov ecx, 0xa
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov eax, 0xffffffff
jmp 0x140002b6f
mov qword [rsp + 0x870], rsi
mov rcx, r14
mov qword [rsp + 0x838], rdi
mov qword [rsp + 0x830], r15
call fcn.140003d00
test rax, rax
je 0x140002a31
movzx eax, byte [r14]
cmp al, 0x2f
je 0x1400029de
cmp al, 0x5c
je 0x1400029de
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je 0x1400029c9
cmp byte [r14 + 1], 0x3a
jne 0x1400029c9
movzx eax, byte [r14 + 2]
cmp al, 0x2f
je 0x1400029de
cmp al, 0x5c
je 0x1400029de
mov r8, r14
lea rdx, [rsp + 0x420]
mov rcx, rbp
call fcn.140003db0
jmp 0x1400029f7
mov r8d, 0x400
mov rdx, r14
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbp + 0x3ff], 0
mov rcx, rbp
call fcn.140003e70
mov rcx, rbp
call fcn.1400030e0
test eax, eax
je 0x140002b55
lea rcx, str.invalid_binary___s_
call sub.libintl_8.dll_libintl_gettext
mov ecx, 2
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbp
jmp 0x140002bf2
mov r8, r14
lea rdx, [rsp + 0x420]
mov rcx, rbp
call fcn.140003db0
mov rcx, rbp
call fcn.1400030e0
test eax, eax
je 0x140002b55
lea rcx, str.PATH
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r15, rax
test rax, rax
je 0x140002bd5
cmp byte [rax], 0
je 0x140002bd5
xor esi, esi
mov ebx, esi
nop word [rax + rax]
test rsi, rsi
mov rsi, r15
je 0x140002a8c
lea rsi, [rbx + 1]
mov rcx, rsi
call fcn.140003d80
mov rbx, rax
test rax, rax
jne 0x140002aaf
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], 0
jne 0x140002aa3
add rbx, rsi
mov rax, rbx
sub rax, rsi
lea rdi, [rax + 1]
cmp rdi, 0x400
jge 0x140002ac9
test rdi, rdi
je 0x140002ae4
jmp 0x140002ace
mov edi, 0x400
mov r8, rdi
lea rcx, [rsp + 0x20]
mov rdx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rsp + rdi + 0x1f], 0
movzx eax, byte [rsp + 0x20]
cmp al, 0x2f
je 0x140002b2c
cmp al, 0x5c
je 0x140002b2c
movzx ecx, al
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je 0x140002b12
cmp byte [rsp + 0x21], 0x3a
jne 0x140002b12
movzx eax, byte [rsp + 0x22]
cmp al, 0x2f
je 0x140002b2c
cmp al, 0x5c
je 0x140002b2c
lea r8, [rsp + 0x20]
mov rcx, rbp
lea rdx, [rsp + 0x420]
call fcn.140003db0
mov rdx, rbp
jmp 0x140002b31
lea rdx, [rsp + 0x20]
mov r8, r14
mov rcx, rbp
call fcn.140003db0
mov rcx, rbp
call fcn.140003e70
mov rcx, rbp
call fcn.1400030e0
cmp eax, 0xfffffffe
je 0x140002b8b
test eax, eax
jne 0x140002bcc
xor eax, eax
mov rdi, qword [rsp + 0x838]
mov rsi, qword [rsp + 0x870]
mov r15, qword [rsp + 0x830]
mov rcx, qword [rsp + 0x820]
xor rcx, rsp
call fcn.140008b40
add rsp, 0x840
pop r14
pop rbp
pop rbx
ret
lea rcx, str.could_not_read_binary___s_
call sub.libintl_8.dll_libintl_gettext
mov ecx, 2
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rbp
mov rdx, rdi
mov rcx, rax
call fcn.140005020
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdx, rax
mov ecx, 0xa
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
cmp byte [rbx], 0
jne 0x140002a80
lea rcx, str.could_not_find_a___s__to_execute
call sub.libintl_8.dll_libintl_gettext
mov ecx, 2
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, r14
mov rcx, rax
mov rdx, rbx
call fcn.140005020
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdx, rax
mov ecx, 0xa
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov eax, 0xffffffff
jmp 0x140002b57