Function at 0x140029aa0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x30
xor r15d, r15d
mov rsi, r9
mov r12d, r15d
mov r13d, r15d
mov rbp, r8
mov rbx, rdx
mov rdi, rcx
nop dword [rax + rax]
test rdi, rdi
je 0x140029b00
mov edx, 0x27
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x140029af7
lea edx, [rax + 0x22]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x140029b00
lea rdi, [0x14352db70]
jmp 0x140029ad0
test rbx, rbx
je 0x140029b30
mov edx, 0x27
mov rcx, rbx
call sub.VCRUNTIME140.dll_strchr
test rax, rax
jne 0x140029b27
lea edx, [rax + 0x22]
mov rcx, rbx
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x140029b30
lea rbx, [0x14352db90]
jmp 0x140029ad0
cmp dword [0x14353b2b8], r12d
je 0x140029b4d
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
jne 0x140029b70
call fcn.140028ea0
test eax, eax
jne 0x140029b70
lea rcx, [0x14352dbb0]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x14002a00e
call fcn.140028fd0
test eax, eax
jne 0x14002a00e
call fcn.140028ea0
test eax, eax
je 0x140029be0
test rdi, rdi
je 0x140029bbf
lea rdx, [0x14352dbc0]
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140029bbf
mov eax, dword [0x14352dbd0]
mov dword [0x14353e6a0], eax
movzx eax, word [0x14352dbd4]
mov word [0x14353e6a4], ax
movzx eax, byte [0x14352dbd6]
mov byte [0x14353e6a6], al
xor eax, eax
jmp 0x140029f71
mov eax, dword [rsp + 0x80]
mov r9, rsi
mov r8, rbp
mov dword [rsp + 0x20], eax
mov rdx, rbx
mov rcx, rdi
call fcn.140029000
jmp 0x140029f71
cmp dword [section..data], r12d
jne 0x140029c17
call qword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov r13d, eax
call qword [sym.imp.KERNEL32.dll_GetACP]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
call qword [sym.imp.KERNEL32.dll_GetACP]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
test rdi, rdi
je 0x140029c61
lea rdx, [0x14352dbc0]
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140029c61
movzx eax, word [0x14352dbe0]
movsd xmm0, qword [0x14352dbd8]
mov word [0x14353e6a8], ax
movzx eax, byte [0x14352dbe2]
mov byte [0x14353e6aa], al
xor eax, eax
movsd qword [0x14353e6a0], xmm0
jmp 0x140029f71
cmp dword [0x14353b2c0], r15d
mov esi, 1
mov qword [rsp + 0x60], r14
jne 0x140029ca9
cmp dword [0x14353b2b8], r15d
jne 0x140029ca9
lea rdx, str.missing_software___we_will_try_basic_console_input_
mov dword [0x14353b2c0], esi
lea rcx, [0x14352dbe4]
call fcn.140029980
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, [0x14352dbec]
call fcn.140029980
mov r14, 0xffffffffffffffff
test rdi, rdi
je 0x140029d08
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rdi + rax], r15b
jne 0x140029cc0
test rax, rax
je 0x140029d08
lea rcx, [0x14352db24]
call fcn.140029980
cmp dword [section..data], r15d
je 0x140029ced
mov rcx, rdi
call fcn.14002a450
jmp 0x140029cfc
mov rdx, rdi
lea rcx, [0x14352dbf4]
call fcn.140029980
lea rcx, [0x14352dbf8]
call fcn.140029980
test rbp, rbp
je 0x140029f88
mov rcx, r15
lea rdx, [0x14352da7c]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rcx + rbp - 1]
jne 0x140029ddb
cmp rcx, 6
jne 0x140029d20
test rbx, rbx
je 0x140029d7c
mov rax, r14
nop
inc rax
cmp byte [rbx + rax], r15b
jne 0x140029d40
test rax, rax
je 0x140029d7c
cmp dword [section..data], r15d
je 0x140029d61
mov rcx, rbx
call fcn.14002a450
jmp 0x140029d70
mov rdx, rbx
lea rcx, [0x14352dbf4]
call fcn.140029980
lea rcx, [0x14352db24]
call fcn.140029980
lea rcx, [0x14352dbfc]
call fcn.140029980
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
lea rcx, [0x14352dbf8]
mov edi, eax
call fcn.140029980
cmp dil, 0x79
je 0x140029db0
cmp dil, 0x6e
jne 0x140029d37
cmp dword [section..data], r15d
jne 0x140029dcb
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
cmp dil, 0x79
sete r15b
mov eax, r15d
jmp 0x140029f6c
mov rdx, rbp
lea rcx, [0x14352da70]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140029e9b
test rbx, rbx
je 0x140029e3c
mov rax, r14
nop word [rax + rax]
inc rax
cmp byte [rbx + rax], r15b
jne 0x140029e00
test rax, rax
je 0x140029e3c
cmp dword [section..data], r15d
je 0x140029e21
mov rcx, rbx
call fcn.14002a450
jmp 0x140029e30
mov rdx, rbx
lea rcx, [0x14352dbf4]
call fcn.140029980
lea rcx, [0x14352db24]
call fcn.140029980
lea rcx, [0x14352dc08]
call fcn.140029980
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
lea rcx, [0x14352dbf8]
mov edi, eax
call fcn.140029980
cmp dil, 0x6f
je 0x140029e70
cmp dil, 0x63
jne 0x140029df2
cmp dword [section..data], r15d
jne 0x140029e8b
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
cmp dil, 0x6f
sete r15b
mov eax, r15d
jmp 0x140029f6c
mov rdx, rbp
lea rcx, [0x14352da88]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140029f88
test rbx, rbx
je 0x140029efc
mov rax, r14
nop word [rax + rax]
inc rax
cmp byte [rbx + rax], r15b
jne 0x140029ec0
test rax, rax
je 0x140029efc
cmp dword [section..data], r15d
je 0x140029ee1
mov rcx, rbx
call fcn.14002a450
jmp 0x140029ef0
mov rdx, rbx
lea rcx, [0x14352dbf4]
call fcn.140029980
lea rcx, [0x14352db24]
call fcn.140029980
lea rcx, [0x14352dc20]
call fcn.140029980
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
lea rcx, [0x14352dbf8]
mov edi, eax
call fcn.140029980
cmp dil, 0x79
je 0x140029f3a
cmp dil, 0x6e
je 0x140029f3a
cmp dil, 0x63
jne 0x140029eb2
cmp dword [section..data], r15d
jne 0x140029f55
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
cmp dil, 0x79
je 0x140029f6a
cmp dil, 0x6e
mov esi, r15d
mov eax, 2
cmove esi, eax
mov eax, esi
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret
test rbx, rbx
je 0x140029fcc
nop dword [rax]
inc r14
cmp byte [rbx + r14], r15b
jne 0x140029f90
test r14, r14
je 0x140029fcc
cmp dword [section..data], r15d
je 0x140029fb1
mov rcx, rbx
call fcn.14002a450
jmp 0x140029fc0
mov rdx, rbx
lea rcx, [0x14352dbf4]
call fcn.140029980
lea rcx, [0x14352dbf8]
call fcn.140029980
lea rcx, [0x14352dc38]
call fcn.140029980
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
lea rcx, [0x14352dbf8]
call fcn.140029980
cmp dword [section..data], r15d
jne 0x140029f6a
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
jmp 0x140029f6a
test rdi, rdi
je 0x14002a041
lea rdx, [0x14352dbc0]
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x14002a041
movabs rax, 0x73776f646e6977
mov qword [0x14353e6a0], rax
mov eax, 1
jmp 0x140029f71
mov eax, dword [rsp + 0x80]
mov r9, rsi
mov r8, rbp
mov dword [rsp + 0x20], eax
mov rdx, rbx
mov rcx, rdi
call fcn.140029780
jmp 0x140029f71