Function at 0x180016310
Capabilities:
Query environment variable

Disassembly:
push rdi
push r13
push r15
sub rsp, 0x80
mov rax, qword [0x1801483c0]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r13, rdx
xor r15d, r15d
mov word [rdx], r15w
mov rdi, rcx
lea rdx, str.System
call fcn.1800dbf98
test eax, eax
jne 0x180016360
mov r8, rdi
mov edx, 0x122
mov rcx, r13
call fcn.1800592e0
mov al, 1
jmp 0x180016636
cmp word [rdi], 0x5c
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x60], r14
jne 0x1800163b6
lea r14, str.SystemRoot
mov esi, r15d
mov rbx, r14
nop word [rax + rax]
mov r8, qword [rbx + 8]
lea rdx, [rdi + 2]
mov rcx, qword [rbx]
call fcn.1800e7f94
test eax, eax
je 0x18001655d
inc esi
add rbx, 0x218
cmp esi, 1
jb 0x180016390
mov r8d, 8
lea rdx, str.Device_
mov rcx, rdi
call fcn.1800e7478
test eax, eax
jne 0x18001661d
mov r8d, 0xe
mov dword [rsp + 0x44], r15d
lea rdx, [rdi + 0x10]
lea rcx, str.HarddiskVolume
call fcn.1800e7478
test eax, eax
jne 0x180016457
lea rcx, [rdi + 0x2c]
lea r8, [rsp + 0x44]
lea rdx, [0x1801210c0]
call fcn.1800169f0
cmp eax, 1
jne 0x180016457
mov r9d, dword [rsp + 0x44]
lea eax, [r9 - 1]
cmp eax, 0x17
ja 0x180016457
add r9d, 0x42
mov word [rsp + 0x48], r15w
lea r8, [0x1801210c8]
mov edx, 3
lea rcx, [rsp + 0x48]
call fcn.180013b70
cmp eax, 0xffffffff
je 0x180016457
mov r8, r13
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.180015fe0
test al, al
jne 0x18001660e
mov r8d, 8
lea rdx, str.Device_
mov rcx, rdi
call fcn.1800e7478
test eax, eax
jne 0x180016747
mov r8d, 4
lea rdx, [rdi + 0x10]
lea rcx, str.Mup_
call fcn.1800e7478
test eax, eax
je 0x1800164e0
mov r8d, 0x11
lea rdx, [rdi + 0x10]
lea rcx, str.LanmanRedirector_
call fcn.1800e7478
test eax, eax
je 0x1800164e0
mov r8d, 6
lea rdx, [rdi + 0x10]
lea rcx, str.NwRdr_
call fcn.1800e7478
test eax, eax
je 0x1800164e0
mov r8d, 0x12
lea rdx, [rdi + 0x10]
lea rcx, str.NetWareRedirector_
call fcn.1800e7478
test eax, eax
jne 0x180016747
mov r8d, 4
lea rdx, [rdi + 0x10]
lea rcx, str.Mup_
call fcn.1800e7478
test eax, eax
jne 0x180016650
lea rsi, [rdi + 0x18]
mov r8d, 0x12
mov rdx, rsi
lea rcx, str._LanmanRedirector_
call fcn.1800e7478
test eax, eax
jne 0x1800166db
add rsi, 0x24
cmp word [rdi + 0x3c], 0x3b
jne 0x1800166db
cmp word [rdi + 0x40], 0x3a
lea rcx, [rdi + 0x40]
jne 0x1800166db
mov edx, 0x5c
call fcn.1800d735c
lea rcx, [rdi + 0x62]
cmp rax, rcx
jne 0x1800166db
add rsi, 0x28
jmp 0x1800166db
cmp esi, 0xffffffff
je 0x1800163b6
movsxd rax, esi
imul rbx, rax, 0x218
lea rsi, [rbx + r14]
cmp byte [rbx + r14 + 0x10], r15b
jne 0x18001659e
mov rcx, qword [rbx + r14]
lea rdx, [rsi + 0x12]
mov r8d, 0x100
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
dec eax
cmp eax, 0xff
ja 0x180016612
mov byte [rbx + r14 + 0x10], 1
cmp word [rsi + 0x12], r15w
je 0x18001661d
mov rax, qword [rbx + r14 + 8]
mov rbx, 0xffffffffffffffff
lea rdi, [rdi + rax*2]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2 + 0x12], r15w
jne 0x1800165c0
nop dword [rax + rax]
inc rbx
cmp word [rdi + rbx*2 + 2], r15w
jne 0x1800165d0
inc rax
add rax, rbx
cmp rax, 0x122
ja 0x18001661d
lfence
lea r8, [rsi + 0x12]
mov edx, 0x122
mov rcx, r13
call fcn.1800592e0
lea r8, [rdi + 2]
mov edx, 0x122
mov rcx, r13
call fcn.180059350
mov al, 1
jmp 0x18001661f
mov word [rsi + 0x12], r15w
mov byte [rbx + r14 + 0x10], 1
xor al, al
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1800d5000
add rsp, 0x80
pop r15
pop r13
pop rdi
ret
mov r8d, 0x11
lea rdx, [rdi + 0x10]
lea rcx, str.LanmanRedirector_
call fcn.1800e7478
test eax, eax
jne 0x180016699
cmp word [rdi + 0x32], 0x3b
lea rsi, [rdi + 0x32]
jne 0x1800166db
cmp word [rdi + 0x36], 0x3a
lea rcx, [rdi + 0x36]
jne 0x1800166db
mov edx, 0x5c
call fcn.1800d735c
lea rcx, [rdi + 0x58]
cmp rax, rcx
jne 0x1800166db
add rsi, 0x28
jmp 0x1800166db
mov r8d, 6
lea rdx, [rdi + 0x10]
lea rcx, str.NwRdr_
call fcn.1800e7478
test eax, eax
jne 0x1800166b9
lea rsi, [rdi + 0x1c]
jmp 0x1800166db
mov r8d, 0x12
lea rdx, [rdi + 0x10]
lea rcx, str.NetWareRedirector_
call fcn.1800e7478
test eax, eax
jne 0x18001661d
lea rsi, [rdi + 0x34]
test rsi, rsi
je 0x18001661d
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp word [rsi + rbx*2], r15w
jne 0x1800166f0
add rbx, 3
cmp rbx, 0x122
ja 0x18001661d
lfence
lfence
mov r9d, 2
lea r8, [0x180120f44]
mov edx, 0x122
mov rcx, r13
call fcn.1800eb918
lea rcx, [r13 + 4]
mov r8, rsi
mov edx, 0x120
mov word [rcx], r15w
call fcn.1800592e0
mov al, 1
jmp 0x18001661f
mov edx, 0x5c
lea rcx, [rdi + 0x10]
call fcn.1800d735c
mov r8d, 8
lea rdx, str.Harddisk
lea rcx, [rdi + 0x10]
mov rsi, rax
call fcn.1800e7478
test eax, eax
jne 0x1800167c1
cmp word [rdi + 0x22], 0x5c
jne 0x18001677f
lea rcx, [rdi + 0x24]
jmp 0x1800167b4
lea rcx, [rdi + 0x20]
mov r8d, 9
lea rdx, str.DmVolumes
call fcn.1800e7478
test eax, eax
jne 0x1800167c1
mov edx, 0x5c
lea rcx, [rdi + 0x34]
call fcn.1800d735c
test rax, rax
je 0x18001661d
lea rcx, [rax + 2]
mov edx, 0x5c
call fcn.1800d735c
mov rsi, rax
mov qword [rsp + 0x68], r12
mov rbx, 0xffffffffffffffff
test rsi, rsi
jne 0x1800167f0
mov rax, rbx
nop word [rax + rax]
cmp word [rdi + rax*2 + 2], r15w
lea rax, [rax + 1]
jne 0x1800167e0
lea rsi, [rdi + rax*2]
mov qword [rsp + 0x30], r15
lea rcx, str..MountPointManager
mov rbp, rsi
mov dword [rsp + 0x28], 0x40
sub rbp, rdi
mov byte [rsp + 0x40], r15b
xor r9d, r9d
sar rbp, 1
mov edx, 0x80
mov dword [rsp + 0x20], 3
mov r8d, 7
call qword [0x180148138]
mov r12, rax
cmp rax, rbx
je 0x1800169a6
lea rcx, [rbp*2 + 6]
mov dword [rsp + 0x48], r15d
call fcn.1800db928
mov ecx, 0x200
mov r15, rax
call fcn.1800db928
mov r14, rax
test r15, r15
je 0x18001698d
test rax, rax
je 0x18001698d
movzx ecx, bp
lea rdx, [rbp + 1]
add cx, cx
mov r8, rdi
mov word [r15], cx
lea rcx, [r15 + 2]
call fcn.1800592e0
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea ebp, [rbp*2 + 4]
mov dword [rsp + 0x28], 0x200
mov r9d, ebp
mov r8, r15
mov qword [rsp + 0x20], r14
mov edx, 0x6d0030
mov rcx, r12
call qword [0x180148148]
test eax, eax
jne 0x180016933
cmp dword [r14], eax
je 0x18001698d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
jne 0x18001698d
mov edi, dword [r14]
mov rcx, r14
call fcn.1800db930
mov ecx, edi
call fcn.1800db928
mov r14, rax
test rax, rax
je 0x18001698d
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov r9d, ebp
mov dword [rsp + 0x28], edi
mov r8, r15
mov edx, 0x6d0030
mov qword [rsp + 0x20], r14
mov rcx, r12
call qword [0x180148148]
test eax, eax
je 0x18001698d
lea r8, [r14 + 4]
mov rax, rbx
nop word [rax + rax]
inc rax
cmp word [r8 + rax*2], 0
jne 0x180016940
nop dword [rax + rax]
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x180016950
inc rax
add rax, rbx
cmp rax, 0x122
ja 0x18001698d
lfence
mov edx, 0x122
mov rcx, r13
call fcn.1800592e0
mov r8, rsi
mov edx, 0x122
mov rcx, r13
call fcn.180059350
mov byte [rsp + 0x40], 1
mov rcx, r14
call fcn.1800db930
mov rcx, r15
call fcn.1800db930
mov rcx, r12
call qword [0x180148118]
movzx eax, byte [rsp + 0x40]
mov r12, qword [rsp + 0x68]
jmp 0x18001661f