Function at 0x1400a8f50
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 0x1400a93d8
mov dword [rsp + 0x3c], 0
mov ecx, 0xfffffff6
call rdi
mov r14d, dword [0x14087f624]
mov rbp, rax
test r14d, r14d
je 0x1400a9288
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
je 0x1400a9278
call fcn.1400a5760
test eax, eax
je 0x1400a93f8
test rsi, rsi
je 0x1400a9a08
lea rdx, str.tinyfd_query
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400a99c8
lea r13, str.TEMP
mov byte [0x140880a60], 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 0x1400a98a0
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 0x1400a9688
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 0x1400a9127
cmp byte [rbx], 0
jne 0x1400a9770
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 0x1400a9870
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, [0x140880a60]
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rcx, rbp
call sub.msvcrt.dll_system
lea rdx, [0x1401a55c2]
mov rcx, rdi
call sub.msvcrt.dll_fopen
test rax, rax
mov rsi, rax
je 0x1400a9b80
nop dword [rax]
mov r8, rsi
mov edx, 0x400
mov rcx, rbx
call sub.msvcrt.dll_fgets
test rax, rax
jne 0x1400a9208
mov rcx, rsi
call sub.msvcrt.dll_fclose
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400c5220
test eax, eax
mov esi, eax
je 0x1400a97c0
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 0x1400a9259
mov byte [rax], 0
cmp byte [0x140880a60], 0x31
je 0x1400a97a8
mov byte [0x140880a60], 0
xor eax, eax
jmp 0x1400a93df
call fcn.1400a5760
test eax, eax
jne 0x1400a8fc2
nop dword [rax]
lea rcx, str.SSH_CLIENT
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1400a92a9
mov r13d, dword [0x14087f620]
test r13d, r13d
je 0x1400a9600
test rsi, rsi
je 0x1400a9810
lea rdx, str.tinyfd_query
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400a9850
lea rbp, [rsp + 0x70]
xor eax, eax
xor edx, edx
mov byte [0x140880a60], 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 [0x140176b98]
test r9d, r9d
jne 0x1400a95f0
mov rcx, rsi
call fcn.1400a68b0
mov rdx, rax
mov rcx, rbp
call sub.msvcrt.dll_wcscpy
test rbx, rbx
je 0x1400a9360
mov rcx, rbx
mov ebx, dword [0x140176b98]
test ebx, ebx
je 0x1400a9678
call fcn.1400a6970
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 0x1400a9360
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_wcscpy
test r12, r12
je 0x1400a98e8
mov r11d, dword [0x140176b98]
mov rcx, r12
test r11d, r11d
je 0x1400a9658
call fcn.1400a6970
mov rdx, rax
mov rcx, rdi
call sub.msvcrt.dll_wcscpy
mov r8, rdi
mov rdx, rbx
mov rcx, rbp
call fcn.1400a73c0
mov rsi, rax
mov rcx, rbx
call sub.msvcrt.dll_free
test rsi, rsi
je 0x1400a9266
mov r10d, dword [0x140176b98]
mov rcx, rsi
test r10d, r10d
je 0x1400a9668
call fcn.1400a6c50
lea rbx, [0x140880a60]
mov rdx, rax
mov rcx, rbx
call sub.msvcrt.dll_strcpy
lea rax, [0x140880a60]
add rsp, 0xc78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rsi, rsi
je 0x1400a9414
lea rdx, str.tinyfd_query
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400a99e3
mov eax, dword [0x140882ad0]
mov byte [0x140880a60], 0
or eax, dword [0x14087f624]
je 0x1400a9900
mov eax, dword [0x140176b98]
xor r14d, r14d
xor r13d, r13d
test eax, eax
je 0x1400a9620
test rsi, rsi
je 0x1400a9480
cmp byte [rsi], 0
je 0x1400a9480
lea rcx, [0x1401a56e3]
call fcn.1400a5990
mov eax, dword [0x140176b98]
test eax, eax
jne 0x1400a9980
lea rcx, [0x1401a584c]
mov rdx, rsi
call fcn.1400a5990
lea rcx, [0x1401a584f]
call fcn.1400a5990
test rbx, rbx
je 0x1400a94b3
cmp byte [rbx], 0
je 0x1400a94b3
mov eax, dword [0x140176b98]
test eax, eax
jne 0x1400a9938
lea rcx, [0x1401a584c]
mov rdx, rbx
call fcn.1400a5990
lea rcx, [0x1401a56e3]
call fcn.1400a5990
lea rcx, str._ctrl_Z__enter_to_cancel_:
call fcn.1400a5990
test r12, r12
je 0x1400a9aa8
mov eax, dword [0x140176b98]
test eax, eax
je 0x1400a9570
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 0x1400a9b60
mov rcx, rdi
call sub.msvcrt.dll_wcslen
cmp word [rsp + rax*2 + 0x46e], 0xd
je 0x1400a9b40
mov rcx, rdi
call fcn.1400a6c50
test rax, rax
mov rdx, rax
je 0x1400a926d
lea rbx, [0x140880a60]
mov rcx, rbx
call sub.msvcrt.dll_strcpy
jmp 0x1400a93d8
lea rbx, [0x140880a60]
xor ecx, ecx
call qword [fcn.1400d55a0]
mov edx, 0x400
mov rcx, rbx
mov r8, rax
call sub.msvcrt.dll_fgets
mov rsi, rax
mov r10d, dword [0x140176b98]
test r10d, r10d
je 0x1400a9b28
test rsi, rsi
je 0x1400a926d
lea rcx, [0x1401a56e3]
call fcn.1400a5990
mov edx, 0x1b
mov rcx, rbx
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x1400a926d
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp byte [rbx + rax - 1], 0xa
jne 0x1400a93d8
mov byte [rbx + rax - 1], 0
jmp 0x1400a93d8
mov rcx, rsi
call fcn.1400a6970
mov rdx, rax
jmp 0x1400a9315
lea rcx, [0x1401a5837]
call sub.msvcrt.dll_getenv
test rax, rax
jne 0x1400a92a9
jmp 0x1400a8fc2
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 0x1400a9441
call fcn.1400a68b0
mov rdx, rax
jmp 0x1400a9384
call fcn.1400a6b50
mov rdx, rax
jmp 0x1400a9555
call fcn.1400a68b0
mov rsi, rax
jmp 0x1400a933b
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 0x1400a9751
cmp byte [rbx], 0
jne 0x1400a9770
lea rax, [rbp + rax + 0x77]
movabs rbx, 0x2030362030312022
mov qword [rax], rbx
mov byte [rax + 8], 0
jmp 0x1400a9150
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 0x1400a913d
jmp 0x1400a9150
lea rdx, [0x140880a63]
mov rcx, rbx
call sub.msvcrt.dll_strcpy
jmp 0x1400a93d8
lea rdx, [0x1401a58a7]
mov rcx, rdi
call sub.msvcrt.dll_fopen
test rax, rax
mov rbp, rax
je 0x1400a923c
mov eax, dword [rsp + 0x54]
test eax, eax
jle 0x1400a97fe
nop dword [rax + rax]
mov rdx, rbp
mov ecx, 0x41
add esi, 1
call sub.msvcrt.dll_fputc
cmp esi, dword [rsp + 0x54]
jl 0x1400a97e8
mov rcx, rbp
call sub.msvcrt.dll_fclose
jmp 0x1400a923c
lea rbp, [rsp + 0x70]
mov rax, rsi
mov ecx, 0x20
mov byte [0x140880a60], 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 0x1400a931d
movabs rax, 0x73776f646e6977
mov qword [0x14087f220], rax
mov eax, 1
jmp 0x1400a93df
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 0x1400a9150
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 0x1400a9090
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
call fcn.1400a73c0
mov rsi, rax
jmp 0x1400a939d
lea rdx, str.missing_software___we_will_try_basic_console_input_
mov dword [0x140882ad0], 1
lea rcx, str._n_n_s_n
call fcn.1400a5990
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.1400a5990
jmp 0x1400a942d
mov ecx, 0xfffffff5
call rdi
mov rcx, rbx
mov rsi, rax
call fcn.1400a6970
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 0x1400a94a7
mov ecx, 0xfffffff5
call rdi
mov rcx, rsi
mov r15, rax
call fcn.1400a6970
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 0x1400a9474
mov dword [0x14087f220], 0x6c616964
xor eax, eax
mov dword [0x14087f223], 0x676f6c
jmp 0x1400a93df
movabs rax, 0x706e696369736162
mov qword [0x14087f220], rax
xor eax, eax
mov dword [0x14087f227], 0x747570
jmp 0x1400a93df
lea r13, str.TEMP
mov byte [0x140880a60], 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 0x1400a9090
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 [0x140176b98]
test r15d, r15d
je 0x1400a9ba0
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, [0x1401a56e3]
call fcn.1400a5990
jmp 0x1400a9505
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
jmp 0x1400a95a2
mov rcx, rdi
call sub.msvcrt.dll_wcslen
xor r11d, r11d
mov word [rsp + rax*2 + 0x46e], r11w
jmp 0x1400a9541
mov rcx, rdi
xor ebx, ebx
call sub.msvcrt.dll_wcslen
mov word [rsp + rax*2 + 0x46e], bx
jmp 0x1400a952a
mov rcx, rdi
call sub.msvcrt.dll_remove
mov byte [0x140880a60], 0
xor eax, eax
jmp 0x1400a93df
lea rbx, [0x140880a60]
xor ecx, ecx
call qword [fcn.1400d55a0]
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, [0x1401a56e3]
call fcn.1400a5990
jmp 0x1400a9592