Function at 0x140023850
Capabilities:
Query environment variable

Disassembly:
jmp 0x140023850
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x1400cb008]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov rsi, rcx
mov edx, 0x2c
call fcn.1400012c6
test rax, rax
jne 0x140023f31
mov rax, qword [0x1400cc480]
xor edi, edi
test rax, rax
jne 0x140023936
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
mov r8d, 0x100
lea rdx, [rbp + 0x20]
lea rcx, str.WINPTY_DEBUG
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
dec eax
movzx ecx, byte [rbp + 0x20]
cmp eax, 0xfe
cmova ecx, edi
mov byte [rbp + 0x20], cl
lea rax, [rbp + 0x20]
mov rbx, 0xffffffffffffffff
nop dword [rax]
lea rbx, [rbx + 1]
cmp byte [rax + rbx], 0
jne 0x1400238f0
lea rcx, [rbx + 1]
call fcn.14000274d
mov r14, rax
lea r8, [rbx + 1]
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.1400048c7
xor eax, eax
lock cmpxchg qword [0x1400cc480], r14
je 0x14002392c
mov rcx, r14
call fcn.1400029a5
nop
mov ecx, dword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [0x1400cc480]
cmp byte [r14], 0
jne 0x14002394a
xor al, al
jmp 0x140023ee7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [rsp + 0x40], eax
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r14 + r8], 0
jne 0x140023971
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.1400027e3
nop
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x1400239a3
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.1400027e3
nop
movabs rdx, 0x7fffffffffffffff
mov rax, rdx
mov r13, qword [rbp - 0x50]
sub rax, r13
cmp rax, 1
jb 0x140023f46
lea rax, [rbp - 0x60]
mov r15, qword [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rax, r15
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
lea r12, [r13 + 1]
mov esi, 0xf
lea r14, [rsp + 0x60]
movabs rcx, 0x8000000000000027
lea r8d, [rsi + 7]
cmp r12, rsi
jbe 0x140023a93
mov rsi, r12
or rsi, 0xf
cmp rsi, rdx
jbe 0x140023a54
mov rsi, rdx
mov rax, rcx
mov rcx, rax
call fcn.14000125d
test rax, rax
je 0x140023f52
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
mov rax, qword [rsp + 0x30]
jmp 0x140023a8e
cmp rsi, r8
cmovb rsi, r8
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140023a77
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140023f25
jmp 0x140023a30
test rcx, rcx
je 0x140023a8b
call fcn.14000125d
mov r14, rax
mov rax, qword [rsp + 0x30]
jmp 0x140023a8e
mov r14, rdi
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], rsi
mov byte [r14], 0x2c
lea rcx, [r14 + 1]
mov r8, r13
mov rdx, rax
call fcn.1400029d7
mov byte [r14 + r12], 0
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x140023af0
lea rax, [rcx + 1]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x60]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x60]
mov word [rax + rcx], 0x2c
lea rax, [rsp + 0x60]
jmp 0x140023b11
mov qword [rsp + 0x20], 1
lea r9, [0x1400aeae4]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x60]
call fcn.14000245a
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rax, qword [rbp - 0x48]
cmp rax, 0x10
jb 0x140023b7e
lea rdx, [rax + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023b6c
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f4c
mov rcx, r15
call fcn.140003b75
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140023bc3
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023bbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f52
call fcn.140003b75
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r13, qword [rbp - 0x30]
sub rax, r13
cmp rax, 1
jb 0x140023f58
lea rdx, [rbp - 0x40]
mov r15, qword [rbp - 0x40]
mov r12, qword [rbp - 0x28]
cmp r12, 0x10
cmovae rdx, r15
mov qword [rsp + 0x30], rdx
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
lea rax, [r13 + 1]
mov esi, 0xf
lea r14, [rbp - 0x80]
cmp rax, rsi
jbe 0x140023ca5
mov rsi, rax
or rsi, 0xf
cmp rsi, rcx
jbe 0x140023c5d
mov rsi, rcx
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.14000125d
test rax, rax
je 0x140023f64
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
lea rax, [r13 + 1]
mov rdx, qword [rsp + 0x30]
jmp 0x140023ca1
cmp rsi, 0x16
mov ecx, 0x16
cmovb rsi, rcx
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140023c86
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140023f2b
jmp 0x140023c35
test rcx, rcx
je 0x140023c9e
call fcn.14000125d
mov r14, rax
lea rax, [r13 + 1]
mov rdx, qword [rsp + 0x30]
jmp 0x140023ca1
mov r14, rdi
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rsi
mov byte [r14], 0x2c
lea rcx, [r14 + 1]
mov r8, r13
call fcn.1400029d7
mov byte [r14 + r13 + 1], 0
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x140023cf8
lea rax, [rcx + 1]
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x80]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x80]
mov word [rax + rcx], 0x2c
lea rax, [rbp - 0x80]
jmp 0x140023d18
mov qword [rsp + 0x20], 1
lea r9, [0x1400aeae4]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x80]
call fcn.14000245a
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
cmp r12, 0x10
jb 0x140023d82
lea rdx, [r12 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023d70
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f5e
mov rcx, r15
call fcn.140003b75
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm1
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x140023dc5
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023dc0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f64
call fcn.140003b75
lea r12, [rbp - 0x40]
mov r15, qword [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r12, r15
lea r13, [rbp - 0x60]
mov rsi, qword [rbp]
cmp qword [rbp + 0x18], 0x10
cmovae r13, rsi
mov r14, qword [rbp - 0x10]
mov rax, qword [rbp + 0x10]
cmp r14, rax
ja 0x140023e58
test r14, r14
je 0x140023e5f
sub rax, r14
inc rax
add rax, r13
mov qword [rsp + 0x40], rax
movsx edx, byte [r12]
mov r8, rax
sub r8, r13
mov rcx, r13
call fcn.140003369
mov rdi, rax
test rax, rax
je 0x140023e58
mov r8, r14
mov rdx, r12
mov rcx, rdi
call fcn.140002419
test eax, eax
je 0x140023f17
inc rdi
mov r8, qword [rsp + 0x40]
sub r8, rdi
movsx edx, byte [r12]
mov rcx, rdi
call fcn.140003369
mov rdi, rax
test rax, rax
jne 0x140023e22
mov rdi, 0xffffffffffffffff
cmp rdi, 0xffffffffffffffff
setne dil
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x140023ea3
lea rdx, [rax + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140023e9a
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f6a
mov rcx, r15
call fcn.140003b75
nop
mov rax, qword [rbp + 0x18]
cmp rax, 0x10
jb 0x140023edb
lea rdx, [rax + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140023ed2
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023f1f
mov rcx, rsi
call fcn.140003b75
nop
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
movzx eax, dil
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.1400029d2
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
sub rdi, r13
jmp 0x140023e5f
call fcn.14000215d
nop
call fcn.140003aa8
int3
call fcn.140003aa8
nop
mov rdx, rsi
lea rcx, str.INTERNAL_ERROR:_hasDebugFlag_flag_has_comma:__s
call fcn.140004610
call fcn.140001ce4
nop
call fcn.140002ac7
nop
call fcn.14000215d
nop
call fcn.14000215d
int3
call fcn.140002ac7
nop
call fcn.14000215d
nop
call fcn.14000215d
nop
call fcn.14000215d
int3