Function at 0x140079080
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14014c228]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r13, rcx
mov byte [rcx + 8], 0
xor r12d, r12d
mov qword [rbp - 1], r12
mov qword [rbp + 7], 0xf
mov byte [rbp - 0x11], r12b
movdqa xmm0, xmmword [0x1400f5630]
movdqu xmmword [rbp + 0x1f], xmm0
mov byte [rbp + 0xf], r12b
lea rdx, str.Path
lea rcx, [rbp + 0xf]
call fcn.140078f20
lea rcx, [r13 + 0x90]
lea r8, [rbp - 0x11]
lea rdx, [rbp + 0xf]
call fcn.14007bdf0
test al, al
sete bl
mov rdx, qword [rbp + 0x27]
cmp rdx, 0x10
jb 0x140079148
inc rdx
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140079143
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140079805
call fcn.1400a7308
test bl, bl
jne 0x140079792
movdqa xmm0, xmmword [0x1400f5630]
movdqu xmmword [rbp - 0x21], xmm0
mov byte [rbp - 0x31], r12b
mov rdx, qword [rbp - 1]
add rdx, qword [0x14014c0f8]
lea rcx, [rbp - 0x31]
call fcn.140020030
lea r9, [0x14014c0e8]
cmp qword [0x14014c100], 0x10
cmovae r9, qword [0x14014c0e8]
mov rdi, qword [0x14014c0f8]
mov rcx, qword [rbp - 0x21]
mov rdx, qword [rbp - 0x19]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x1400791d2
lea rax, [rcx + rdi]
mov qword [rbp - 0x21], rax
lea rbx, [rbp - 0x31]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x31]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.1400aea90
mov byte [rbx + rdi], r12b
jmp 0x1400791e6
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x31]
call fcn.1400072f0
lea r9, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae r9, qword [rbp - 0x11]
mov rdi, qword [rbp - 1]
mov rcx, qword [rbp - 0x21]
mov rdx, qword [rbp - 0x19]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x140079237
lea rax, [rcx + rdi]
mov qword [rbp - 0x21], rax
lea rbx, [rbp - 0x31]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x31]
add rbx, rcx
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.1400aea90
mov byte [rbx + rdi], r12b
jmp 0x14007924b
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x31]
call fcn.1400072f0
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 0x10
cmovae rdx, qword [rbp - 0x31]
lea rcx, [rbp - 0x59]
call fcn.140043f20
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x14007929d
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140079298
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007980b
call fcn.1400a7308
call fcn.14000ce10
mov rcx, rax
test rax, rax
je 0x140079811
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x69], rax
lea rsi, [0x1400f4784]
mov rdi, 0xffffffffffffffff
cmp rsi, 0x10000
jae 0x1400792e4
movzx edx, si
lea rcx, [rbp - 0x69]
call fcn.14000d4c0
movzx ebx, si
jmp 0x14007930c
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rsi + rax*2], r12w
jne 0x1400792f0
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x69]
call fcn.14000fd40
mov rbx, rsi
mov byte [rsp + 0x20], r12b
lea r9, [rbp - 0x69]
lea r8, [rbp - 0x59]
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x71]
call fcn.14007bf90
mov rdx, qword [rbp - 0x69]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140079346
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp - 0x71]
cmp dword [rax - 0x10], r12d
jne 0x14007945a
call fcn.14000ce10
mov rcx, rax
test rax, rax
je 0x14007981c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x61], rax
cmp rsi, 0x10000
jae 0x14007938a
movzx edx, bx
lea rcx, [rbp - 0x61]
call fcn.14000d4c0
jmp 0x1400793a9
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rsi + rax*2], r12w
jne 0x140079390
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x61]
call fcn.14000fd40
mov byte [rsp + 0x20], 1
lea r9, [rbp - 0x61]
lea r8, [rbp - 0x59]
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x51]
call fcn.14007bf90
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x71]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140079420
cmp dword [rbx + 0x10], r12d
jl 0x140079413
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140079413
call fcn.14000c440
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x140079409
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rbp - 0x71], rax
jmp 0x140079420
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x71]
call fcn.14000fd40
mov rdx, qword [rbp - 0x51]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14007943d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x61]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14007945a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.14000ce10
mov rcx, rax
test rax, rax
je 0x140079827
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdx, [rax + 0x18]
mov qword [rbp - 0x79], rdx
mov ecx, 1
sub ecx, dword [rax + 0x10]
mov eax, dword [rax + 0xc]
sub eax, 0x105
or eax, ecx
jge 0x14007949f
mov edx, 0x105
lea rcx, [rbp - 0x79]
call fcn.14000e630
mov rdx, qword [rbp - 0x79]
mov r8d, 0x105
mov rcx, qword [rbp - 0x71]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
nop
mov rcx, qword [rbp - 0x79]
movsxd rdx, dword [rcx - 0xc]
call fcn.1400b7e14
test eax, eax
js 0x1400797fa
mov rcx, qword [rbp - 0x79]
cmp eax, dword [rcx - 0xc]
jg 0x1400797fa
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [rbp - 0x79]
mov word [rax + rcx*2], r12w
mov rax, qword [rbp - 0x79]
cmp dword [rax - 0x10], 0
je 0x140079741
lea rcx, [rbp - 0x79]
call fcn.14007bdc0
test al, al
je 0x14007973d
mov edx, 0x5c
mov rcx, qword [rbp - 0x79]
call fcn.1400adf44
mov rsi, rax
test rax, rax
je 0x14007973d
mov rax, qword [rbp - 0x79]
sub rsi, rax
sar rsi, 1
cmp esi, 0xffffffff
je 0x140079741
cmp esi, dword [rax - 0x10]
jge 0x140079741
mov r14d, r12d
test esi, esi
cmovns r14d, esi
mov rax, qword [rbp - 0x71]
cmp r14d, dword [rax - 0x10]
jl 0x14007955f
lea rcx, [rax - 0x18]
call fcn.14000c440
lea rbx, [rax + 0x18]
mov qword [rbp - 0x49], rbx
jmp 0x1400795ee
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140079576
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140079587
call fcn.14000ce10
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
mov r15, qword [rbp - 0x71]
test rcx, rcx
je 0x140079832
test r15, r15
jne 0x1400795a2
test r14d, r14d
jne 0x14007983d
mov rax, qword [rcx]
mov r8d, 2
mov edx, r14d
call qword [rax]
test rax, rax
je 0x140079848
lea rbx, [rax + 0x18]
mov qword [rbp - 0x49], rbx
test r14d, r14d
js 0x14007987b
cmp r14d, dword [rbx - 0xc]
jg 0x14007987b
mov dword [rbx - 0x10], r14d
movsxd rdx, r14d
mov word [rbx + rdx*2], r12w
mov r9d, r14d
mov r8, r15
mov rcx, rbx
call fcn.140078e90
mov rdx, rbx
mov r8, rdi
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400795f4
lea rcx, [r13 + 0x10]
call fcn.140015eb0
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140079621
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp - 0x71]
movsxd rbx, dword [rax - 0x10]
mov ecx, ebx
sub ecx, esi
sub ecx, 1
mov esi, r12d
cmovns esi, ecx
cmp esi, ebx
jl 0x140079650
lea rcx, [rax - 0x18]
call fcn.14000c440
lea rbx, [rax + 0x18]
mov qword [rbp - 0x41], rbx
jmp 0x1400796ea
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140079667
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r9, rax
test rax, rax
jne 0x140079678
call fcn.14000ce10
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov r9, rax
movsxd r14, esi
mov rdx, rbx
sub rdx, r14
mov rcx, qword [rbp - 0x71]
lea r15, [rcx + rdx*2]
test r9, r9
je 0x14007984e
test r15, r15
jne 0x14007969f
test esi, esi
jne 0x140079859
mov rax, qword [r9]
mov r8d, 2
mov edx, esi
mov rcx, r9
call qword [rax]
test rax, rax
je 0x140079864
lea rbx, [rax + 0x18]
mov qword [rbp - 0x41], rbx
test esi, esi
js 0x140079870
cmp esi, dword [rbx - 0xc]
jg 0x140079870
mov dword [rbx - 0x10], esi
mov word [rbx + r14*2], r12w
mov r9d, esi
mov r8, r15
mov rdx, r14
mov rcx, rbx
call fcn.140078e90
mov rdx, rbx
mov r8, rdi
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400796f0
lea rcx, [r13 + 0x30]
call fcn.140015eb0
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14007971d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x71]
mov r8, rdi
inc r8
cmp word [rdx + r8*2], 0
jne 0x140079724
lea rcx, [r13 + 0x70]
call fcn.140015eb0
mov byte [r13 + 8], 1
mov rax, qword [rbp - 0x79]
lea rdx, [rax - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14007975a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x71]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140079777
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x59]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140079792
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x1400797cd
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400797c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007986a
call fcn.1400a7308
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400a79f0
lea r11, [rsp + 0xe0]
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
mov ecx, 0x80070057
call fcn.14000c310
nop
call fcn.1400b7964
int3
call fcn.1400b7964
int3
mov ecx, 0x80004005
call fcn.14000c310
int3
mov ecx, 0x80004005
call fcn.14000c310
int3
mov ecx, 0x80004005
call fcn.14000c310
int3
mov ecx, 0x80004005
call fcn.14000c310
int3
mov ecx, 0x80070057
call fcn.14000c310
int3
call fcn.140010030
int3
mov ecx, 0x80004005
call fcn.14000c310
int3
mov ecx, 0x80070057
call fcn.14000c310
int3
call fcn.140010030
int3
call fcn.1400b7964
int3
mov ecx, 0x80070057
call fcn.14000c310
int3
mov ecx, 0x80070057
call fcn.14000c310
int3