Function at 0x14006b8d0
Capabilities:
Query environment variable

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x338], rbx
mov rax, qword [0x14011c018]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov qword [rsp + 0x40], r8
mov r13, rdx
mov rsi, rcx
xor edi, edi
call fcn.140001ca0
mov rbx, rax
cmp qword [rax + 0x10], rdi
jne 0x14006b92f
xor al, al
jmp 0x14006c282
lea rcx, [rsp + 0x58]
call fcn.140001fec
nop
mov rax, rbx
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x14006b94a
mov rax, qword [rbx]
mov r12, 0xffffffffffffffff
cmp word [rax], 0x40
jne 0x14006b989
mov r8, qword [rbx + 0x10]
dec r8d
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.140006840
nop
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140002dcc
nop
lea rcx, [rsp + 0x78]
call fcn.140001c70
jmp 0x14006bb7c
mov rcx, rsi
call fcn.140001ca0
lea rcx, [rsp + 0x58]
cmp rcx, rax
je 0x14006bb7c
mov r12, rbx
cmp rdx, 8
jb 0x14006b9ab
mov r12, qword [rbx]
mov r14, qword [rbx + 0x10]
lea rcx, [rsp + 0x58]
call fcn.140001ca0
mov rsi, rax
mov r15, qword [rax + 0x18]
cmp r14, r15
ja 0x14006b9fb
mov rbx, rax
cmp r15, 8
jb 0x14006b9d1
mov rbx, qword [rax]
mov qword [rax + 0x10], r14
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.140001ddc
mov word [rsp + 0x20], di
lea rcx, [rbx + r14*2]
lea rdx, [rsp + 0x20]
call fcn.140001dd4
jmp 0x14006bb75
lea rcx, [rsp + 0x58]
call fcn.140001f74
cmp r14, rax
ja 0x14006c2b2
lea rcx, [rsp + 0x58]
call fcn.140001f74
mov rbx, rax
lea rcx, [rsp + 0x58]
call fcn.140001ca0
mov rcx, r14
or rcx, 7
mov qword [rsp + 0x38], rcx
cmp rcx, rbx
ja 0x14006ba66
mov rdx, qword [rax + 0x18]
mov rcx, rdx
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdx, rax
ja 0x14006ba66
lea rax, [rcx + rdx]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.140001d84
mov rbx, qword [rax]
lea rax, [rbx + 1]
lea rdx, [rax + rax]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
jbe 0x14006ba89
mov rax, 0xffffffffffffffff
mov rdx, rax
jmp 0x14006ba99
cmp rdx, 0x1000
jb 0x14006bac3
mov rax, 0xffffffffffffffff
lea rcx, [rdx + 0x27]
cmp rcx, rdx
cmovbe rcx, rax
call fcn.1400a08c4
mov rcx, rax
test rax, rax
je 0x14006c2b8
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14006bad5
test rdx, rdx
je 0x14006bad2
mov rcx, rdx
call fcn.1400a08c4
jmp 0x14006bad5
mov rax, rdi
mov qword [rsp + 0x28], rax
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rbx
mov rbx, qword [rsp + 0x28]
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.140001ddc
mov word [rsp + 0x20], di
lea rcx, [rbx + r14*2]
lea rdx, [rsp + 0x20]
call fcn.140001dd4
cmp r15, 8
jb 0x14006bb4d
mov rcx, qword [rsi]
lea rdx, [r15*2 + 2]
cmp rdx, 0x1000
jb 0x14006bb3e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14006c2be
mov rcx, r8
call fcn.1400a0900
mov rax, qword [rsp + 0x28]
mov qword [rsi], rax
jmp 0x14006bb75
mov rcx, rsi
call fcn.140001ca0
mov rdx, rax
mov ecx, 8
call fcn.140001bf0
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140001ca0
mov rcx, qword [rax]
mov qword [rbx], rcx
mov r12, 0xffffffffffffffff
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.1400a2390
lea rcx, [rsp + 0x58]
call fcn.140001c60
mov rcx, rax
mov r8d, 0x104
lea rdx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov ebx, eax
cmp eax, 0x104
jb 0x14006bdd8
mov eax, 2
mul rbx
cmovo rax, r12
mov rcx, rax
call fcn.1400a10cc
mov r12, rax
lea rcx, [rsp + 0x58]
call fcn.140001c60
mov rcx, rax
mov r8d, ebx
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov rcx, r12
call fcn.140001de4
mov r14, rax
lea rcx, [rsp + 0x58]
call fcn.140001ca0
mov rsi, rax
mov r15, qword [rax + 0x18]
cmp r14, r15
ja 0x14006bc46
mov rbx, rax
cmp r15, 8
jb 0x14006bc14
mov rbx, qword [rax]
mov qword [rax + 0x10], r14
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.140001ddc
mov word [rsp + 0x20], di
lea rcx, [rbx + r14*2]
lea rdx, [rsp + 0x20]
call fcn.140001dd4
mov rcx, r12
call fcn.1400a0900
jmp 0x14006bf9e
lea rcx, [rsp + 0x58]
call fcn.140001f74
cmp r14, rax
ja 0x14006c2c4
lea rcx, [rsp + 0x58]
call fcn.140001f74
mov rbx, rax
lea rcx, [rsp + 0x58]
call fcn.140001ca0
mov rcx, r14
or rcx, 7
mov qword [rsp + 0x30], rcx
cmp rcx, rbx
ja 0x14006bcb1
mov rdx, qword [rax + 0x18]
mov rcx, rdx
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdx, rax
ja 0x14006bcb1
lea rax, [rcx + rdx]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140001d84
mov rbx, qword [rax]
lea rax, [rbx + 1]
lea rdx, [rax + rax]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
jbe 0x14006bcd4
mov rax, 0xffffffffffffffff
mov rdx, rax
jmp 0x14006bce4
cmp rdx, 0x1000
jb 0x14006bd0e
mov rax, 0xffffffffffffffff
lea rcx, [rdx + 0x27]
cmp rcx, rdx
cmovbe rcx, rax
call fcn.1400a08c4
mov rcx, rax
test rax, rax
je 0x14006c2ca
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14006bd20
test rdx, rdx
je 0x14006bd1d
mov rcx, rdx
call fcn.1400a08c4
jmp 0x14006bd20
mov rax, rdi
mov qword [rsp + 0x28], rax
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rbx
mov rbx, qword [rsp + 0x28]
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.140001ddc
mov word [rsp + 0x20], di
lea rcx, [rbx + r14*2]
lea rdx, [rsp + 0x20]
call fcn.140001dd4
cmp r15, 8
jb 0x14006bda3
mov rcx, qword [rsi]
lea rdx, [r15*2 + 2]
cmp rdx, 0x1000
jb 0x14006bd89
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14006c2d0
mov rcx, r8
call fcn.1400a0900
mov rax, qword [rsp + 0x28]
mov qword [rsi], rax
mov rcx, r12
call fcn.1400a0900
jmp 0x14006bf9e
mov rcx, rsi
call fcn.140001ca0
mov rdx, rax
mov ecx, 8
call fcn.140001bf0
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140001ca0
mov rcx, qword [rax]
mov qword [rbx], rcx
mov rcx, r12
call fcn.1400a0900
jmp 0x14006bf9e
lea rcx, [rbp - 0x40]
call fcn.140001de4
mov r14, rax
lea rcx, [rsp + 0x58]
call fcn.140001ca0
mov rsi, rax
mov r15, qword [rax + 0x18]
cmp r14, r15
ja 0x14006be31
mov rbx, rax
cmp r15, 8
jb 0x14006be06
mov rbx, qword [rax]
mov qword [rax + 0x10], r14
mov r8, r14
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.140001ddc
mov word [rsp + 0x20], di
lea rcx, [rbx + r14*2]
lea rdx, [rsp + 0x20]
call fcn.140001dd4
jmp 0x14006bf9e
lea rcx, [rsp + 0x58]
call fcn.140001f74
cmp r14, rax
ja 0x14006c2d6
lea rcx, [rsp + 0x58]
call fcn.140001f74
mov rbx, rax
lea rcx, [rsp + 0x58]
call fcn.140001ca0
mov rcx, r14
or rcx, 7
mov qword [rsp + 0x30], rcx
cmp rcx, rbx
ja 0x14006be9c
mov rdx, qword [rax + 0x18]
mov rcx, rdx
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdx, rax
ja 0x14006be9c
lea rax, [rcx + rdx]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140001d84
mov rbx, qword [rax]
lea rax, [rbx + 1]
lea rdx, [rax + rax]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
jbe 0x14006beb8
mov rdx, r12
jmp 0x14006bec1
cmp rdx, 0x1000
jb 0x14006beeb
lea rcx, [rdx + 0x27]
cmp rcx, rdx
cmovbe rcx, r12
call fcn.1400a08c4
mov rcx, rax
test rax, rax
je 0x14006c2dc
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14006befd
test rdx, rdx
je 0x14006befa
mov rcx, rdx
call fcn.1400a08c4
jmp 0x14006befd
mov rax, rdi
mov qword [rsp + 0x28], rax
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rbx
mov rbx, qword [rsp + 0x28]
mov r8, r14
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.140001ddc
mov word [rsp + 0x20], di
lea rcx, [rbx + r14*2]
lea rdx, [rsp + 0x20]
call fcn.140001dd4
cmp r15, 8
jb 0x14006bf76
mov rcx, qword [rsi]
lea rdx, [r15*2 + 2]
cmp rdx, 0x1000
jb 0x14006bf67
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14006c2e2
mov rcx, r8
call fcn.1400a0900
mov rax, qword [rsp + 0x28]
mov qword [rsi], rax
jmp 0x14006bf9e
mov rcx, rsi
call fcn.140001ca0
mov rdx, rax
mov ecx, 8
call fcn.140001bf0
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140001ca0
mov rcx, qword [rax]
mov qword [rbx], rcx
lea rdx, [0x1400ecfbc]
lea rcx, [rbp - 0x68]
call fcn.140001c78
nop
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x58]
call fcn.140002d5c
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14006c076
mov r8d, esi
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x78]
call fcn.1400067e0
nop
mov rdx, rax
mov rcx, r13
call fcn.140002dcc
nop
lea rcx, [rsp + 0x78]
call fcn.140001c70
mov r14, qword [rsp + 0x40]
test r14, r14
je 0x14006c06f
lea rcx, [rsp + 0x58]
call fcn.140001ca0
mov rbx, qword [rax + 0x10]
lea rcx, [rbp - 0x68]
call fcn.140001ca0
sub ebx, dword [rax + 0x10]
sub ebx, esi
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x78]
call fcn.140006840
nop
lea rcx, [rsp + 0x78]
call fcn.140001c60
movzx ecx, word [rax]
cmp cx, 0x30
jb 0x14006c062
nop
cmp cx, 0x39
ja 0x14006c062
lea rdi, [rdi + rdi*4]
movzx ecx, cx
lea rdi, [rdi - 0x18]
lea rdi, [rcx + rdi*2]
add rax, 2
movzx ecx, word [rax]
cmp cx, 0x30
jae 0x14006c040
mov dword [r14], edi
lea rcx, [rsp + 0x78]
call fcn.140001c70
mov bl, 1
jmp 0x14006c26b
lea rcx, [rsp + 0x58]
call fcn.140001ca0
cmp r13, rax
je 0x14006c262
lea rcx, [rsp + 0x58]
call fcn.140001ca0
mov r12, rax
cmp qword [rax + 0x18], 8
jb 0x14006c0a0
mov r12, qword [rax]
mov r14, qword [rax + 0x10]
mov rcx, r13
call fcn.140001ca0
mov rsi, rax
mov r15, qword [rax + 0x18]
cmp r14, r15
ja 0x14006c0ee
mov rbx, rax
cmp r15, 8
jb 0x14006c0c4
mov rbx, qword [rax]
mov qword [rax + 0x10], r14
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.140001ddc
mov word [rsp + 0x20], di
lea rcx, [rbx + r14*2]
lea rdx, [rsp + 0x20]
call fcn.140001dd4
jmp 0x14006c262
mov rcx, r13
call fcn.140001f74
cmp r14, rax
ja 0x14006c2e8
mov rcx, r13
call fcn.140001f74
mov rbx, rax
mov rcx, r13
call fcn.140001ca0
mov rcx, r14
or rcx, 7
mov qword [rsp + 0x30], rcx
cmp rcx, rbx
ja 0x14006c153
mov rdx, qword [rax + 0x18]
mov rcx, rdx
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp rdx, rax
ja 0x14006c153
lea rax, [rdx + rcx]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.140001d84
mov rbx, qword [rax]
lea rax, [rbx + 1]
lea rdx, [rax + rax]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
jbe 0x14006c176
mov rax, 0xffffffffffffffff
mov rdx, rax
jmp 0x14006c186
cmp rdx, 0x1000
jb 0x14006c1b0
mov rax, 0xffffffffffffffff
lea rcx, [rdx + 0x27]
cmp rcx, rdx
cmovbe rcx, rax
call fcn.1400a08c4
mov rcx, rax
test rax, rax
je 0x14006c2ee
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14006c1c2
test rdx, rdx
je 0x14006c1bf
mov rcx, rdx
call fcn.1400a08c4
jmp 0x14006c1c2
mov rax, rdi
mov qword [rsp + 0x28], rax
mov qword [rsi + 0x10], r14
mov qword [rsi + 0x18], rbx
mov rbx, qword [rsp + 0x28]
mov r8, r14
mov rdx, r12
mov rcx, rbx
call fcn.140001ddc
mov word [rsp + 0x20], di
lea rcx, [rbx + r14*2]
lea rdx, [rsp + 0x20]
call fcn.140001dd4
cmp r15, 8
jb 0x14006c23a
mov rcx, qword [rsi]
lea rdx, [r15*2 + 2]
cmp rdx, 0x1000
jb 0x14006c22b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14006c2ac
mov rcx, r8
call fcn.1400a0900
mov rax, qword [rsp + 0x28]
mov qword [rsi], rax
jmp 0x14006c262
mov rcx, rsi
call fcn.140001ca0
mov rdx, rax
mov ecx, 8
call fcn.140001bf0
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140001ca0
mov rcx, qword [rax]
mov qword [rbx], rcx
cmp qword [rsp + 0x40], 0
sete bl
lea rcx, [rbp - 0x68]
call fcn.140001c70
nop
lea rcx, [rsp + 0x58]
call fcn.140001c70
movzx eax, bl
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1400a08a0
mov rbx, qword [rsp + 0x338]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400a4d80
nop
call fcn.140001f60
int3
call fcn.1400a4d80
int3
call fcn.1400a4d80
int3
call fcn.140001f60
int3
call fcn.1400a4d80
int3
call fcn.1400a4d80
int3
call fcn.140001f60
int3
call fcn.1400a4d80
int3
call fcn.1400a4d80
nop
call fcn.140001f60
int3
call fcn.1400a4d80
int3