Function at 0x180020a90
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xa0
mov eax, dword [rbp + 0x77]
mov r14, r8
mov ebx, dword [rbp + 0x77]
mov r12, rdx
mov r15, r9
mov rdx, rcx
lea r8d, [rax - 0x12]
mov dword [rbp - 0x51], r8d
cmp eax, r8d
jbe 0x180020dff
mov r13d, dword [rbp + 0x77]
lea rsi, [0x180000000]
mov r9d, dword [0x18006f00c]
mov r10d, dword [0x18006f018]
mov r8d, dword [0x18006f004]
mov ecx, dword [rbp - 0x51]
add eax, 0xffffff84
lea r11, [0x180060fad]
mov edi, 1
cmp eax, 0x2a
ja case.default.0x180020b26
movzx eax, byte [rsi + rax + 0x21724]
mov ecx, dword [rsi + rax*4 + 0x216d8]
add rcx, rsi
jmp rcx
mov dword [rbp + 0x77], 0x8f
nop
cmp dword [0x180072390], 0
jne 0x180020b49
mov rax, qword [0x18006f010]
cmp byte [rax], 0
jne 0x180020f26
mov r15d, 0x56
nop
cmp r15d, 0x59
jae 0x180020f26
mov eax, r15d
sub eax, 0x56
je 0x180020c8b
sub eax, 1
je 0x180020c68
cmp eax, 1
jne 0x180020f0e
mov rcx, qword [0x18006f010]
inc rcx
cmp byte [rcx], 0
je 0x180020f0e
mov qword [0x18006f010], rcx
cmp byte [rcx], 0x2d
jne 0x180020f0e
cmp byte [rcx + 1], 0
jne 0x180020f0e
mov edi, 0xc6
nop word [rax + rax]
mov eax, edi
sub eax, 0xc4
je 0x180020dff
sub eax, 1
je 0x180020c3b
cmp eax, 1
jne 0x180020c55
inc r8d
mov qword [0x18006f010], r11
mov dword [0x18006f004], r8d
cmp r10d, 0xffffffff
je 0x180020c55
mov dword [rbp - 0x39], r8d
lea rax, [rbp - 0x41]
mov dword [rbp - 0x41], r9d
lea r8, [rbp - 0x39]
mov r9d, 0x10f
mov qword [rsp + 0x20], rax
mov rdx, r14
mov dword [rbp - 0x49], r10d
lea rcx, [rbp - 0x49]
call fcn.180047fd0
mov r8d, dword [0x18006f004]
lea r11, [0x180060fad]
mov r9d, dword [0x18006f00c]
mov eax, r9d
mov r10d, dword [0x18006f018]
sub eax, r10d
add r8d, eax
mov dword [0x18006f004], r8d
jmp 0x180020c55
mov r10d, 0xffffffff
mov dword [0x18006f018], r10d
mov r9d, r10d
mov dword [0x18006f00c], r10d
mov ebx, r10d
dec edi
cmp edi, 0xc3
ja 0x180020bb0
jmp 0x180020f0e
cmp r9d, 0xffffffff
je 0x180020f0e
cmp r10d, 0xffffffff
jne 0x180020f0e
mov r10d, r8d
mov dword [0x18006f018], r8d
jmp 0x180020f0e
mov dword [0x180072390], 0
cmp r8d, dword [rdx]
jl 0x180020d5a
mov edi, 0xed
mov eax, edi
sub eax, 0xed
je 0x180020d40
sub eax, 1
je 0x180020cc8
cmp eax, 1
jne 0x180020d47
mov eax, 0xffffffff
jmp 0x180020e01
cmp r10d, 0xffffffff
je 0x180020d18
mov dword [rbp - 0x39], r8d
lea rax, [rbp - 0x49]
mov dword [rbp - 0x49], r9d
lea r8, [rbp - 0x39]
mov r9d, 0x10f
mov qword [rsp + 0x20], rax
mov rdx, r14
mov dword [rbp - 0x41], r10d
lea rcx, [rbp - 0x41]
call fcn.180047fd0
mov eax, dword [0x18006f00c]
lea r11, [0x180060fad]
sub eax, dword [0x18006f018]
mov r8d, dword [0x18006f004]
add r8d, eax
jmp 0x180020d20
cmp r9d, 0xffffffff
cmovne r8d, r9d
mov r10d, 0xffffffff
mov dword [0x18006f004], r8d
mov dword [0x18006f018], r10d
mov r9d, r10d
mov dword [0x18006f00c], r10d
jmp 0x180020d47
mov qword [0x18006f010], r11
inc edi
cmp edi, 0xf0
jb 0x180020ca3
mov edi, 1
movsxd rax, r8d
mov rcx, qword [r14 + rax*8]
mov qword [0x18006f010], rcx
cmp byte [rcx], 0x2d
jne 0x180020da3
cmp byte [rcx + 1], 0
jne 0x180020f0e
mov rcx, qword [rbp + 0x6f]
mov edx, 0x2d
call sub.VCRUNTIME140.dll_strchr
mov r9d, dword [0x18006f00c]
mov r10d, dword [0x18006f018]
mov r8d, dword [0x18006f004]
test rax, rax
jne 0x180020f0e
mov esi, 0x55
nop dword [rax + rax]
cmp esi, 0x55
je 0x180020ee9
cmp esi, 0x2fd
je 0x180020de7
cmp esi, 0x5a5
jne 0x180020ef7
mov rdx, qword [rbp + 0x4f]
lea r11, [0x180060fad]
inc r8d
mov dword [0x18006f004], r8d
jmp 0x180020b30
test byte [r12], 2
je 0x180020e41
mov edx, 0x58
mov eax, edx
sub eax, 0x58
je 0x180020e1c
cmp eax, 0x78
jne 0x180020e36
mov eax, ebx
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movsxd rax, r8d
mov ebx, edi
inc r8d
mov rcx, qword [r14 + rax*8]
mov qword [0x180072398], rcx
mov dword [0x18006f004], r8d
add edx, 0x78
cmp edx, 0x148
jb 0x180020df3
test byte [r12], 1
je 0x180020cbe
cmp r9d, 0xffffffff
jne 0x180020e61
mov r9d, r8d
mov dword [0x18006f00c], r8d
jmp 0x180020ef7
cmp r10d, 0xffffffff
je 0x180020ef7
mov edi, 0x91
mov eax, edi
sub eax, 0x91
je 0x180020e9d
cmp eax, 1
jne 0x180020edd
mov eax, r8d
sub eax, r10d
mov r10d, 0xffffffff
add r9d, eax
mov dword [0x18006f018], r10d
mov dword [0x18006f00c], r9d
jmp 0x180020edd
mov dword [rbp - 0x39], r8d
lea rax, [rbp - 0x49]
mov dword [rbp - 0x49], r9d
lea r8, [rbp - 0x39]
mov r9d, 0x10f
mov qword [rsp + 0x20], rax
mov rdx, r14
mov dword [rbp - 0x41], r10d
lea rcx, [rbp - 0x41]
call fcn.180047fd0
mov r9d, dword [0x18006f00c]
mov r10d, dword [0x18006f018]
mov r8d, dword [0x18006f004]
inc edi
cmp edi, 0x93
jb 0x180020e70
jmp 0x180020ef7
lea rax, [0x180060fad]
mov qword [0x18006f010], rax
add esi, 0x2a8
mov edi, 1
cmp esi, 0x7f8
jbe 0x180020db0
mov rdx, qword [rbp + 0x4f]
lea r11, [0x180060fad]
inc r15d
mov edi, 1
jmp 0x180020b50
mov r15, qword [rbp + 0x67]
lea rsi, [0x180000000]
jmp case.0x180020b26.142
xor ecx, ecx
lea rax, [0x18004b730]
cmp dword [rbp - 0x29], ecx
mov qword [rdx], rax
movzx eax, byte [rbp - 0x4d]
cmove ecx, eax
movzx eax, byte [rbp - 0x4c]
mov byte [rbp - 0x4d], cl
xor ecx, ecx
cmp dword [rbp - 0x31], ecx
cmove ecx, eax
mov byte [rbp - 0x4c], cl
mov r9d, dword [0x18006f00c]
mov r10d, dword [0x18006f018]
mov r8d, dword [0x18006f004]
jmp case.0x180020b26.142
mov rdx, qword [rbp + 0x7f]
test rdx, rdx
je 0x180021087
mov rcx, qword [0x18006f010]
movsxd rax, r8d
cmp rcx, qword [r14 + rax*8]
je 0x180021087
cmp byte [rcx], 0x2d
je 0x180020fa9
test byte [r12], 4
je 0x180021087
mov edi, 0x8c
nop
mov eax, edi
sub eax, 0x8c
je 0x18002102d
sub eax, 0x33
je 0x180021002
cmp eax, 0x33
jne 0x180021071
cmp r13d, 0xffffffff
je 0x180021071
mov eax, 0x99
cmp eax, 0x99
je 0x180020fea
cmp eax, 0x4686
je 0x180020dff
jmp 0x180020ff4
mov qword [0x18006f010], r11
mov ebx, r13d
add eax, 0x45ed
cmp eax, 0x8bda
jbe 0x180020fd6
jmp 0x180021071
mov eax, dword [rbp - 0x2d]
mov r8, r15
mov r9, qword [rbp + 0x6f]
mov rcx, r14
mov qword [rsp + 0x28], rdx
lea rdx, [rbp - 0x49]
mov dword [rbp - 0x49], eax
mov dword [rsp + 0x20], 0xe2
call fcn.180059570
mov r13d, eax
jmp 0x180021066
mov rcx, qword [0x18006f010]
xor esi, esi
mov dword [rbp - 0x2d], esi
movsx eax, byte [rcx]
cmp al, 0x2d
jne 0x180021049
inc qword [0x18006f010]
jmp 0x180021071
cmp al, 0x3a
je 0x180021071
mov rcx, qword [rbp + 0x6f]
mov edx, eax
call sub.VCRUNTIME140.dll_strchr
test rax, rax
mov eax, 1
cmovne esi, eax
mov dword [rbp - 0x2d], esi
mov rdx, qword [rbp + 0x7f]
lea r11, [0x180060fad]
add edi, 0x33
cmp edi, 0x125
jb 0x180020fb0
mov r8d, dword [0x18006f004]
mov rcx, qword [0x18006f010]
movsx r13d, byte [rcx]
inc rcx
mov qword [0x18006f010], rcx
cmp r13d, 0x3a
je 0x1800210e7
cmp r13d, 0x2d
jne 0x1800210ad
cmp byte [rcx], 0
jne 0x1800210e7
mov rsi, qword [rbp + 0x6f]
mov edx, r13d
mov rcx, rsi
call sub.VCRUNTIME140.dll_strchr
mov r8d, dword [0x18006f004]
mov qword [rbp - 0x21], rax
cmp rax, 0
je 0x1800210eb
mov r9d, dword [0x18006f00c]
lea rsi, [0x180000000]
mov r10d, dword [0x18006f018]
jmp case.0x180020b26.142
mov rsi, qword [rbp + 0x6f]
mov edi, 0xf4
mov eax, edi
sub eax, 0xf1
je 0x1800216cd
sub eax, 1
je 0x180021160
sub eax, 1
je 0x180021124
cmp eax, 1
jne 0x180021167
cmp r13d, 0x2d
jne 0x180021167
mov rax, qword [0x18006f010]
cmp byte [rax], 0
je 0x180020cbe
jmp 0x180021167
mov rax, qword [0x18006f010]
cmp byte [rax], 0
jne 0x18002113a
inc r8d
mov dword [0x18006f004], r8d
cmp dword [section..data], 0
je 0x180021167
cmp byte [rsi], 0x3a
je 0x180021167
mov edx, r13d
lea rcx, str.__________:_
call fcn.18005dae0
mov r8d, dword [0x18006f004]
jmp 0x180021167
mov dword [0x18006f008], r13d
dec edi
cmp edi, 0xf0
ja 0x1800210f0
jmp 0x1800210cd
lea r9, [rbp - 9]
mov qword [rbp - 9], 0
xor r8d, r8d
mov qword [rbp - 0x11], 0
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesEncodeIncrementalHandleCreate
mov dword [rbp - 0x29], eax
jmp 0x180020f5e
cmp qword [rbp + 0x7f], 0
je case.0x180020b26.142
cmp r13d, 0x57
jne case.0x180020b26.142
mov rax, qword [rbp - 0x21]
cmp byte [rax + 1], 0x3b
jne case.0x180020b26.142
mov esi, 0xa1
nop word [rax + rax]
mov eax, esi
sub eax, 0xa1
je 0x1800211ea
cmp eax, 0x66
jne 0x1800212d6
mov eax, r13d
jmp 0x180020e01
mov rax, qword [0x18006f010]
cmp byte [rax], 0
jne 0x18002128f
lea eax, [r8 + 1]
mov dword [0x18006f004], eax
cmp eax, dword [rdx]
jl 0x180021282
mov edi, 0xa0
nop dword [rax]
mov eax, edi
sub eax, 0xa0
je 0x180021246
sub eax, 0x2a
je 0x180021229
cmp eax, 0x2a
je 0x180020dff
jmp 0x180021275
mov rax, qword [rbp + 0x6f]
mov ebx, 0x3f
mov dword [0x18006f008], r13d
cmp byte [rax], 0x3a
mov eax, 0x3a
cmove ebx, eax
jmp 0x180021275
cmp dword [section..data], 0
mov qword [0x18006f010], r11
je 0x180021275
mov rax, qword [rbp + 0x6f]
cmp byte [rax], 0x3a
je 0x180021275
mov edx, r13d
lea rcx, str.err_pp_eof_in_arc_cf_code_audited
call fcn.18005dae0
lea r11, [0x180060fad]
add edi, 0x2a
cmp edi, 0x11e
jb 0x180021210
jmp 0x18002128f
cdqe
mov rcx, qword [r14 + rax*8]
mov qword [0x18006f010], rcx
mov rax, qword [rbp + 0x7f]
lea rdx, [rbp - 0x49]
mov r9, qword [rbp + 0x6f]
mov r8, r15
mov qword [rsp + 0x28], rax
mov rcx, r14
mov dword [rsp + 0x20], 0xe2
mov dword [rbp - 0x49], 0
call fcn.180059570
mov r8d, dword [0x18006f004]
lea r11, [0x180060fad]
mov rdx, qword [rbp + 0x4f]
mov r13d, eax
mov qword [0x18006f010], r11
add esi, 0x66
cmp esi, 0x16d
jb 0x1800211d0
jmp 0x1800210cd
mov r11, qword [rbp - 0x21]
inc r11
mov qword [rbp - 0x21], r11
cmp byte [r11], 0x3a
je 0x18002131d
mov rax, qword [0x18006f010]
mov ecx, dword [rbp - 0x51]
cmp byte [rax], 0
jne case.default.0x180020b26
inc r8d
mov dword [0x18006f004], r8d
jmp case.default.0x180020b26
mov esi, 0x89
mov eax, esi
sub eax, 0x88
je 0x18002142c
cmp eax, 1
jne 0x180021436
mov rcx, qword [0x18006f010]
mov qword [0x180072398], 0
cmp byte [rcx], 0
jne 0x180021415
cmp byte [r11 + 1], 0x3a
je 0x18002141c
inc r8d
mov dword [0x18006f004], r8d
cmp r8d, dword [rdx]
jl 0x18002140e
mov edi, 0x59
nop word [rax + rax]
mov eax, edi
sub eax, 0x56
je 0x180020dff
sub eax, 1
je 0x1800213d4
sub eax, 1
je 0x1800213aa
cmp eax, 1
jne 0x1800213e8
lea rax, [0x180060fad]
mov qword [0x18006f010], rax
jmp 0x1800213e8
cmp dword [section..data], 0
je 0x1800213cb
mov rax, qword [rbp + 0x6f]
cmp byte [rax], 0x3a
je 0x1800213cb
mov edx, r13d
lea rcx, str.err_pp_eof_in_arc_cf_code_audited
call fcn.18005dae0
mov dword [0x18006f008], r13d
jmp 0x1800213e8
mov rax, qword [rbp + 0x6f]
mov ebx, 0x3f
cmp byte [rax], 0x3a
mov eax, 0x3a
cmove ebx, eax
dec edi
cmp edi, 0x55
ja 0x180021380
mov r8d, dword [0x18006f004]
lea rax, [0x180060fad]
mov rdx, qword [rbp + 0x4f]
mov r11, qword [rbp - 0x21]
mov qword [0x18006f010], rax
jmp 0x180021436
movsxd rax, r8d
mov rcx, qword [r14 + rax*8]
mov qword [0x180072398], rcx
lea rax, [0x180060fad]
mov qword [0x18006f010], rax
jmp 0x180021436
inc r8d
mov dword [0x18006f004], r8d
dec esi
cmp esi, 0x87
ja 0x180021322
jmp 0x1800210cd
cmp dword [0x180072390], 0
mov ecx, dword [rbp - 0x51]
mov qword [0x180072398], 0
je case.default.0x180020b26
mov r10d, 0xffffffff
mov dword [0x18006f018], r10d
mov r9d, r10d
mov dword [0x18006f00c], r10d
jmp case.default.0x180020b26
cmp byte [rbp - 0x4d], 0
je 0x1800214e4
mov edi, 0x12
nop dword [rax + rax]
mov eax, edi
sub eax, 0x11
je 0x1800214ba
cmp eax, 1
jne 0x1800214c8
lea r8, [rbp - 1]
mov qword [rbp - 1], 0
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesDecodeIncrementalHandleCreate
mov rcx, qword [rbp - 9]
mov dword [rbp - 0x29], eax
jmp 0x1800214be
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1800214c8
call sub.RPCRT4.dll_MesHandleFree
dec edi
cmp edi, 0x10
ja 0x180021490
mov r9d, dword [0x18006f00c]
mov r10d, dword [0x18006f018]
mov r8d, dword [0x18006f004]
cmp byte [rbp - 0x4c], 0
je case.0x180020b26.142
mov edi, 0x6c
cmp edi, 0xd80
jne 0x180021531
mov rcx, qword [rbp - 0x11]
xor r9d, r9d
mov dword [rsp + 0x28], 0
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 0
call sub.RPCRT4.dll_MesIncrementalHandleReset
mov rcx, qword [rbp - 0x11]
mov dword [rbp - 0x31], eax
test rcx, rcx
je 0x180021531
call sub.RPCRT4.dll_MesHandleFree
mov dword [rbp - 0x31], eax
add edi, 0xd14
cmp edi, 0x1a28
jbe 0x1800214f3
jmp 0x180020f5e
mov rax, qword [rbp + 0x6f]
lea rcx, [rbp - 0x41]
mov r8d, 0x33
mov byte [rbp - 0x4d], 1
mov byte [rbp - 0x4c], 1
movzx eax, word [rax]
mov word [rbp - 0x41], ax
call fcn.1800100f0
jmp 0x180020f5e
mov ecx, dword [rbp - 0x51]
test r8d, r8d
jne case.default.0x180020b26
mov dword [0x180072390], edi
mov r8d, edi
mov dword [0x18006f004], edi
jmp case.default.0x180020b26
mov ecx, dword [rbp - 0x19]
call qword [sym.imp.RPCRT4.dll_I_RpcMapWin32Status]
jmp 0x180020f5e
cmp dword [0x1800a5f24], 0xffffffff
je 0x1800215af
cmp dword [0x180072390], 0
je case.0x180020b26.142
lea rcx, str.PRODUCT_VERSION
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xor ecx, ecx
test rax, rax
setne cl
mov dword [0x1800a5f24], ecx
jmp 0x180020f5e
mov qword [rsp + 0x38], 0
xor r9d, r9d
mov qword [rsp + 0x30], 0
xor edx, edx
mov qword [rsp + 0x28], 0
xor ecx, ecx
mov qword [rsp + 0x20], 0
lea r8d, [r9 + 0x56]
call fcn.18000d060
jmp 0x180020f5e
lea rcx, [rdx + 0xa]
cmp rcx, r14
je case.0x180020b26.142
cmp qword [r14 + 0x18], 0x10
mov rdx, r14
jb 0x180021622
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
call fcn.18004c5f0
jmp 0x180020f5e
lea r9, [rbp - 0x11]
mov dword [rbp - 0x19], 0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesEncodeIncrementalHandleCreate
mov dword [rbp - 0x31], eax
jmp 0x180020f5e
cmp qword [rbp + 0x6f], 0
mov dword [0x1800a5f24], 0xffffffff
je 0x180020cbe
jmp case.0x180020b26.142
mov rcx, qword [rbp + 0x6f]
movzx eax, byte [rcx]
cmp al, 0x2d
jne 0x180021678
or dword [r12], 2
jmp 0x18002168a
cmp dword [0x1800a5f24], 0
jne 0x180021685
cmp al, 0x2b
jne 0x1800216a6
and dword [r12], 0xfffffffe
movzx eax, byte [rcx]
mov r9d, dword [0x18006f00c]
mov r10d, dword [0x18006f018]
mov r8d, dword [0x18006f004]
cmp al, 0x2b
je 0x1800216aa
cmp al, 0x2d
jne case.0x180020b26.142
inc rcx
mov qword [rbp + 0x6f], rcx
mov ecx, dword [rbp - 0x51]
mov eax, dword [rbp + 0x77]
dec eax
mov dword [rbp + 0x77], eax
cmp eax, ecx
jbe 0x180020dff
mov rdx, qword [rbp + 0x4f]
jmp 0x180020afc
mov eax, 0x3f
jmp 0x180020e01