Function at 0x14021f030
Capabilities:
Query environment variable

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x658
lea rbx, [0x14021d700]
mov dword [0x1404ce510], 0
mov dword [0x1404ce50c], 0
mov rbp, rcx
mov r12, rdx
mov ecx, 0x16
mov rdx, rbx
mov esi, r8d
mov r13d, r9d
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 8
mov qword [0x1404ce4b0], rax
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 4
mov qword [0x1404ce440], rax
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 2
mov qword [0x1404ce420], rax
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 0xb
mov qword [0x1404ce410], rax
call sub.msvcrt.dll_signal
mov rdx, rbx
mov ecx, 0xf
mov qword [0x1404ce458], rax
call sub.msvcrt.dll_signal
mov dword [0x1404ce50c], 1
mov qword [0x1404ce478], rax
test esi, esi
je 0x14021f290
mov eax, dword [0x1404ce508]
mov byte [rsp + 0x50], 0
mov dword [0x1404ce50c], 2
test eax, eax
je 0x14021f2af
lea rcx, str.OPENSSL_WIN32_UTF8
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ecx, 0xfffffff6
test eax, eax
je 0x14021f1e0
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea r9, [rsp + 0x4c]
mov r8d, 0x1ff
lea rbx, [rsp + 0x250]
mov qword [rsp + 0x20], 0
mov rcx, rax
mov rdx, rbx
lea rdi, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadConsoleW]
test eax, eax
je 0x14021f240
mov eax, dword [rsp + 0x4c]
cmp eax, 1
jbe 0x14021f182
lea edx, [rax - 2]
cmp word [rsp + rdx*2 + 0x250], 0xd
je 0x14021f490
xor edx, edx
lea rdi, [rsp + 0x50]
mov ecx, 0xfde9
mov r8, rbx
mov word [rsp + rax*2 + 0x250], dx
mov r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x200
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edx, 0x400
mov rcx, rbx
test eax, eax
jle 0x14021f430
call fcn.1402f5e00
jmp 0x14021f2d1
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea rdi, [rsp + 0x50]
lea r9, [rsp + 0x4c]
mov qword [rsp + 0x20], 0
mov rcx, rax
mov r8d, 0x1ff
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_ReadConsoleA]
test eax, eax
je 0x14021f240
mov eax, dword [rsp + 0x4c]
cmp eax, 1
jbe 0x14021f226
lea edx, [rax - 2]
cmp byte [rsp + rdx + 0x50], 0xd
je 0x14021f4c8
mov rcx, qword [0x1404ce500]
mov byte [rsp + rax + 0x50], 0
call sub.msvcrt.dll_feof
test eax, eax
je 0x14021f2e5
nop
xor ebx, ebx
mov eax, dword [0x1404ce510]
cmp eax, 2
mov eax, 0xffffffff
cmove ebx, eax
test esi, esi
je 0x14021f3b0
mov eax, dword [0x1404ce50c]
test eax, eax
jg 0x14021f340
mov edx, 0x200
mov rcx, rdi
call fcn.1402f5e00
mov eax, ebx
add rsp, 0x658
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov r9d, dword [0x1404ce508]
test r9d, r9d
jne 0x14021f408
mov dword [0x1404ce50c], 2
mov byte [rsp + 0x50], 0
lea rdi, [rsp + 0x50]
mov r8, qword [0x1404ce500]
mov edx, 0x1ff
mov rcx, rdi
call sub.msvcrt.dll_fgets
test rax, rax
je 0x14021f240
mov rcx, qword [0x1404ce500]
call sub.msvcrt.dll_feof
test eax, eax
jne 0x14021f240
mov rcx, qword [0x1404ce500]
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x14021f240
mov edx, 0xa
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
je 0x14021f440
test r13d, r13d
je 0x14021f317
mov byte [rax], 0
mov rcx, rdi
call sub.msvcrt.dll_strlen
mov r8, rdi
mov rdx, r12
mov rcx, rbp
mov r9d, eax
call fcn.14021ee50
not eax
mov ebx, eax
shr ebx, 0x1f
jmp 0x14021f242
mov rdx, qword [0x1404ce4b0]
mov ecx, 0x16
call sub.msvcrt.dll_signal
mov rdx, qword [0x1404ce440]
mov ecx, 8
call sub.msvcrt.dll_signal
mov rdx, qword [0x1404ce420]
mov ecx, 4
call sub.msvcrt.dll_signal
mov rdx, qword [0x1404ce410]
mov ecx, 2
call sub.msvcrt.dll_signal
mov rdx, qword [0x1404ce458]
mov ecx, 0xb
call sub.msvcrt.dll_signal
mov rdx, qword [0x1404ce478]
mov ecx, 0xf
call sub.msvcrt.dll_signal
jmp 0x14021f269
mov rcx, qword [0x1404ce518]
lea rdx, [0x14043933e]
call fcn.14021f000
mov eax, dword [0x1404ce50c]
cmp eax, 1
jle 0x14021f261
mov eax, dword [0x1404ce508]
test eax, eax
je 0x14021f340
mov esi, dword [0x1404ce3e0]
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
jmp 0x14021f25b
mov ebx, dword [0x1404ce3e0]
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
and ebx, 0xfffffffb
mov rcx, rax
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
jmp 0x14021f0f0
call fcn.1402f5e00
jmp 0x14021f240
mov r13, qword [0x1404ce500]
lea rbx, [rsp + 0x250]
jmp 0x14021f46e
mov edx, 0xa
mov rcx, rbx
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x14021f317
mov r8, r13
mov edx, 4
mov rcx, rbx
call sub.msvcrt.dll_fgets
test rax, rax
jne 0x14021f458
jmp 0x14021f240
lea r8d, [rax - 1]
cmp word [rsp + r8*2 + 0x250], 0xa
mov rcx, r8
jne 0x14021f182
mov r8d, 0xa
mov dword [rsp + 0x4c], ecx
mov eax, ecx
mov word [rsp + rdx*2 + 0x250], r8w
jmp 0x14021f182
lea r8d, [rax - 1]
cmp byte [rsp + r8 + 0x50], 0xa
jne 0x14021f226
mov byte [rsp + rdx + 0x50], 0xa
mov eax, r8d
jmp 0x14021f226