Function at 0x1400a7310
Capabilities:
Delete file
Execute command
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc78
mov rdi, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rbx, rdx
mov rsi, rcx
mov r12, r8
mov dword [rsp + 0x3c], 0
mov ecx, 0xfffffff6
call rdi
mov rax, rbx
or rax, r12
or rax, rsi
je 0x1400a7798
mov dword [rsp + 0x3c], 0
mov ecx, 0xfffffff6
call rdi
mov r14d, dword [0x14087c624]
mov rbp, rax
test r14d, r14d
je 0x1400a7648
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
je 0x1400a7638
call fcn.1400a3b20
test eax, eax
je 0x1400a77b8
test rsi, rsi
je 0x1400a7dc8
lea rdx, str.tinyfd_query
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400a7d88
lea r13, str.TEMP
mov byte [0x14087da60], 0
lea rdi, [rsp + 0x470]
mov rcx, r13
call sub.msvcrt.dll_getenv
lea rbp, [rsp + 0x70]
mov rcx, rdi
mov rdx, rax
call sub.msvcrt.dll_strcpy
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea rcx, [rsp + 0x7f]
movabs rdx, 0x2e6466796e69745c
mov r14, rax
lea rax, [rdi + rax]
mov qword [rax], rdx
lea r8, [r14 + 0xc]
mov rdx, rdi
mov dword [rax + 8], 0x747874
movabs rax, 0x7465737c6f686365
mov qword [rsp + 0x70], rax
movabs rax, 0x3e20313d702f20
mov qword [rsp + 0x78], rax
call sub.msvcrt.dll_memcpy
cmp byte [rsi], 0
movabs rax, 0x20676f6c616964
mov dword [rbp + r14 + 0x1a], 0x202620
mov qword [rbp + r14 + 0x1d], rax
jne 0x1400a7c60
movabs rsi, 0x69746b6361622d2d
mov rcx, rbp
call sub.msvcrt.dll_strlen
test r12, r12
lea rdx, [rbp + rax]
mov qword [rdx], rsi
movabs rsi, 0x2220656c7469746b
mov qword [rdx + 5], rsi
lea rdx, [rbp + rax + 0xd]
movabs rsi, 0x766f6d203a626174
mov qword [rdx], rsi
movabs rsi, 0x7375636f662065
mov qword [rdx + 8], rsi
je 0x1400a7a48
mov edx, 0x2022
mov ecx, 0x786f
mov r8d, 0x2220
mov word [rbp + rax + 0x1c], dx
lea rdx, [rbp + rax + 0x1e]
test rbx, rbx
movabs rsi, 0x627475706e692d2d
mov qword [rdx], rsi
mov word [rdx + 8], cx
lea rdx, [rbp + rax + 0x28]
mov word [rdx], r8w
mov byte [rdx + 2], 0
je 0x1400a74e7
cmp byte [rbx], 0
jne 0x1400a7b30
lea rax, [rbp + rax + 0x2a]
movabs rbx, 0x2030362030312022
mov qword [rax], rbx
mov byte [rax + 8], 0
mov rcx, rbp
call sub.msvcrt.dll_strlen
cmp byte [r12], 0
jne 0x1400a7c30
movabs rsi, 0x2e6466796e69745c
mov rcx, rbp
call sub.msvcrt.dll_strlen
mov rcx, r13
mov dword [rbp + rax], 0x3e3e32
call sub.msvcrt.dll_getenv
mov rcx, rdi
mov rdx, rax
call sub.msvcrt.dll_strcpy
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov rdx, rdi
mov rcx, rbp
mov rbx, rax
lea rax, [rdi + rax]
mov qword [rax], rsi
movabs rsi, 0x6f686365207c7c20
mov dword [rax + 8], 0x747874
call sub.msvcrt.dll_strcat
mov rcx, rbp
call sub.msvcrt.dll_strlen
lea r8, [rbx + 0xc]
lea rdx, [rbp + rax]
mov qword [rdx], rsi
lea rcx, [rbp + rax + 0xd]
movabs rsi, 0x203e2030206f6863
mov qword [rdx + 5], rsi
lea rbx, [0x14087da60]
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rcx, rbp
call sub.msvcrt.dll_system
lea rdx, [0x1401a3232]
mov rcx, rdi
call sub.msvcrt.dll_fopen
test rax, rax
mov rsi, rax
je 0x1400a7f40
nop dword [rax]
mov r8, rsi
mov edx, 0x400
mov rcx, rbx
call sub.msvcrt.dll_fgets
test rax, rax
jne 0x1400a75c8
mov rcx, rsi
call sub.msvcrt.dll_fclose
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400c35e0
test eax, eax
mov esi, eax
je 0x1400a7b80
mov rcx, rdi
call sub.msvcrt.dll_remove
mov rcx, rbx
call sub.msvcrt.dll_strlen
lea rax, [rbx + rax - 1]
cmp byte [rax], 0xa
jne 0x1400a7619
mov byte [rax], 0
cmp byte [0x14087da60], 0x31
je 0x1400a7b68
mov byte [0x14087da60], 0
xor eax, eax
jmp 0x1400a779f
call fcn.1400a3b20
test eax, eax
jne 0x1400a7382
nop dword [rax]
lea rcx, str.SSH_CLIENT
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1400a7669
mov r13d, dword [0x14087c620]
test r13d, r13d
je 0x1400a79c0
test rsi, rsi
je 0x1400a7bd0
lea rdx, str.tinyfd_query
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400a7c10
lea rbp, [rsp + 0x70]
xor eax, eax
xor edx, edx
mov byte [0x14087da60], 0
mov ecx, 0x20
mov rdi, rbp
mov r8d, 0x800
rep stosq qword [rdi], rax
lea rdi, [rsp + 0x470]
mov rcx, rdi
call sub.msvcrt.dll_memset
mov r9d, dword [0x140174b98]
test r9d, r9d
jne 0x1400a79b0
mov rcx, rsi
call fcn.1400a4c70
mov rdx, rax
mov rcx, rbp
call sub.msvcrt.dll_wcscpy
test rbx, rbx
je 0x1400a7720
mov rcx, rbx
mov ebx, dword [0x140174b98]
test ebx, ebx
je 0x1400a7a38
call fcn.1400a4d30
mov rsi, rax
mov rcx, rsi
call sub.msvcrt.dll_wcslen
lea rcx, [rax + rax + 2]
call sub.msvcrt.dll_malloc
test rax, rax
mov rbx, rax
je 0x1400a7720
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_wcscpy
test r12, r12
je 0x1400a7ca8
mov r11d, dword [0x140174b98]
mov rcx, r12
test r11d, r11d
je 0x1400a7a18
call fcn.1400a4d30
mov rdx, rax
mov rcx, rdi
call sub.msvcrt.dll_wcscpy
mov r8, rdi
mov rdx, rbx
mov rcx, rbp
call fcn.1400a5780
mov rsi, rax
mov rcx, rbx
call sub.msvcrt.dll_free
test rsi, rsi
je 0x1400a7626
mov r10d, dword [0x140174b98]
mov rcx, rsi
test r10d, r10d
je 0x1400a7a28
call fcn.1400a5010
lea rbx, [0x14087da60]
mov rdx, rax
mov rcx, rbx
call sub.msvcrt.dll_strcpy
lea rax, [0x14087da60]
add rsp, 0xc78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rsi, rsi
je 0x1400a77d4
lea rdx, str.tinyfd_query
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400a7da3
mov eax, dword [0x14087fad0]
mov byte [0x14087da60], 0
or eax, dword [0x14087c624]
je 0x1400a7cc0
mov eax, dword [0x140174b98]
xor r14d, r14d
xor r13d, r13d
test eax, eax
je 0x1400a79e0
test rsi, rsi
je 0x1400a7840
cmp byte [rsi], 0
je 0x1400a7840
lea rcx, [0x1401a3353]
call fcn.1400a3d50
mov eax, dword [0x140174b98]
test eax, eax
jne 0x1400a7d40
lea rcx, [0x1401a34bc]
mov rdx, rsi
call fcn.1400a3d50
lea rcx, [0x1401a34bf]
call fcn.1400a3d50
test rbx, rbx
je 0x1400a7873
cmp byte [rbx], 0
je 0x1400a7873
mov eax, dword [0x140174b98]
test eax, eax
jne 0x1400a7cf8
lea rcx, [0x1401a34bc]
mov rdx, rbx
call fcn.1400a3d50
lea rcx, [0x1401a3353]
call fcn.1400a3d50
lea rcx, str._ctrl_Z__enter_to_cancel_:
call fcn.1400a3d50
test r12, r12
je 0x1400a7e68
mov eax, dword [0x140174b98]
test eax, eax
je 0x1400a7930
mov ecx, 0xfffffff6
call rdi
lea rdi, [rsp + 0x470]
mov r8d, 0x400
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x70]
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_ReadConsoleW]
mov eax, dword [rsp + 0x70]
xor esi, esi
mov rcx, rdi
mov word [rsp + rax*2 + 0x470], si
call sub.msvcrt.dll_wcslen
cmp word [rsp + rax*2 + 0x46e], 0xa
je 0x1400a7f20
mov rcx, rdi
call sub.msvcrt.dll_wcslen
cmp word [rsp + rax*2 + 0x46e], 0xd
je 0x1400a7f00
mov rcx, rdi
call fcn.1400a5010
test rax, rax
mov rdx, rax
je 0x1400a762d
lea rbx, [0x14087da60]
mov rcx, rbx
call sub.msvcrt.dll_strcpy
jmp 0x1400a7798
lea rbx, [0x14087da60]
xor ecx, ecx
call qword [str._9_r_]
mov edx, 0x400
mov rcx, rbx
mov r8, rax
call sub.msvcrt.dll_fgets
mov rsi, rax
mov r10d, dword [0x140174b98]
test r10d, r10d
je 0x1400a7ee8
test rsi, rsi
je 0x1400a762d
lea rcx, [0x1401a3353]
call fcn.1400a3d50
mov edx, 0x1b
mov rcx, rbx
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x1400a762d
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp byte [rbx + rax - 1], 0xa
jne 0x1400a7798
mov byte [rbx + rax - 1], 0
jmp 0x1400a7798
mov rcx, rsi
call fcn.1400a4d30
mov rdx, rax
jmp 0x1400a76d5
lea rcx, [0x1401a34a7]
call sub.msvcrt.dll_getenv
test rax, rax
jne 0x1400a7669
jmp 0x1400a7382
call qword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov r13d, eax
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov r15, qword [sym.imp.KERNEL32.dll_GetACP]
mov r14d, eax
call r15
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
call r15
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
jmp 0x1400a7801
call fcn.1400a4c70
mov rdx, rax
jmp 0x1400a7744
call fcn.1400a4f10
mov rdx, rax
jmp 0x1400a7915
call fcn.1400a4c70
mov rsi, rax
jmp 0x1400a76fb
lea rdx, [rbp + rax + 0x1c]
mov ecx, 0x2022
mov r8d, 0x2220
movabs rsi, 0x6974656d6f732820
test rbx, rbx
mov qword [rdx], rsi
movabs rsi, 0x68746f6e2073656d
mov qword [rdx + 8], rsi
movabs rsi, 0x206f6e202c676e69
mov qword [rdx + 0x10], rsi
movabs rsi, 0x6f6e206b6e696c62
mov qword [rdx + 0x18], rsi
movabs rsi, 0x202c726174732072
mov qword [rdx + 0x20], rsi
movabs rsi, 0x6e776f6873207369
mov qword [rdx + 0x28], rsi
movabs rsi, 0x74786574206e6920
mov qword [rdx + 0x30], rsi
movabs rsi, 0x29646c65696620
mov qword [rdx + 0x38], rsi
lea rdx, [rbp + rax + 0x5d]
movabs rsi, 0x756365736e692d2d
mov word [rbp + rax + 0x5b], cx
mov qword [rdx], rsi
movabs rsi, 0x7361702d2d206572
mov qword [rdx + 8], rsi
movabs rsi, 0x786f6264726f7773
mov qword [rdx + 0x10], rsi
lea rdx, [rbp + rax + 0x75]
mov word [rdx], r8w
mov byte [rdx + 2], 0
je 0x1400a7b11
cmp byte [rbx], 0
jne 0x1400a7b30
lea rax, [rbp + rax + 0x77]
movabs rbx, 0x2030362030312022
mov qword [rax], rbx
mov byte [rax + 8], 0
jmp 0x1400a7510
mov rdx, rbx
mov rcx, rbp
movabs rbx, 0x2030362030312022
call sub.msvcrt.dll_strcat
mov rcx, rbp
call sub.msvcrt.dll_strlen
add rax, rbp
test r12, r12
mov qword [rax], rbx
mov byte [rax + 8], 0
jne 0x1400a74fd
jmp 0x1400a7510
lea rdx, [0x14087da63]
mov rcx, rbx
call sub.msvcrt.dll_strcpy
jmp 0x1400a7798
lea rdx, [0x1401a3517]
mov rcx, rdi
call sub.msvcrt.dll_fopen
test rax, rax
mov rbp, rax
je 0x1400a75fc
mov eax, dword [rsp + 0x54]
test eax, eax
jle 0x1400a7bbe
nop dword [rax + rax]
mov rdx, rbp
mov ecx, 0x41
add esi, 1
call sub.msvcrt.dll_fputc
cmp esi, dword [rsp + 0x54]
jl 0x1400a7ba8
mov rcx, rbp
call sub.msvcrt.dll_fclose
jmp 0x1400a75fc
lea rbp, [rsp + 0x70]
mov rax, rsi
mov ecx, 0x20
mov byte [0x14087da60], 0
mov rdi, rbp
mov r8d, 0x800
xor edx, edx
rep stosq qword [rdi], rax
lea rdi, [rsp + 0x470]
mov rcx, rdi
call sub.msvcrt.dll_memset
jmp 0x1400a76dd
movabs rax, 0x73776f646e6977
mov qword [0x14087c220], rax
mov eax, 1
jmp 0x1400a779f
lea rcx, [rbp + rax + 1]
mov rdx, r12
mov byte [rbp + rax], 0x22
call sub.msvcrt.dll_strcpy
mov rcx, rbp
call sub.msvcrt.dll_strlen
mov edx, 0x2022
add rax, rbp
mov word [rax], dx
mov byte [rax + 2], 0
jmp 0x1400a7510
lea rax, [rbp + r14 + 0x24]
movabs rdx, 0x20656c7469742d2d
mov qword [rax], rdx
lea rcx, [rbp + r14 + 0x2d]
mov rdx, rsi
mov byte [rax + 8], 0x22
call sub.msvcrt.dll_strcpy
mov rcx, rbp
call sub.msvcrt.dll_strlen
mov r9d, 0x2022
add rax, rbp
mov word [rax], r9w
mov byte [rax + 2], 0
jmp 0x1400a7450
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
call fcn.1400a5780
mov rsi, rax
jmp 0x1400a775d
lea rdx, str.missing_software___we_will_try_basic_console_input_
mov dword [0x14087fad0], 1
lea rcx, str._n_n_s_n
call fcn.1400a3d50
lea rdx, str._____________n______________n_tiny_file__n__dialogs___n_____________n_______ntiny_file_dialogs_on_Windows_needs:_n___a_graphic_display_nor_dialog.exe__curses_console_mode__nor_a_console_for_basic_input
lea rcx, str._s_n_n
call fcn.1400a3d50
jmp 0x1400a77ed
mov ecx, 0xfffffff5
call rdi
mov rcx, rbx
mov rsi, rax
call fcn.1400a4d30
mov rcx, rax
mov rbx, rax
call sub.msvcrt.dll_wcslen
lea r9, [rsp + 0x470]
mov rdx, rbx
mov rcx, rsi
mov qword [rsp + 0x20], 0
mov r8d, eax
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
jmp 0x1400a7867
mov ecx, 0xfffffff5
call rdi
mov rcx, rsi
mov r15, rax
call fcn.1400a4d30
mov rcx, rax
mov rsi, rax
call sub.msvcrt.dll_wcslen
lea r9, [rsp + 0x470]
mov rdx, rsi
mov rcx, r15
mov qword [rsp + 0x20], 0
mov r8d, eax
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
jmp 0x1400a7834
mov dword [0x14087c220], 0x6c616964
xor eax, eax
mov dword [0x14087c223], 0x676f6c
jmp 0x1400a779f
movabs rax, 0x706e696369736162
mov qword [0x14087c220], rax
xor eax, eax
mov dword [0x14087c227], 0x747570
jmp 0x1400a779f
lea r13, str.TEMP
mov byte [0x14087da60], 0
lea rdi, [rsp + 0x470]
mov rcx, r13
call sub.msvcrt.dll_getenv
lea rbp, [rsp + 0x70]
mov rcx, rdi
mov rdx, rax
call sub.msvcrt.dll_strcpy
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea rcx, [rsp + 0x7f]
movabs rdx, 0x2e6466796e69745c
mov rsi, rax
lea rax, [rdi + rax]
mov qword [rax], rdx
lea r8, [rsi + 0xc]
mov rdx, rdi
mov dword [rax + 8], 0x747874
movabs rax, 0x7465737c6f686365
mov qword [rsp + 0x70], rax
movabs rax, 0x3e20313d702f20
mov qword [rsp + 0x78], rax
call sub.msvcrt.dll_memcpy
mov dword [rbp + rsi + 0x1a], 0x202620
movabs rax, 0x20676f6c616964
mov qword [rbp + rsi + 0x1d], rax
jmp 0x1400a7450
lea rdx, [rsp + 0x3c]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov edx, dword [rsp + 0x3c]
mov rcx, rbp
mov r12, qword [sym.imp.KERNEL32.dll_SetConsoleMode]
and edx, 0xfffffffb
call r12
mov r15d, dword [0x140174b98]
test r15d, r15d
je 0x1400a7f60
mov ecx, 0xfffffff6
call rdi
lea rdi, [rsp + 0x470]
mov r8d, 0x400
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x70]
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReadConsoleW]
mov rcx, rbp
mov edx, dword [rsp + 0x3c]
call r12
lea rcx, [0x1401a3353]
call fcn.1400a3d50
jmp 0x1400a78c5
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
jmp 0x1400a7962
mov rcx, rdi
call sub.msvcrt.dll_wcslen
xor r11d, r11d
mov word [rsp + rax*2 + 0x46e], r11w
jmp 0x1400a7901
mov rcx, rdi
xor ebx, ebx
call sub.msvcrt.dll_wcslen
mov word [rsp + rax*2 + 0x46e], bx
jmp 0x1400a78ea
mov rcx, rdi
call sub.msvcrt.dll_remove
mov byte [0x14087da60], 0
xor eax, eax
jmp 0x1400a779f
lea rbx, [0x14087da60]
xor ecx, ecx
call qword [str._9_r_]
mov rcx, rbx
mov edx, 0x400
mov r8, rax
call sub.msvcrt.dll_fgets
mov rcx, rbp
mov edx, dword [rsp + 0x3c]
mov rsi, rax
call r12
lea rcx, [0x1401a3353]
call fcn.1400a3d50
jmp 0x1400a7952