Function at 0x1400274f0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x650
lea r12, [0x1400272e0]
mov dword [0x140417124], 0
mov dword [0x140417120], 0
mov r13, rcx
mov r14, rdx
mov ecx, 0x16
mov rdx, r12
mov ebx, r8d
mov esi, r9d
call sub.msvcrt.dll_signal
mov rdx, r12
mov ecx, 8
mov qword [0x140417210], rax
call sub.msvcrt.dll_signal
mov rdx, r12
mov ecx, 4
mov qword [0x1404171a0], rax
call sub.msvcrt.dll_signal
mov rdx, r12
mov ecx, 2
mov qword [0x140417180], rax
call sub.msvcrt.dll_signal
mov rdx, r12
mov ecx, 0xb
mov qword [0x140417170], rax
call sub.msvcrt.dll_signal
mov rdx, r12
mov ecx, 0xf
mov qword [0x1404171b8], rax
call sub.msvcrt.dll_signal
mov dword [0x140417120], 1
mov qword [0x1404171d8], rax
test ebx, ebx
je 0x140027770
mov eax, dword [0x140417128]
mov byte [rsp + 0x50], 0
mov dword [0x140417120], 2
test eax, eax
je 0x14002778f
lea rcx, [0x14034f218]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ecx, 0xfffffff6
test eax, eax
je 0x1400276b0
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea r9, [rsp + 0x4c]
mov r8d, 0x1ff
lea rdi, [rsp + 0x250]
mov qword [rsp + 0x20], 0
mov rcx, rax
mov rdx, rdi
lea r15, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadConsoleW]
mov r12d, eax
test eax, eax
je 0x14002771b
mov eax, dword [rsp + 0x4c]
cmp eax, 1
jbe 0x140027648
lea edx, [rax - 2]
cmp word [rsp + rdx*2 + 0x250], 0xd
je 0x140027920
xor edx, edx
lea r15, [rsp + 0x50]
mov ecx, 0xfde9
mov r8, rdi
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], r15
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edx, 0x400
mov rcx, rdi
test eax, eax
jle 0x140027910
call fcn.1400186f0
jmp 0x1400277b1
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea r15, [rsp + 0x50]
lea r9, [rsp + 0x4c]
mov qword [rsp + 0x20], 0
mov rcx, rax
mov r8d, 0x1ff
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_ReadConsoleA]
mov r12d, eax
test eax, eax
je 0x14002771b
mov eax, dword [rsp + 0x4c]
cmp eax, 1
jbe 0x1400276f9
lea edx, [rax - 2]
cmp byte [rsp + rdx + 0x50], 0xd
je 0x140027958
mov rcx, qword [0x140417138]
mov byte [rsp + rax + 0x50], 0
call sub.msvcrt.dll_feof
test eax, eax
je 0x1400277c5
nop word [rax + rax]
xor r12d, r12d
mov eax, dword [0x140417124]
cmp eax, 2
mov eax, 0xffffffff
cmove r12d, eax
test ebx, ebx
je 0x140027888
mov eax, dword [0x140417120]
test eax, eax
jg 0x140027818
mov edx, 0x200
mov rcx, r15
call fcn.1400186f0
mov eax, r12d
add rsp, 0x650
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, dword [0x140417128]
test r9d, r9d
jne 0x1400278e0
mov dword [0x140417120], 2
mov byte [rsp + 0x50], 0
lea r15, [rsp + 0x50]
mov r8, qword [0x140417138]
mov edx, 0x1ff
mov rcx, r15
call sub.msvcrt.dll_fgets
test rax, rax
je 0x140027718
mov rcx, qword [0x140417138]
call sub.msvcrt.dll_feof
test eax, eax
jne 0x140027718
mov rcx, qword [0x140417138]
call sub.msvcrt.dll_ferror
mov r12d, eax
test eax, eax
jne 0x140027718
mov edx, 0xa
mov rcx, r15
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140027978
test esi, esi
je 0x1400277f9
mov byte [rax], 0
mov r8, r15
mov rdx, r14
mov rcx, r13
call fcn.140027290
not eax
mov r12d, eax
shr r12d, 0x1f
jmp 0x14002771b
mov rdx, qword [0x140417210]
mov ecx, 0x16
call sub.msvcrt.dll_signal
mov rdx, qword [0x1404171a0]
mov ecx, 8
call sub.msvcrt.dll_signal
mov rdx, qword [0x140417180]
mov ecx, 4
call sub.msvcrt.dll_signal
mov rdx, qword [0x140417170]
mov ecx, 2
call sub.msvcrt.dll_signal
mov rdx, qword [0x1404171b8]
mov ecx, 0xb
call sub.msvcrt.dll_signal
mov rdx, qword [0x1404171d8]
mov ecx, 0xf
call sub.msvcrt.dll_signal
jmp 0x140027743
mov rcx, qword [0x140417130]
lea rdx, [0x14034f23e]
call fcn.140027350
mov eax, dword [0x140417120]
cmp eax, 1
jle 0x14002773b
mov eax, dword [0x140417128]
test eax, eax
je 0x140027818
mov r13d, dword [0x140417140]
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
jmp 0x140027735
mov r12d, dword [0x140417140]
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
and r12d, 0xfffffffb
mov rcx, rax
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
jmp 0x1400275b3
call fcn.1400186f0
xor r12d, r12d
jmp 0x14002771b
lea r8d, [rax - 1]
cmp word [rsp + r8*2 + 0x250], 0xa
mov rcx, r8
jne 0x140027648
mov r8d, 0xa
mov dword [rsp + 0x4c], ecx
mov eax, ecx
mov word [rsp + rdx*2 + 0x250], r8w
jmp 0x140027648
lea r8d, [rax - 1]
cmp byte [rsp + r8 + 0x50], 0xa
jne 0x1400276f9
mov byte [rsp + rdx + 0x50], 0xa
mov eax, r8d
jmp 0x1400276f9
mov rsi, qword [0x140417138]
lea rdi, [rsp + 0x250]
jmp 0x1400279a6
mov edx, 0xa
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x1400277f9
mov r8, rsi
mov edx, 4
mov rcx, rdi
call sub.msvcrt.dll_fgets
test rax, rax
jne 0x140027990
jmp 0x14002771b