Function at 0x14008a6b0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movzx eax, byte [rcx + 1]
xor r8d, r8d
mov r15, rdx
mov r13, rcx
mov r12d, r8d
mov esi, r8d
test eax, eax
jle 0x14008a9f7
mov ebp, r8d
mov r14, rdx
mov r9d, 0xff
mov rcx, qword [r13 + 8]
mov edi, 0xffffffff
movzx edx, byte [rcx + rbp]
cmp dl, 2
jne 0x14008a725
mov r8b, 1
mov edx, r12d
mov rcx, r13
call fcn.14002de50
mov qword [r14], rax
test rax, rax
jne 0x14008a9d4
or rax, 0xffffffffffffffff
jmp 0x14008a9fa
cmp byte [rcx + rbp + 1], 0
mov qword [r14], r8
je 0x14008a75a
movzx eax, word [rcx + rbp + 2]
cmp ax, r9w
jae 0x14008a74a
mov eax, r9d
inc eax
movsxd rcx, eax
add rsi, rcx
jmp 0x14008a9da
movzx eax, ax
inc eax
movsxd rcx, eax
add rsi, rcx
jmp 0x14008a9da
cmp dl, 1
jne 0x14008a777
xor r8d, r8d
mov edx, r12d
mov rcx, r13
call fcn.14002de50
mov rbx, rax
test rax, rax
je 0x14008a71c
jmp 0x14008a7dd
cmp r12d, eax
jge 0x14008a9da
movzx eax, byte [rcx + rbp]
test al, al
jne 0x14008a79f
mov rax, qword [rcx + rbp + 0x10]
test rax, rax
je 0x14008a798
cmp qword [rax], 0
jne 0x14008a7ac
cmp byte [rcx + rbp + 1], 0
jmp 0x14008a7a6
cmp al, 1
sete al
test al, al
je 0x14008a9da
mov rdi, qword [rcx + rbp + 0x10]
cmp qword [rdi + 0x18], 0
jne 0x14008a8e5
movzx eax, word [rcx + rbp + 2]
cmp word [rdi + 0x12], ax
jne 0x14008a8e5
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14008a8e5
mov edi, 0xffffffff
mov r9, r15
mov r8d, r12d
mov rdx, rbx
mov rcx, r13
mov qword [r14], rbx
call fcn.14008aa10
test eax, eax
je 0x14008a71c
cmp eax, 4
je 0x14008a9d4
movzx ecx, byte [rbx + 0x23]
test ecx, ecx
je 0x14008a8d0
dec ecx
je 0x14008a85f
dec ecx
je 0x14008a83b
dec ecx
je 0x14008a82d
mov rdx, qword [rbx + 0x28]
xor ecx, ecx
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rsi, [rsi + rax + 1]
jmp 0x14008a9d4
xor ecx, ecx
mov eax, ecx
lea rsi, [rsi + rcx + 1]
jmp 0x14008a9d4
lea rcx, [0x14011be28]
xor edx, edx
call fcn.140005ea0
mov ecx, 0
cmp rax, rdi
cmove rax, rcx
lea rsi, [rsi + rax + 1]
jmp 0x14008a9d4
mov rcx, rbx
call fcn.140001130
cmp dword [0x14011992c], 0
jne 0x14008a8b6
cmp qword [rbx + 0x10], 0
jne 0x14008a8b6
mov rcx, qword [rbx + 0x28]
lea rdx, [rsp + 0x60]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor ecx, ecx
test eax, eax
je 0x14008a8a2
dec eax
mov qword [0x14011cd68], rcx
lea rsi, [rsi + rax + 1]
jmp 0x14008a9d4
mov qword [0x14011cd68], rbx
mov rax, rcx
lea rsi, [rsi + rcx + 1]
jmp 0x14008a9d4
mov rax, qword [rbx + 0x10]
shr rax, 1
lea rsi, [rsi + rax + 1]
jmp 0x14008a9d4
mov rcx, qword [rbx + 0x10]
xor edx, edx
call fcn.1400b1930
lea rsi, [rsi + rax + 1]
jmp 0x14008a9d4
movzx eax, word [rcx + rbp + 2]
inc eax
cdqe
add rsi, rax
test rdi, rdi
je 0x14008a9da
cmp qword [rdi], 0
je 0x14008a9da
mov r15d, 0xffffffff
nop word [rax + rax]
mov rbx, qword [rdi + 8]
movzx eax, word [rdi + 0x12]
movzx ecx, byte [rbx + 0x23]
sub rsi, rax
test ecx, ecx
je 0x14008a9b0
dec ecx
je 0x14008a95b
dec ecx
je 0x14008a93e
dec ecx
je 0x14008a99e
mov rdx, qword [rbx + 0x28]
xor ecx, ecx
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14008a9bb
lea rcx, [0x14011be28]
xor edx, edx
call fcn.140005ea0
mov r8d, 0
cmp rax, r15
cmove rax, r8
jmp 0x14008a9be
mov rcx, rbx
call fcn.140001130
cmp dword [0x14011992c], 0
jne 0x14008a9a3
cmp qword [rbx + 0x10], 0
jne 0x14008a9a3
mov rcx, qword [rbx + 0x28]
lea rdx, [rsp + 0x70]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor r8d, r8d
test eax, eax
je 0x14008a997
mov qword [0x14011cd68], r8
dec eax
jmp 0x14008a9be
mov qword [0x14011cd68], rbx
mov rax, r8
jmp 0x14008a9be
mov rax, qword [rbx + 0x10]
shr rax, 1
jmp 0x14008a9bb
mov rcx, qword [rbx + 0x10]
xor edx, edx
call fcn.1400b1930
xor r8d, r8d
add rdi, 0x18
add rsi, rax
cmp qword [rdi], 0
jne 0x14008a910
mov r15, qword [rsp + 0x68]
mov r9d, 0xff
movzx eax, byte [r13 + 1]
inc r12d
add rbp, 0x20
add r14, 8
cmp r12d, eax
jge 0x14008a9f7
xor r8d, r8d
jmp 0x14008a6f0
mov rax, rsi
mov rbx, qword [rsp + 0x78]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret