Function at 0x14035c7f0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x650
mov dword [0x1406a5684], 0
mov dword [0x1406a5680], 0
mov r13, rcx
mov r14, rdx
mov ecx, 0x16
mov ebx, r8d
lea rdx, [0x14035c710]
mov esi, r9d
call sub.msvcrt.dll_signal
lea rdx, [0x14035c710]
mov ecx, 8
mov qword [0x1406a5770], rax
call sub.msvcrt.dll_signal
lea rdx, [0x14035c710]
mov ecx, 4
mov qword [0x1406a5700], rax
call sub.msvcrt.dll_signal
lea rdx, [0x14035c710]
mov ecx, 2
mov qword [0x1406a56e0], rax
call sub.msvcrt.dll_signal
lea rdx, [0x14035c710]
mov ecx, 0xb
mov qword [0x1406a56d0], rax
call sub.msvcrt.dll_signal
lea rdx, [0x14035c710]
mov ecx, 0xf
mov qword [0x1406a5718], rax
call sub.msvcrt.dll_signal
mov dword [0x1406a5680], 1
mov qword [0x1406a5738], rax
test ebx, ebx
je 0x14035ca80
mov eax, dword [0x1406a5688]
mov byte [rsp + 0x50], 0
mov dword [0x1406a5680], 2
test eax, eax
je 0x14035ca9f
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 0x14035c9c0
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 0x14035ca2b
mov eax, dword [rsp + 0x4c]
cmp eax, 1
jbe 0x14035c959
lea edx, [rax - 2]
cmp word [rsp + rdx*2 + 0x250], 0xd
je 0x14035cc30
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 0x14035cc20
call fcn.140098720
jmp 0x14035cac1
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 0x14035ca2b
mov eax, dword [rsp + 0x4c]
cmp eax, 1
jbe 0x14035ca09
lea edx, [rax - 2]
cmp byte [rsp + rdx + 0x50], 0xd
je 0x14035cc68
mov rcx, qword [0x1406a5698]
mov byte [rsp + rax + 0x50], 0
call sub.msvcrt.dll_feof
test eax, eax
je 0x14035cad5
nop word [rax + rax]
xor r12d, r12d
mov eax, dword [0x1406a5684]
cmp eax, 2
mov eax, 0xffffffff
cmove r12d, eax
test ebx, ebx
je 0x14035cb98
mov eax, dword [0x1406a5680]
test eax, eax
jg 0x14035cb28
mov edx, 0x200
mov rcx, r15
call fcn.140098720
mov eax, r12d
add rsp, 0x650
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, dword [0x1406a5688]
test r9d, r9d
jne 0x14035cbf0
mov dword [0x1406a5680], 2
mov byte [rsp + 0x50], 0
lea r15, [rsp + 0x50]
mov r8, qword [0x1406a5698]
mov edx, 0x1ff
mov rcx, r15
call sub.msvcrt.dll_fgets
test rax, rax
je 0x14035ca28
mov rcx, qword [0x1406a5698]
call sub.msvcrt.dll_feof
test eax, eax
jne 0x14035ca28
mov rcx, qword [0x1406a5698]
call sub.msvcrt.dll_ferror
mov r12d, eax
test eax, eax
jne 0x14035ca28
mov edx, 0xa
mov rcx, r15
call sub.msvcrt.dll_strchr
test rax, rax
je 0x14035cc88
test esi, esi
je 0x14035cb09
mov byte [rax], 0
mov r8, r15
mov rdx, r14
mov rcx, r13
call fcn.14035c6c0
not eax
shr eax, 0x1f
mov r12d, eax
jmp 0x14035ca2b
mov rdx, qword [0x1406a5770]
mov ecx, 0x16
call sub.msvcrt.dll_signal
mov rdx, qword [0x1406a5700]
mov ecx, 8
call sub.msvcrt.dll_signal
mov rdx, qword [0x1406a56e0]
mov ecx, 4
call sub.msvcrt.dll_signal
mov rdx, qword [0x1406a56d0]
mov ecx, 2
call sub.msvcrt.dll_signal
mov rdx, qword [0x1406a5718]
mov ecx, 0xb
call sub.msvcrt.dll_signal
mov rdx, qword [0x1406a5738]
mov ecx, 0xf
call sub.msvcrt.dll_signal
jmp 0x14035ca53
mov rdx, qword [0x1406a5690]
mov ecx, 0xa
call sub.msvcrt.dll_fputc
mov eax, dword [0x1406a5680]
cmp eax, 1
jle 0x14035ca4b
mov eax, dword [0x1406a5688]
test eax, eax
je 0x14035cb28
mov r13d, dword [0x1406a56a0]
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
jmp 0x14035ca45
mov r12d, dword [0x1406a56a0]
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 0x14035c8c4
call fcn.140098720
xor r12d, r12d
jmp 0x14035ca2b
lea r8d, [rax - 1]
cmp word [rsp + r8*2 + 0x250], 0xa
mov rcx, r8
jne 0x14035c959
mov r8d, 0xa
mov dword [rsp + 0x4c], ecx
mov eax, ecx
mov word [rsp + rdx*2 + 0x250], r8w
jmp 0x14035c959
lea r8d, [rax - 1]
cmp byte [rsp + r8 + 0x50], 0xa
jne 0x14035ca09
mov byte [rsp + rdx + 0x50], 0xa
mov eax, r8d
jmp 0x14035ca09
mov rsi, qword [0x1406a5698]
lea rdi, [rsp + 0x250]
jmp 0x14035ccb6
mov edx, 0xa
mov rcx, rdi
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x14035cb09
mov r8, rsi
mov edx, 4
mov rcx, rdi
call sub.msvcrt.dll_fgets
test rax, rax
jne 0x14035cca0
jmp 0x14035ca2b