Function at 0x140085350
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x310
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov rax, qword [0x140137088]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov rdx, qword [rsp + 0x328]
lea rcx, [rsp + 0xa8]
call fcn.140008af0
nop
lea rdx, str.__r_t_n
lea rcx, [rsp + 0xa8]
call fcn.14001f990
lea rcx, [rsp + 0xa8]
call fcn.140002300
movzx eax, al
test eax, eax
je 0x1400853dc
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xa8]
call fcn.140002320
movzx eax, byte [rsp + 0x20]
jmp 0x14008571c
lea rax, [rsp + 0xf0]
mov rdi, rax
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
lea rcx, [rsp + 0xa8]
call fcn.140002310
mov r8d, 0x104
lea rdx, [rsp + 0xf0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
jbe 0x14008542d
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xa8]
call fcn.140008a00
lea rcx, [rsp + 0xa8]
call fcn.140020e90
movzx eax, al
test eax, eax
je 0x140085472
lea rdx, [rsp + 0xa8]
mov rcx, qword [rsp + 0x330]
call fcn.140008a20
mov byte [rsp + 0x21], 1
lea rcx, [rsp + 0xa8]
call fcn.140002320
movzx eax, byte [rsp + 0x21]
jmp 0x14008571c
xor r8d, r8d
mov dx, 0x22
lea rcx, [rsp + 0xa8]
call fcn.140011704
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
jne 0x140085553
mov rax, qword [rsp + 0x28]
inc rax
mov r8, rax
mov dx, 0x22
lea rcx, [rsp + 0xa8]
call fcn.140011704
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0xffffffffffffffff
je 0x140085553
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
dec rax
mov rcx, qword [rsp + 0x28]
inc rcx
mov r9, rax
mov r8, rcx
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0xa8]
call fcn.140011aa8
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x330]
call fcn.140008a50
nop
lea rcx, [rsp + 0x68]
call fcn.140002320
mov rcx, qword [rsp + 0x330]
call fcn.140020e90
movzx eax, al
test eax, eax
je 0x140085553
mov byte [rsp + 0x22], 1
lea rcx, [rsp + 0xa8]
call fcn.140002320
movzx eax, byte [rsp + 0x22]
jmp 0x14008571c
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0xc8]
call fcn.140008ad0
nop
xor eax, eax
cmp eax, 1
je 0x1400856f7
mov rax, qword [rsp + 0x28]
inc rax
mov r8, rax
mov dx, 0x20
lea rcx, [rsp + 0xa8]
call fcn.140011704
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0xffffffffffffffff
jne 0x1400855ca
mov byte [rsp + 0x23], 0
lea rcx, [rsp + 0xc8]
call fcn.140002320
nop
lea rcx, [rsp + 0xa8]
call fcn.140002320
movzx eax, byte [rsp + 0x23]
jmp 0x14008571c
mov rax, qword [rsp + 0x28]
inc rax
cmp qword [rsp + 0x30], rax
jne 0x1400855e5
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
jmp 0x14008556a
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov r9, qword [rsp + 0x30]
xor r8d, r8d
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0xa8]
call fcn.140011aa8
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0xc8]
call fcn.140008a50
nop
lea rcx, [rsp + 0x88]
call fcn.140002320
lea rcx, [rsp + 0xc8]
call fcn.1400206a0
movzx eax, al
test eax, eax
je 0x14008568e
lea rdx, [rsp + 0xc8]
mov rcx, qword [rsp + 0x330]
call fcn.140008a20
mov byte [rsp + 0x24], 1
lea rcx, [rsp + 0xc8]
call fcn.140002320
nop
lea rcx, [rsp + 0xa8]
call fcn.140002320
movzx eax, byte [rsp + 0x24]
jmp 0x14008571c
lea rdx, str..exe
lea rcx, [rsp + 0xc8]
call fcn.1400089c0
lea rcx, [rsp + 0xc8]
call fcn.1400206a0
movzx eax, al
test eax, eax
je 0x1400856f2
lea rdx, [rsp + 0xc8]
mov rcx, qword [rsp + 0x330]
call fcn.140008a20
mov byte [rsp + 0x25], 1
lea rcx, [rsp + 0xc8]
call fcn.140002320
nop
lea rcx, [rsp + 0xa8]
call fcn.140002320
movzx eax, byte [rsp + 0x25]
jmp 0x14008571c
jmp 0x14008556a
mov byte [rsp + 0x26], 0
lea rcx, [rsp + 0xc8]
call fcn.140002320
nop
lea rcx, [rsp + 0xa8]
call fcn.140002320
movzx eax, byte [rsp + 0x26]
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1400a8f20
add rsp, 0x310
pop rdi
ret