Function at 0x1400279b0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x650
lea r12, [0x1400277a0]
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 0x140027c30
mov eax, dword [0x140417128]
mov byte [rsp + 0x50], 0
mov dword [0x140417120], 2
test eax, eax
je 0x140027c4f
lea rcx, [0x14034f238]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ecx, 0xfffffff6
test eax, eax
je 0x140027b70
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 0x140027bdb
mov eax, dword [rsp + 0x4c]
cmp eax, 1
jbe 0x140027b08
lea edx, [rax - 2]
cmp word [rsp + rdx*2 + 0x250], 0xd
je 0x140027de0
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 0x140027dd0
call fcn.140018bb0
jmp 0x140027c71
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 0x140027bdb
mov eax, dword [rsp + 0x4c]
cmp eax, 1
jbe 0x140027bb9
lea edx, [rax - 2]
cmp byte [rsp + rdx + 0x50], 0xd
je 0x140027e18
mov rcx, qword [0x140417138]
mov byte [rsp + rax + 0x50], 0
call sub.msvcrt.dll_feof
test eax, eax
je 0x140027c85
nop word [rax + rax]
xor r12d, r12d
mov eax, dword [0x140417124]
cmp eax, 2
mov eax, 0xffffffff
cmove r12d, eax
test ebx, ebx
je 0x140027d48
mov eax, dword [0x140417120]
test eax, eax
jg 0x140027cd8
mov edx, 0x200
mov rcx, r15
call fcn.140018bb0
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 0x140027da0
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 0x140027bd8
mov rcx, qword [0x140417138]
call sub.msvcrt.dll_feof
test eax, eax
jne 0x140027bd8
mov rcx, qword [0x140417138]
call sub.msvcrt.dll_ferror
mov r12d, eax
test eax, eax
jne 0x140027bd8
mov edx, 0xa
mov rcx, r15
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140027e38
test esi, esi
je 0x140027cb9
mov byte [rax], 0
mov r8, r15
mov rdx, r14
mov rcx, r13
call fcn.140027750
not eax
mov r12d, eax
shr r12d, 0x1f
jmp 0x140027bdb
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 0x140027c03
mov rcx, qword [0x140417130]
lea rdx, [0x14034f25e]
call fcn.140027810
mov eax, dword [0x140417120]
cmp eax, 1
jle 0x140027bfb
mov eax, dword [0x140417128]
test eax, eax
je 0x140027cd8
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 0x140027bf5
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 0x140027a73
call fcn.140018bb0
xor r12d, r12d
jmp 0x140027bdb
lea r8d, [rax - 1]
cmp word [rsp + r8*2 + 0x250], 0xa
mov rcx, r8
jne 0x140027b08
mov r8d, 0xa
mov dword [rsp + 0x4c], ecx
mov eax, ecx
mov word [rsp + rdx*2 + 0x250], r8w
jmp 0x140027b08
lea r8d, [rax - 1]
cmp byte [rsp + r8 + 0x50], 0xa
jne 0x140027bb9
mov byte [rsp + rdx + 0x50], 0xa
mov eax, r8d
jmp 0x140027bb9
mov rsi, qword [0x140417138]
lea rdi, [rsp + 0x250]
jmp 0x140027e66
mov edx, 0xa
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x140027cb9
mov r8, rsi
mov edx, 4
mov rcx, rdi
call sub.msvcrt.dll_fgets
test rax, rax
jne 0x140027e50
jmp 0x140027bdb