Function at 0x180015120
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push r12
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov r14, rcx
mov rsi, rdx
xor r15d, r15d
lea rcx, [rbp - 0x38]
xor edx, edx
mov r12d, r15d
mov dword [rbp + 0x118], r15d
call fcn.180041040
lea rcx, [rbp - 0x58]
xor edx, edx
call fcn.180041040
mov rdx, qword [rsi + 0x20]
lea rcx, [rsp + 0x50]
call fcn.18004f940
lea rcx, [rbp - 0x38]
mov rdx, qword [rax]
call fcn.180042540
lea rcx, [rsp + 0x50]
call fcn.1800403c0
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.18004f940
lea rcx, [rbp - 0x58]
mov rdx, qword [rax]
call fcn.180042540
lea rcx, [rsp + 0x50]
call fcn.1800403c0
mov rdx, qword [rbp - 0x38]
lea r8d, [r15 + 4]
lea rcx, [rbp + 0x28]
xor r9d, r9d
mov dword [rsp + 0x20], 0x80
call fcn.18005df40
mov rax, qword [rbp + 0x40]
test rax, rax
je 0x1800159bf
cmp rax, 0xffffffffffffffff
je 0x1800159bf
lea rcx, [rsi + 0x30]
mov qword [rsp + 0x210], rdi
mov qword [rsp + 0x220], r13
call fcn.18003f400
lea rcx, [rsi + 0x30]
xor edx, edx
mov edi, eax
call fcn.18003f3f0
lea rcx, [rbp + 0x28]
mov rdx, rax
mov r8d, edi
call fcn.18005d690
lea rcx, [rbp + 0x40]
xor edx, edx
call fcn.180046cd0
lea rcx, [rsi + 0x10]
call fcn.180040730
lea rcx, [rsi + 0x10]
test al, al
je 0x18001523d
mov rdx, qword [rbp - 0x38]
call fcn.180042540
jmp 0x180015331
mov edx, 0x25
call fcn.180042900
test rax, rax
je 0x180015331
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.180041040
lea rcx, [rsp + 0x50]
mov edx, 0x25
call fcn.180041110
mov edx, 0x46
mov rcx, rax
call fcn.180041110
mov edx, 0x49
mov rcx, rax
call fcn.180041110
mov edx, 0x4c
mov rcx, rax
call fcn.180041110
mov edx, 0x45
mov rcx, rax
call fcn.180041110
mov edx, 0x25
mov rcx, rax
call fcn.180041110
mov r8, qword [rsp + 0x50]
lea rdx, [rbp - 0x70]
lea rcx, [rsi + 0x10]
call fcn.180045c70
mov r8, qword [rbp - 0x38]
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.1800447a0
lea rcx, [rsi + 0x10]
mov rdx, qword [rax]
call fcn.180042540
lea rcx, [rsp + 0x78]
call fcn.1800403c0
lea rcx, [rbp - 0x70]
call fcn.1800441f0
lea rcx, [rbp - 0x28]
mov edx, 0x2800
call fcn.180041040
movsxd r8, dword [rbp - 0x20]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rsi + 0x10]
shr r8, 1
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov rdx, qword [rbp - 0x28]
lea rcx, [rsi + 0x10]
call fcn.180042540
lea rcx, [rbp - 0x28]
call fcn.1800403c0
lea rcx, [rsp + 0x50]
call fcn.1800403c0
mov rdx, qword [rsi + 0x10]
lea rcx, [rbp + 0x50]
xor r8d, r8d
mov qword [rbp - 0x18], r15
mov byte [rbp - 0x10], 1
mov qword [rbp - 8], r15
mov qword [rbp - 0x48], r15
mov byte [rbp - 0x40], 1
call fcn.1800524b0
lea rcx, [rbp]
xor edx, edx
call fcn.180041040
lea rcx, [rsp + 0x68]
xor edx, edx
call fcn.180041040
lea rcx, [rbp + 0x50]
xor edx, edx
call fcn.1800409c0
lea rcx, [rbp]
mov rdx, qword [rax]
call fcn.180042540
mov r13d, dword [rbp + 0x50]
mov ebx, 1
cmp r13d, ebx
jle 0x180015423
cmp ebx, 1
jle 0x1800153a9
lea rcx, [rsp + 0x68]
mov edx, 0x20
call fcn.180041110
lea rcx, [rbp + 0x50]
mov edx, ebx
call fcn.1800409c0
mov edx, 0x20
mov rcx, rax
mov rdi, rax
call fcn.180042900
test rax, rax
je 0x1800153e6
mov rax, qword [rdi]
cmp word [rax], 0x22
je 0x1800153e6
lea rcx, [rsp + 0x68]
mov edx, 0x22
mov dil, 1
call fcn.180041110
jmp 0x1800153e9
xor dil, dil
lea rcx, [rbp + 0x50]
mov edx, ebx
call fcn.1800409c0
lea rcx, [rsp + 0x68]
xor r8d, r8d
mov rdx, qword [rax]
call fcn.180041060
test dil, dil
je 0x180015418
lea rcx, [rsp + 0x68]
mov edx, 0x22
call fcn.180041110
inc ebx
cmp ebx, r13d
jl 0x180015395
mov r13, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x210]
cmp byte [rsi + 0xc], r12b
jne 0x180015472
mov r12d, 3
lea rdx, [rsp + 0x50]
lea rcx, [rbp]
lea r8d, [r12 + 0x2b]
call fcn.1800430c0
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.1800428a0
mov rcx, qword [rax]
call fcn.180045720
cmp eax, 0x6b63b6f0
jne 0x180015472
mov bl, 1
jmp 0x180015474
xor bl, bl
test r12b, 2
je 0x180015488
lea rcx, [rsp + 0x78]
and r12d, 0xfffffffd
call fcn.1800403c0
test r12b, 1
je 0x180015498
lea rcx, [rsp + 0x50]
call fcn.1800403c0
test bl, bl
je 0x18001560f
xor edx, edx
lea rcx, [rsp + 0x78]
lea r8d, [rdx + 0x18]
call fcn.1800462b0
mov edx, 0xb1c5c541
mov ecx, 0x89a17f76
mov dword [rsp + 0x78], 0x18
mov dword [rbp - 0x78], 1
call fcn.180048dc0
test rax, rax
je 0x180015501
mov rcx, qword [rbp - 0x58]
mov edx, 4
mov qword [rsp + 0x30], r15
lea r9, [rsp + 0x78]
lea r8d, [rdx - 1]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
call rax
mov rdx, rax
jmp 0x180015503
xor edx, edx
lea rcx, [rbp - 0x48]
call fcn.180046cd0
xor edx, edx
lea rcx, [rbp + 0x70]
lea r8d, [rdx + 0x68]
call fcn.1800462b0
mov rax, qword [rbp - 0x48]
xor edx, edx
lea rcx, [rbp - 0x70]
lea r8d, [rdx + 0x18]
mov dword [rbp + 0x70], 0x68
mov qword [rbp + 0xc8], rax
mov dword [rbp + 0xac], 0x100
call fcn.1800462b0
lea rdx, [rbp]
lea rcx, [rbp - 0x28]
call fcn.180042510
lea rcx, [rsp + 0x68]
call fcn.180040730
test al, al
jne 0x180015582
mov rbx, qword [rsp + 0x68]
lea rcx, [rbp - 0x28]
mov edx, 0x20
call fcn.180041110
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.180041060
mov edx, 0x4caf402f
mov ecx, 0x89a17f76
call fcn.180048dc0
test rax, rax
je 0x1800155d8
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x70]
xor r9d, r9d
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x40], rcx
mov rcx, qword [rbp]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], r15d
call rax
test eax, eax
jne 0x1800155d8
call fcn.18004ca20
mov rax, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x58], 1
call fcn.180046cd0
cmp byte [rsp + 0x58], r15b
je 0x180015604
lea rcx, [rsp + 0x50]
call fcn.180046c90
lea rcx, [rbp - 0x28]
call fcn.1800403c0
jmp 0x180015669
mov rbx, qword [rbp - 0x58]
lea rcx, [rsp + 0x68]
mov edx, 0x20
call fcn.180041110
mov edx, 0x3e
mov rcx, rax
call fcn.180041110
mov edx, 0x20
mov rcx, rax
call fcn.180041110
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.180041060
movzx r8d, byte [rsi + 0xc]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rbp]
call fcn.180068380
lea rcx, [rbp - 0x18]
mov rdx, rax
call fcn.180046cd0
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x18001597a
cmp rax, 0xffffffffffffffff
je 0x18001597a
mov ebx, dword [rsi + 8]
mov edx, 0xdbd1f90f
mov ecx, 0x89a17f76
mov dword [rsi + 0x48], r15d
call fcn.180048dc0
test rax, rax
je 0x1800156a1
mov rcx, qword [rsi + 0x50]
call rax
lea r8, [r14 + 0x3f0]
lea rcx, [rbp - 0x18]
xor r9d, r9d
mov edx, 0x36ee80
call fcn.18005fb30
test eax, eax
je 0x1800156d9
mov edx, 0xbb6a93e5
mov ecx, 0x89a17f76
call fcn.180048dc0
test rax, rax
je 0x1800156d9
mov rcx, qword [rbp - 0x18]
xor edx, edx
call rax
lea rcx, [rbp - 0x48]
call fcn.180046c90
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp + 0x10]
call fcn.180031990
mov rdx, qword [rbp - 0x38]
xor r9d, r9d
lea rcx, [rbp + 0x28]
lea r8d, [r9 + 4]
mov dword [rsp + 0x20], 0x80
call fcn.18005dfa0
lea rcx, [rbp + 0x40]
xor edx, edx
call fcn.180046cd0
lea rcx, [rbp - 0x38]
call fcn.18005d520
mov rdx, qword [rbp - 0x58]
xor r9d, r9d
lea rcx, [rbp + 0x28]
lea r8d, [r9 + 4]
mov dword [rsp + 0x20], 0x80
call fcn.18005dfa0
lea rcx, [rbp + 0x40]
xor edx, edx
call fcn.180046cd0
lea rcx, [rbp - 0x58]
call fcn.18005d520
lea rcx, [rbp + 0x10]
call fcn.18003f410
test al, al
jne 0x18001591a
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.18003f890
lea rcx, [rsp + 0x78]
xor edx, edx
call fcn.18003f890
xor ecx, ecx
call fcn.180046880
mov ecx, eax
call fcn.180046280
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x78]
mov r8d, 4
mov dword [rbp + 0x118], eax
call fcn.18003f9f0
mov ecx, ebx
call fcn.180046280
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x78]
mov r8d, 4
mov dword [rbp + 0x118], eax
call fcn.18003f9f0
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x78]
mov r8d, 1
mov byte [rbp + 0x118], 1
call fcn.18003f9f0
lea rcx, [rbp + 0x10]
call fcn.18003f400
lea rcx, [rbp + 0x10]
xor edx, edx
mov ebx, eax
call fcn.18003f3f0
lea rcx, [rbp - 0x70]
mov rdx, rax
mov r8d, ebx
call fcn.180037410
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x10]
call fcn.18003f970
lea rcx, [rbp - 0x70]
call fcn.18003f3e0
lea rcx, [rbp + 0x10]
call fcn.18003f400
lea rcx, [rbp + 0x10]
xor edx, edx
mov ebx, eax
call fcn.18003f3f0
lea rcx, [rbp - 0x70]
mov rdx, rax
mov r8d, ebx
call fcn.180064080
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x10]
call fcn.18003f970
lea rcx, [rbp - 0x70]
call fcn.18003f3e0
lea rcx, [rbp + 0x10]
call fcn.18003f400
lea rcx, [rbp + 0x10]
xor edx, edx
mov ebx, eax
call fcn.18003f3f0
lea rcx, [rsp + 0x78]
mov rdx, rax
mov r8d, ebx
call fcn.18003f9f0
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x50]
mov r8d, 1
mov byte [rbp + 0x118], 0x21
call fcn.18003f9f0
lea rcx, [rsp + 0x78]
call fcn.18003f400
lea rcx, [rsp + 0x78]
xor edx, edx
mov ebx, eax
call fcn.18003f3f0
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.180064080
lea rcx, [rbp - 0x70]
call fcn.18003f400
lea rcx, [rbp - 0x70]
xor edx, edx
mov ebx, eax
call fcn.18003f3f0
lea rcx, [rsp + 0x50]
mov rdx, rax
mov r8d, ebx
call fcn.18003f9f0
lea rcx, [rbp - 0x70]
call fcn.18003f3e0
lea rcx, [r14 + 0x658]
lea rdx, [rsp + 0x50]
call fcn.18002d0d0
lea rcx, [rsp + 0x78]
call fcn.18003f3e0
lea rcx, [rsp + 0x50]
call fcn.18003f3e0
lea rcx, [rbp + 0x10]
call fcn.18003f3e0
lea rcx, [rsp + 0x68]
call fcn.1800403c0
lea rcx, [rbp]
call fcn.1800403c0
lea rcx, [rbp + 0x50]
call fcn.1800441f0
cmp byte [rbp - 0x40], r15b
je 0x18001594e
lea rcx, [rbp - 0x48]
call fcn.180046c90
cmp byte [rbp - 0x10], r15b
je 0x18001595d
lea rcx, [rbp - 0x18]
call fcn.180046c90
cmp byte [rbp + 0x48], r15b
je 0x18001596c
lea rcx, [rbp + 0x40]
call fcn.180046c90
lea rcx, [rbp + 0x28]
call fcn.1800403c0
jmp 0x180015a09
lea rcx, [rsp + 0x68]
mov ebx, 0xfffffffa
call fcn.1800403c0
lea rcx, [rbp]
call fcn.1800403c0
lea rcx, [rbp + 0x50]
call fcn.1800441f0
cmp byte [rbp - 0x40], r15b
je 0x1800159aa
lea rcx, [rbp - 0x48]
call fcn.180046c90
cmp byte [rbp - 0x10], r15b
je 0x1800159b9
lea rcx, [rbp - 0x18]
call fcn.180046c90
cmp byte [rbp + 0x48], r15b
jmp 0x1800159c6
or ebx, 0xffffffff
cmp byte [rbp + 0x48], r12b
je 0x1800159d1
lea rcx, [rbp + 0x40]
call fcn.180046c90
lea rcx, [rbp + 0x28]
call fcn.1800403c0
mov edx, 0xdbd1f90f
mov ecx, 0x89a17f76
mov dword [rsi + 0x48], ebx
call fcn.180048dc0
test rax, rax
je 0x1800159f7
mov rcx, qword [rsi + 0x50]
call rax
lea rcx, [rbp - 0x38]
call fcn.18005d520
lea rcx, [rbp - 0x58]
call fcn.18005d520
lea rcx, [rbp - 0x58]
call fcn.1800403c0
lea rcx, [rbp - 0x38]
call fcn.1800403c0
mov rbx, qword [rsp + 0x228]
add rsp, 0x1e0
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret