Function at 0x14011bbb0
Capabilities:
Query environment variable

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x488
mov rax, qword [0x140277430]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov r12, qword [rsp + 0x4f0]
mov r15, r9
mov r13d, r8d
mov r14, rdx
mov rbp, rcx
nop word [rax + rax]
mov eax, r13d
xor r13d, r13d
test r15, r15
cmovne r13d, eax
test rbp, rbp
je 0x14011bc99
mov edx, 0x27
mov rcx, rbp
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be78
lea edx, [rax + 0x22]
mov rcx, rbp
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be78
lea edx, [rax + 0x60]
mov rcx, rbp
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be78
lea edx, [rax + 0x24]
mov rcx, rbp
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rbx, rax
test rax, rax
je 0x14011bc99
nop dword [rax + rax]
movsx eax, byte [rbx + 1]
cmp al, 0x28
je 0x14011be78
cmp al, 0x5f
je 0x14011be78
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
jne 0x14011be78
lea edx, [rax + 0x24]
lea rcx, [rbx + 1]
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rbx, rax
test rax, rax
jne 0x14011bc60
test r14, r14
je 0x14011bd39
mov edx, 0x27
mov rcx, r14
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be84
lea edx, [rax + 0x22]
mov rcx, r14
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be84
lea edx, [rax + 0x60]
mov rcx, r14
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be84
lea edx, [rax + 0x24]
mov rcx, r14
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rbx, rax
test rax, rax
je 0x14011bd39
nop word [rax + rax]
movsx eax, byte [rbx + 1]
cmp al, 0x28
je 0x14011be84
cmp al, 0x5f
je 0x14011be84
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
jne 0x14011be84
lea edx, [rax + 0x24]
lea rcx, [rbx + 1]
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rbx, rax
test rax, rax
jne 0x14011bd00
test r12, r12
je 0x14011bdd9
mov edx, 0x27
mov rcx, r12
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be90
lea edx, [rax + 0x22]
mov rcx, r12
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be90
lea edx, [rax + 0x60]
mov rcx, r12
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be90
lea edx, [rax + 0x24]
mov rcx, r12
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rbx, rax
test rax, rax
je 0x14011bdd9
nop word [rax + rax]
movsx eax, byte [rbx + 1]
cmp al, 0x28
je 0x14011be90
cmp al, 0x5f
je 0x14011be90
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
jne 0x14011be90
lea edx, [rax + 0x24]
lea rcx, [rbx + 1]
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rbx, rax
test rax, rax
jne 0x14011bda0
xor edi, edi
movsxd rsi, r13d
nop
cmp rdi, rsi
jge 0x14011beb1
mov rbx, qword [r15 + rdi*8]
test rbx, rbx
je 0x14011be70
mov edx, 0x27
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be9c
lea edx, [rax + 0x22]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be9c
lea edx, [rax + 0x60]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
jne 0x14011be9c
lea edx, [rax + 0x24]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rbx, rax
test rax, rax
je 0x14011be70
movsx eax, byte [rbx + 1]
cmp al, 0x28
je 0x14011be9c
cmp al, 0x5f
je 0x14011be9c
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
jne 0x14011be9c
lea edx, [rax + 0x24]
lea rcx, [rbx + 1]
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rbx, rax
test rax, rax
jne 0x14011be43
inc rdi
jmp 0x14011bde0
lea rbp, str.INVALID_TITLE_WITH_QUOTES
jmp 0x14011bbf0
lea r14, str.INVALID_DEFAULT_PATH_WITH_QUOTES:_use_the_GRAVE_ACCENT_x60_instead.
jmp 0x14011bbf0
lea r12, str.INVALID_FILTER_DESCRIPTION_WITH_QUOTES:_use_the_GRAVE_ACCENT_x60_instead.
jmp 0x14011bbf0
xor r12d, r12d
lea rbp, str.INVALID_FILTER_PATTERN_WITH_QUOTES:_use_the_GRAVE_ACCENT_x60_instead.
xor r15d, r15d
xor r13d, r13d
jmp 0x14011bbf0
cmp dword [0x14027c1d4], 0
je 0x14011bece
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
jne 0x14011bf07
call fcn.14011a700
test eax, eax
jne 0x14011bf07
lea rcx, str.SSH_CLIENT
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x14011c0b0
cmp dword [0x14027c1d0], 0
jne 0x14011c0b0
lea rcx, [0x140221a20]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
jne 0x14011c0b0
call fcn.14011a700
test eax, eax
je 0x14011bf85
test rbp, rbp
je 0x14011bf75
lea rdx, str.tinyfd_query
mov rcx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14011bf75
mov eax, dword [str.dialog]
mov dword [0x14027ebc0], eax
movzx eax, word [0x1402231e0]
mov word [0x14027ebc4], ax
movzx eax, byte [0x1402231e2]
mov byte [0x14027ebc6], al
xor eax, eax
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.1401e8350
add rsp, 0x488
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdx, r14
mov rcx, rbp
call fcn.14011aef0
jmp 0x14011c0f9
test rbp, rbp
je 0x14011bfca
lea rdx, str.tinyfd_query
mov rcx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14011bfca
movzx eax, word [0x1402231f0]
movsd xmm0, qword [str.basicinput]
mov word [0x14027ebc8], ax
movzx eax, byte [0x1402231f2]
mov byte [0x14027ebca], al
movsd qword [0x14027ebc0], xmm0
jmp 0x14011bf4f
movups xmm0, xmmword [str.Open_file_from]
mov edx, 0x400
lea rcx, [0x14027d030]
movaps xmmword [0x14027e050], xmm0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__getcwd]
lea rbx, [0x14027e050]
mov r8, rax
lea rcx, [rbx - 1]
nop dword [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14011c000
xor edx, edx
nop dword [rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011c010
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14011b3e0
mov rdi, rax
test rax, rax
je 0x14011c04e
mov rdx, rax
lea rax, [rsp + 0x70]
sub rax, rdx
nop
movzx ecx, byte [rdx]
mov byte [rax + rdx], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x14011c040
lea r8, [0x14020e949]
mov rdx, rbx
mov rcx, rbp
call fcn.14011b3e0
test rax, rax
je 0x14011c080
mov rdx, rbx
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x14011c070
jmp 0x14011c087
mov byte [0x14027e050], 0
test rdi, rdi
je 0x14011c105
lea rax, [rsp + 0x70]
sub rdi, rax
lea rcx, [rsp + 0x70]
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdi + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14011c0a0
jmp 0x14011c105
test rbp, rbp
je 0x14011c0e3
lea rdx, str.tinyfd_query
mov rcx, rbp
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14011c0e3
movabs rax, 0x73776f646e6977
mov qword [0x14027ebc0], rax
mov eax, 1
jmp 0x14011bf51
mov r9, r15
mov qword [rsp + 0x20], r12
mov r8d, r13d
mov rdx, r14
mov rcx, rbp
call fcn.14011a480
mov rbx, rax
test rax, rax
je 0x14011bf4f
mov rax, 0xffffffffffffffff
mov rcx, rax
nop
inc rcx
cmp byte [rbx + rcx], 0
jne 0x14011c110
test rcx, rcx
je 0x14011bf4f
inc rax
cmp byte [rbx + rax], 0
jne 0x14011c122
test rax, rax
je 0x14011bf4f
mov rcx, rbx
call fcn.140118c20
lea rdx, [rsp + 0x30]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wstat64]
test eax, eax
jne 0x14011bf4f
mov eax, 0x8000
test word [rsp + 0x36], ax
je 0x14011bf4f
mov rax, rbx
jmp 0x14011bf51