Function at 0x1400ab0e0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rdx
push r12
push r14
sub rsp, 0x68
mov qword [rcx], 0
mov r14, rcx
mov dword [rdx], 0
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov r12, rax
test rax, rax
jne 0x1400ab114
add rsp, 0x68
pop r14
pop r12
ret
xor edx, edx
mov qword [rsp + 0x58], rsi
mov rcx, r12
cmp word [rax], dx
je 0x1400ab14c
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x1400ab130
lea rcx, [rcx + rax*2]
inc edx
add rcx, 2
cmp word [rcx], 0
jne 0x1400ab123
movsxd rsi, edx
mov edx, select
mov rcx, rsi
mov qword [rsp + 0x80], rsi
call fcn.1400a7ed0
mov qword [r14], rax
test rax, rax
jne 0x1400ab188
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rsi, qword [rsp + 0x58]
mov eax, 0xfffff027
add rsp, 0x68
pop r14
pop r12
ret
mov qword [rsp + 0x90], rbx
xor eax, eax
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x50], rdi
mov rdi, r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r15
mov r15d, eax
cmp word [r12], ax
je 0x1400ab319
mov rbx, qword [rsp + 0x88]
mov ebp, eax
mov r13d, eax
cmp rbp, rsi
jge 0x1400ab319
mov qword [rsp + 0x38], rax
mov r9d, 0xffffffff
mov qword [rsp + 0x30], rax
mov r8, rdi
mov dword [rsp + 0x28], eax
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
test eax, eax
je 0x1400ab243
lea ecx, [rax + 1]
call fcn.1400a8170
mov rbx, rax
test rax, rax
je 0x1400ab254
xor eax, eax
mov r8, rdi
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rax
mov ecx, 0xfde9
mov dword [rsp + 0x28], esi
lea r9d, [rax - 1]
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x1400ab2a9
mov rcx, rbx
call fcn.1400a7f70
xor ebx, ebx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400b5700
test eax, eax
je 0x1400ab2af
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
test r15d, r15d
jle 0x1400ab282
add rbp, rbp
mov ebx, r15d
nop dword [rax + rax]
mov rcx, qword [r14]
mov rcx, qword [rcx + rbp*8]
call fcn.1400a7f70
sub rbx, 1
jne 0x1400ab270
mov rcx, qword [r14]
call fcn.1400a7f70
mov rax, qword [rsp + 0x88]
mov qword [r14], 0
mov dword [rax], 0
mov eax, 0xfffff027
jmp 0x1400ab32f
mov eax, eax
mov byte [rax + rbx], 0
lea rcx, [rbx + 1]
mov edx, 0x3d
call fcn.1400cc400
test rax, rax
jne 0x1400ab2cc
mov rcx, rbx
call fcn.1400a7f70
jmp 0x1400ab2e8
mov byte [rax], 0
inc r15d
mov rcx, qword [r14]
inc rax
inc rbp
mov qword [rcx + r13], rbx
mov qword [rcx + r13 + 8], rax
add r13, 0x10
mov rax, 0xffffffffffffffff
nop
cmp word [rdi + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x1400ab2f0
lea rdi, [rdi + rax*2]
add rdi, 2
cmp word [rdi], 0
je 0x1400ab319
mov rsi, qword [rsp + 0x80]
xor eax, eax
jmp 0x1400ab1c4
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, qword [rsp + 0x88]
mov dword [rax], r15d
xor eax, eax
mov r13, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
add rsp, 0x68
pop r14
pop r12
ret