Function at 0x140081240
Capabilities:
Query environment variable

Disassembly:
push rbx
sub rsp, 0x50
movsxd rax, r8d
mov rbx, rdx
shl rax, 5
add rax, qword [rcx + 0x10]
test r9, r9
je 0x14008126c
mov rcx, r9
call fcn.1400ea020
lea rax, [rbx + rax*2 + 2]
add rsp, 0x50
pop rbx
ret
mov qword [rsp + 0x60], rbp
mov rbp, qword [rax + 8]
mov qword [rsp + 0x40], r13
mov r13, qword [rax + 0x10]
mov qword [rsp + 0x38], r14
xor r14d, r14d
test r13, r13
je 0x1400814ed
mov rcx, qword [r13]
test rcx, rcx
je 0x1400814ed
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x30], r15
mov r15d, 0xffffffff
cmp rbp, rcx
jae 0x1400812d5
nop dword [rax + rax]
movzx eax, word [rbp]
add rbp, 2
add rbx, 2
mov word [rbx - 2], ax
cmp rbp, rcx
jb 0x1400812c0
mov rdi, qword [r13 + 8]
mov r12, rbx
movzx ecx, byte [rdi + 0x23]
test ecx, ecx
je 0x1400814ab
dec ecx
je 0x140081340
dec ecx
je 0x140081314
dec ecx
je 0x140081303
mov rdx, qword [rdi + 0x28]
mov rcx, rbx
call qword [rdi + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x1400814b7
test rbx, rbx
je 0x14008130c
mov word [rbx], r14w
mov rsi, r14
jmp 0x1400814ba
lea rcx, [0x140171f30]
mov rdx, rbx
call fcn.1400056e0
cmp rax, r15
mov rsi, rax
cmove rsi, r14
test rbx, rbx
je 0x1400814ba
mov word [rbx + rsi*2], r14w
jmp 0x1400814ba
mov rcx, rdi
call fcn.140001410
cmp dword [0x14016f9f4], r14d
jne 0x140081421
cmp qword [rdi + 0x10], r14
jne 0x140081421
cmp qword [0x140176058], rdi
jne 0x14008136d
test rbx, rbx
jne 0x1400813e2
mov rcx, qword [rdi + 0x28]
lea rdx, [rsp + 0x70]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x1400813dd
mov qword [0x140176058], r14
test rbx, rbx
je 0x1400813d5
cmp dword [0x14016f9d4], r14d
je 0x1400813c2
lea rcx, str.e4z_4_3_547_4.z___3_86_z3_z8_34z_99_____az___zy
call fcn.1400dd2e0
mov r9, qword [rdi + 0x28]
mov edx, dword [0x14016f9d4]
lea rcx, [0x1401712e0]
mov r8, rax
mov qword [rsp + 0x20], r14
call fcn.14003e000
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call fcn.1400e7930
mov esi, eax
jmp 0x1400814ba
lea esi, [rax - 1]
jmp 0x1400814ba
test rbx, rbx
je 0x140081412
cmp byte [rdi + 0x23], r14b
jne 0x1400813ee
mov rax, qword [rdi + 0x10]
jmp 0x1400813f1
mov rax, rdi
test byte [rax + 0x21], 4
je 0x1400813ff
mov rcx, rdi
call fcn.14003e180
mov word [rbx], r14w
mov qword [0x140176058], r14
mov rsi, r14
jmp 0x1400814ba
mov qword [0x140176058], rdi
mov rsi, r14
jmp 0x1400814ba
mov r8, qword [rdi + 0x10]
mov rsi, r8
shr rsi, 1
test rbx, rbx
je 0x1400814ba
test r8, r8
jne 0x14008145b
cmp byte [rdi + 0x23], r14b
mov rax, rdi
cmove rax, r14
test byte [rax + 0x21], 4
je 0x140081452
mov rcx, rdi
call fcn.14003e180
mov word [rbx], r14w
mov rsi, r14
jmp 0x1400814ba
mov rdx, qword [rdi + 8]
cmp rbx, rdx
je 0x1400814ba
cmp r8, 0x186a0
jae 0x14008149c
movzx eax, word [rdx]
test ax, ax
je 0x140081495
nop word [rax + rax]
add rdx, 2
mov word [r12], ax
add r12, 2
movzx eax, word [rdx]
test ax, ax
jne 0x140081480
mov word [r12], r14w
jmp 0x1400814ba
mov rcx, rbx
call fcn.140109100
mov word [rbx + rsi*2], r14w
jmp 0x1400814ba
mov rcx, qword [rdi + 0x10]
mov rdx, rbx
call fcn.1400ea020
mov rsi, rax
movzx eax, word [r13 + 0x12]
mov rcx, qword [r13 + 0x18]
add r13, 0x18
lea rbx, [rbx + rsi*2]
lea rbp, [rbp + rax*2]
test rcx, rcx
jne 0x1400812b6
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
movzx eax, word [rbp]
mov r13, qword [rsp + 0x40]
test ax, ax
je 0x140081511
sub rbp, rbx
nop
mov word [rbx], ax
movzx eax, word [rbx + rbp + 2]
add rbx, 2
test ax, ax
jne 0x140081500
mov rbp, qword [rsp + 0x60]
mov word [rbx], r14w
mov r14, qword [rsp + 0x38]
lea rax, [rbx + 2]
add rsp, 0x50
pop rbx
ret