Function at 0x180017098
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1e0
mov rsi, rdx
mov r13, rcx
xor r15d, r15d
lea rcx, [rbp - 0x38]
xor edx, edx
mov dword [rbp + 0x118], r15d
mov r14d, r15d
call fcn.1800328fc
xor edx, edx
lea rcx, [rbp - 0x48]
call fcn.1800328fc
mov rdx, qword [rsi + 0x20]
lea rcx, [rsp + 0x50]
call fcn.18003a508
lea rcx, [rbp - 0x38]
mov rdx, qword [rax]
call fcn.180032abc
lea rcx, [rsp + 0x50]
call fcn.180032a74
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.18003a508
lea rcx, [rbp - 0x48]
mov rdx, qword [rax]
call fcn.180032abc
lea rcx, [rsp + 0x50]
call fcn.180032a74
mov rdx, qword [rbp - 0x38]
lea r8d, [r15 + 3]
xor r9d, r9d
mov dword [rsp + 0x20], 0x80
lea rcx, [rbp + 0x28]
call fcn.180036d58
mov rax, qword [rbp + 0x40]
inc rax
test rax, 0xfffffffffffffffe
jne 0x180017160
or ebx, 0xffffffff
jmp 0x18001760c
lea rcx, [rsi + 0x30]
call fcn.180032844
xor edx, edx
lea rcx, [rsi + 0x30]
mov edi, eax
call fcn.180031fb0
mov rdx, rax
lea rcx, [rbp + 0x28]
mov r8d, edi
call fcn.1800376a8
xor edx, edx
lea rcx, [rbp + 0x40]
call fcn.1800316b4
lea rdi, [rsi + 0x10]
mov rcx, rdi
call fcn.1800335cc
mov rcx, rdi
test al, al
je 0x1800171b1
mov rdx, qword [rbp - 0x38]
call fcn.180032abc
jmp 0x180017298
mov ebx, 0x25
mov edx, ebx
call fcn.180034330
test rax, rax
je 0x180017298
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.1800328fc
mov edx, ebx
lea rcx, [rsp + 0x50]
call fcn.180033410
lea edx, [rbx + 0x21]
mov rcx, rax
call fcn.180033410
lea edx, [rbx + 0x24]
mov rcx, rax
call fcn.180033410
lea edx, [rbx + 0x27]
mov rcx, rax
call fcn.180033410
lea edx, [rbx + 0x20]
mov rcx, rax
call fcn.180033410
mov edx, ebx
mov rcx, rax
call fcn.180033410
mov r8, qword [rsp + 0x50]
lea rdx, [rbp - 0x80]
mov rbx, qword [rbp - 0x38]
mov rcx, rdi
call fcn.180033944
mov rcx, rax
lea rdx, [rsp + 0x68]
mov r8, rbx
call fcn.180033e24
mov rcx, rdi
mov rdx, qword [rax]
call fcn.180032abc
lea rcx, [rsp + 0x68]
call fcn.180032a74
lea rcx, [rbp - 0x80]
call fcn.180032a94
mov edx, 0x2800
lea rcx, [rbp - 0x28]
call fcn.1800328fc
movsxd r8, dword [rbp - 0x20]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rdi]
shr r8, 1
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov rdx, qword [rbp - 0x28]
mov rcx, rdi
call fcn.180032abc
lea rcx, [rbp - 0x28]
call fcn.180032a74
lea rcx, [rsp + 0x50]
call fcn.180032a74
mov rdx, qword [rdi]
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 - 0x58], r15
mov byte [rbp - 0x50], 1
call fcn.18003a1d8
xor edx, edx
lea rcx, [rbp]
call fcn.1800328fc
xor edx, edx
lea rcx, [rbp - 0x68]
call fcn.1800328fc
xor edx, edx
lea rcx, [rbp + 0x50]
call fcn.180033c54
lea rcx, [rbp]
mov rdx, qword [rax]
call fcn.180032abc
mov r12d, dword [rbp + 0x50]
mov ebx, 1
cmp r12d, ebx
jle 0x180017380
lea edi, [rbx + 0x21]
cmp ebx, 1
jle 0x180017310
mov edx, 0x20
lea rcx, [rbp - 0x68]
call fcn.180033410
mov edx, ebx
lea rcx, [rbp + 0x50]
call fcn.180033c54
mov edx, 0x20
mov rcx, rax
mov r15, rax
call fcn.180034330
test rax, rax
je 0x180017348
mov rax, qword [r15]
cmp word [rax], di
je 0x180017348
mov edx, edi
lea rcx, [rbp - 0x68]
mov r15b, 1
call fcn.180033410
jmp 0x18001734b
xor r15b, r15b
mov edx, ebx
lea rcx, [rbp + 0x50]
call fcn.180033c54
lea rcx, [rbp - 0x68]
mov rdx, qword [rax]
call fcn.18003338c
test r15b, r15b
je 0x180017372
mov edx, edi
lea rcx, [rbp - 0x68]
call fcn.180033410
inc ebx
cmp ebx, r12d
jl 0x1800172fd
lea rdi, [rsi + 0x10]
xor r15d, r15d
cmp byte [rsi + 0xc], r15b
jne 0x1800173c3
mov r8d, 0x2e
lea rdx, [rsp + 0x50]
lea rcx, [rbp]
call fcn.1800353a4
mov rcx, rax
lea rdx, [rsp + 0x68]
call fcn.180034950
mov r12d, 3
mov r14d, r12d
mov rcx, qword [rax]
call fcn.180033584
cmp eax, 0x6b63b6f0
jne 0x1800173c9
mov bl, 1
jmp 0x1800173cc
mov r12d, 3
mov bl, r15b
test r14b, 2
je 0x1800173e0
and r14d, 0xfffffffd
lea rcx, [rsp + 0x68]
call fcn.180032a74
test r14b, 1
je 0x1800173f0
lea rcx, [rsp + 0x50]
call fcn.180032a74
mov r14d, 4
test bl, bl
je 0x180017561
lea edi, [r14 + 0x14]
xor edx, edx
mov r8d, edi
lea rcx, [rsp + 0x68]
call fcn.1800315e4
mov edx, 0x73552980
mov dword [rsp + 0x68], edi
mov ecx, 0x4b3193b7
mov dword [rsp + 0x78], 1
call fcn.180038c24
test rax, rax
je 0x180017459
mov rcx, qword [rbp - 0x48]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x30], r15
mov r8d, r12d
mov dword [rsp + 0x28], 0x80
mov edx, r14d
mov dword [rsp + 0x20], r14d
call rax
mov rdx, rax
jmp 0x18001745b
xor edx, edx
lea rcx, [rbp - 0x58]
call fcn.1800316b4
mov ebx, 0x68
lea rcx, [rbp + 0x70]
mov r8d, ebx
xor edx, edx
call fcn.1800315e4
mov rax, qword [rbp - 0x58]
lea rcx, [rbp - 0x80]
mov r8, rdi
mov qword [rbp + 0xc8], rax
xor edx, edx
mov dword [rbp + 0x70], ebx
mov dword [rbp + 0xac], 0x100
call fcn.1800315e4
lea rdx, [rbp]
lea rcx, [rbp - 0x28]
call fcn.1800328d4
lea rcx, [rbp - 0x68]
call fcn.1800335cc
test al, al
jne 0x1800174d4
mov rbx, qword [rbp - 0x68]
lea rcx, [rbp - 0x28]
mov edx, 0x20
call fcn.180033410
mov rdx, rbx
mov rcx, rax
call fcn.18003338c
mov edx, 0x8e3facee
mov ecx, 0x4b3193b7
call fcn.180038c24
test rax, rax
je 0x18001752a
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x48], rcx
xor r9d, r9d
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 0x18001752a
call fcn.180037ff4
mov rax, qword [rbp - 0x78]
lea rcx, [rbp - 0x18]
mov rdx, qword [rbp - 0x80]
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x58], 1
call fcn.1800316b4
cmp byte [rsp + 0x58], r15b
je 0x180017556
lea rcx, [rsp + 0x50]
call fcn.1800316cc
lea rcx, [rbp - 0x28]
call fcn.180032a74
jmp 0x1800175bb
mov rbx, qword [rbp - 0x48]
mov r14d, 0x20
mov edx, r14d
mov rcx, rdi
call fcn.180033410
lea edx, [r14 + 0x1e]
mov rcx, rax
call fcn.180033410
mov edx, r14d
mov rcx, rax
call fcn.180033410
mov rdx, rbx
mov rcx, rax
call fcn.18003338c
mov r8b, byte [rsi + 0xc]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp]
call fcn.180043af0
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.1800316b4
mov r14d, 4
mov rax, qword [rbp - 0x18]
inc rax
test rax, 0xfffffffffffffffe
jne 0x180017658
lea rcx, [rbp - 0x68]
mov ebx, 0xfffffffa
call fcn.180032a74
lea rcx, [rbp]
call fcn.180032a74
lea rcx, [rbp + 0x50]
call fcn.180032a94
cmp byte [rbp - 0x50], r15b
je 0x1800175fd
lea rcx, [rbp - 0x58]
call fcn.1800316cc
cmp byte [rbp - 0x10], r15b
je 0x18001760c
lea rcx, [rbp - 0x18]
call fcn.1800316cc
cmp byte [rbp + 0x48], r15b
je 0x18001761b
lea rcx, [rbp + 0x40]
call fcn.1800316cc
lea rcx, [rbp + 0x28]
call fcn.180032a74
mov edx, 0x194115ce
mov dword [rsi + 0x48], ebx
mov ecx, 0x4b3193b7
call fcn.180038c24
test rax, rax
je 0x180017641
mov rcx, qword [rsi + 0x50]
call rax
lea rcx, [rbp - 0x38]
call fcn.180037580
lea rcx, [rbp - 0x48]
call fcn.180037580
jmp 0x180017944
mov ebx, dword [rsi + 8]
mov edx, 0x194115ce
mov ecx, 0x4b3193b7
mov dword [rsi + 0x48], r15d
call fcn.180038c24
test rax, rax
je 0x180017679
mov rcx, qword [rsi + 0x50]
call rax
lea r8, [r13 + 0x348]
xor r9d, r9d
mov edx, 0x36ee80
lea rcx, [rbp - 0x18]
call fcn.180036bfc
test eax, eax
je 0x1800176b1
mov edx, 0x79fa7f24
mov ecx, 0x4b3193b7
call fcn.180038c24
test rax, rax
je 0x1800176b1
mov rcx, qword [rbp - 0x18]
xor edx, edx
call rax
lea rcx, [rbp - 0x58]
call fcn.1800316cc
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0x10]
call fcn.18002b488
mov rdx, qword [rbp - 0x38]
lea rcx, [rbp + 0x28]
xor r9d, r9d
mov dword [rsp + 0x20], 0x80
mov r8d, r12d
call fcn.1800373f0
xor edx, edx
lea rcx, [rbp + 0x40]
call fcn.1800316b4
lea rcx, [rbp - 0x38]
call fcn.180037580
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0x28]
xor r9d, r9d
mov dword [rsp + 0x20], 0x80
mov r8d, r12d
call fcn.1800373f0
xor edx, edx
lea rcx, [rbp + 0x40]
call fcn.1800316b4
lea rcx, [rbp - 0x48]
call fcn.180037580
lea rcx, [rbp + 0x10]
call fcn.180032388
test al, al
jne 0x1800178ea
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.180031e70
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.180031e70
xor ecx, ecx
call fcn.1800312c4
mov ecx, eax
call fcn.180031014
mov r8d, r14d
mov dword [rbp + 0x118], eax
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x68]
call fcn.180031fbc
mov ecx, ebx
call fcn.180031014
mov r8d, r14d
mov dword [rbp + 0x118], eax
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x68]
call fcn.180031fbc
mov r8d, 1
mov byte [rbp + 0x118], 1
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x68]
call fcn.180031fbc
lea rcx, [rbp + 0x10]
call fcn.180032844
xor edx, edx
lea rcx, [rbp + 0x10]
mov ebx, eax
call fcn.180031fb0
mov rdx, rax
lea rcx, [rbp - 0x80]
mov r8d, ebx
call fcn.180030bdc
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x10]
call fcn.180031f08
lea rcx, [rbp - 0x80]
call fcn.180031efc
lea rcx, [rbp + 0x10]
call fcn.180032844
xor edx, edx
lea rcx, [rbp + 0x10]
mov ebx, eax
call fcn.180031fb0
mov rdx, rax
lea rcx, [rbp - 0x80]
mov r8d, ebx
call fcn.18003f544
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x10]
call fcn.180031f08
lea rcx, [rbp - 0x80]
call fcn.180031efc
lea rcx, [rbp + 0x10]
call fcn.180032844
xor edx, edx
lea rcx, [rbp + 0x10]
mov ebx, eax
call fcn.180031fb0
mov rdx, rax
lea rcx, [rsp + 0x68]
mov r8d, ebx
call fcn.180031fbc
mov r8d, 1
mov byte [rbp + 0x118], 0x21
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x50]
call fcn.180031fbc
lea rcx, [rsp + 0x68]
call fcn.180032844
xor edx, edx
lea rcx, [rsp + 0x68]
mov ebx, eax
call fcn.180031fb0
mov rdx, rax
lea rcx, [rbp - 0x80]
mov r8d, ebx
call fcn.18003f544
lea rcx, [rbp - 0x80]
call fcn.180032844
xor edx, edx
lea rcx, [rbp - 0x80]
mov ebx, eax
call fcn.180031fb0
mov rdx, rax
lea rcx, [rsp + 0x50]
mov r8d, ebx
call fcn.180031fbc
lea rcx, [rbp - 0x80]
call fcn.180031efc
lea rcx, [r13 + 0x5b0]
lea rdx, [rsp + 0x50]
call fcn.180028a10
lea rcx, [rsp + 0x68]
call fcn.180031efc
lea rcx, [rsp + 0x50]
call fcn.180031efc
lea rcx, [rbp + 0x10]
call fcn.180031efc
lea rcx, [rbp - 0x68]
call fcn.180032a74
lea rcx, [rbp]
call fcn.180032a74
lea rcx, [rbp + 0x50]
call fcn.180032a94
cmp byte [rbp - 0x50], r15b
je 0x18001791d
lea rcx, [rbp - 0x58]
call fcn.1800316cc
cmp byte [rbp - 0x10], r15b
je 0x18001792c
lea rcx, [rbp - 0x18]
call fcn.1800316cc
cmp byte [rbp + 0x48], r15b
je 0x18001793b
lea rcx, [rbp + 0x40]
call fcn.1800316cc
lea rcx, [rbp + 0x28]
call fcn.180032a74
lea rcx, [rbp - 0x48]
call fcn.180032a74
lea rcx, [rbp - 0x38]
call fcn.180032a74
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret