Function at 0x14001f440
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x2c8
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0x2b8], 1
mov qword [rsp + 0x2c0], rax
mov rcx, qword [rsp + 0x2c0]
call fcn.14001f880
test al, 1
jne 0x14001f477
jmp 0x14001f479
jmp 0x14001f483
xor eax, eax
add rsp, 0x2c8
ret
mov rcx, qword [rsp + 0x2c0]
lea rdx, [0x1401b0a10]
call fcn.140040480
mov dword [rsp + 0x2b8], 0xbd
mov qword [rsp + 0x2c0], rax
lea rcx, [rsp + 0x98]
call fcn.140082080
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x70], eax
and dl, 1
mov byte [rsp + 0x74], dl
mov eax, dword [rsp + 0x70]
mov cl, byte [rsp + 0x74]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x2b0], rdx
mov byte [rsp + 0x2ac], cl
mov dword [rsp + 0x2a8], eax
mov byte [rsp + 0x2a7], 1
xor ecx, ecx
call fcn.1400820f0
mov ecx, eax
call sub.KERNEL32.dll_SetLastError
mov rcx, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x2b0]
mov r8d, dword [rsp + 0x2a8]
call sub.KERNEL32.dll_GetEnvironmentVariableW
mov dword [rsp + 0x2a0], eax
xor eax, eax
cmp eax, dword [rsp + 0x2a0]
setb al
or al, 0
mov cl, al
and cl, 1
mov byte [rsp + 0x29f], cl
test al, 1
jne 0x14001f595
jmp 0x14001f5b6
mov r8d, dword [rsp + 0x2a0]
lea rcx, [rsp + 0x2a8]
xor edx, edx
call fcn.1400818b0
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x60], eax
and dl, 1
mov byte [rsp + 0x64], dl
mov r8, qword [rsp + 0x68]
mov dl, byte [rsp + 0x64]
mov ecx, dword [rsp + 0x60]
call fcn.140021f50
nop
add rsp, 0x2c8
ret
test byte [rsp + 0x2a7], 1
jne 0x14001f603
jmp 0x14001f616
mov ecx, dword [rsp + 0x2a0]
mov edx, dword [rsp + 0x2a8]
cmp edx, 0
setge al
cmp ecx, edx
setb cl
and al, cl
mov byte [rsp + 0x37], al
jmp 0x14001f5c1
mov al, byte [rsp + 0x29f]
mov byte [rsp + 0x37], al
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14001f544
jmp 0x14001f586
mov eax, dword [rsp + 0x2a0]
mov dword [rsp + 0x30], eax
jmp 0x14001f62b
call fcn.140082100
mov dword [rsp + 0x298], eax
mov edx, dword [rsp + 0x298]
xor ecx, ecx
call fcn.140082110
test al, 1
jne 0x14001f707
jmp 0x14001f716
cmp dword [rsp + 0x2a0], 0
seta al
or al, 0
mov byte [rsp + 0x2f], al
jmp 0x14001f621
mov al, byte [rsp + 0x2a7]
mov byte [rsp + 0x2f], al
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14001f5cf
jmp 0x14001f5dc
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x94], eax
mov edx, dword [rsp + 0x94]
mov ecx, 0x4f8
call fcn.140081c40
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x50], eax
and dl, 1
mov byte [rsp + 0x54], dl
mov eax, dword [rsp + 0x50]
mov cl, byte [rsp + 0x54]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x88], rdx
mov byte [rsp + 0x84], cl
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
mov cl, byte [rsp + 0x84]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x2b0], rdx
mov byte [rsp + 0x2ac], cl
mov dword [rsp + 0x2a8], eax
mov byte [rsp + 0x2a7], 0
xor ecx, ecx
call fcn.1400820f0
mov ecx, eax
call sub.KERNEL32.dll_SetLastError
mov rcx, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x2b0]
mov r8d, dword [rsp + 0x2a8]
call sub.KERNEL32.dll_GetEnvironmentVariableW
mov dword [rsp + 0x2a0], eax
xor eax, eax
cmp eax, dword [rsp + 0x2a0]
setb al
or al, 0
mov cl, al
and cl, 1
mov byte [rsp + 0x29f], cl
test al, 1
jne 0x14001f7a0
jmp 0x14001f7c1
lea rax, [0x1401b0a20]
add rsp, 0x2c8
ret
mov edx, dword [rsp + 0x298]
mov ecx, 0xcb
call fcn.140082110
test al, 1
jne 0x14001f72d
jmp 0x14001f737
xor eax, eax
add rsp, 0x2c8
ret
mov edx, dword [rsp + 0x298]
lea rcx, [0x1401b0a30]
call fcn.1400833f0
mov rcx, rax
call fcn.140001df0
mov r8d, dword [rsp + 0x2a0]
lea rcx, [rsp + 0x2a8]
xor edx, edx
call fcn.1400818b0
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x40], eax
and dl, 1
mov byte [rsp + 0x44], dl
mov r8, qword [rsp + 0x48]
mov dl, byte [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
call fcn.140021f50
nop
add rsp, 0x2c8
ret
test byte [rsp + 0x2a7], 1
jne 0x14001f7fc
jmp 0x14001f80f
mov ecx, dword [rsp + 0x2a0]
mov edx, dword [rsp + 0x2a8]
cmp edx, 0
setge al
cmp ecx, edx
setb cl
and al, cl
mov byte [rsp + 0x2e], al
jmp 0x14001f7cc
mov al, byte [rsp + 0x29f]
mov byte [rsp + 0x2e], al
mov al, byte [rsp + 0x2e]
test al, 1
jne 0x14001f752
jmp 0x14001f794
jmp 0x14001f824
call fcn.140082100
mov dword [rsp + 0x298], eax
mov edx, dword [rsp + 0x298]
xor ecx, ecx
call fcn.140082110
test al, 1
jne 0x14001f830
jmp 0x14001f83f
cmp dword [rsp + 0x2a0], 0
seta al
or al, 0
mov byte [rsp + 0x2d], al
jmp 0x14001f81a
mov al, byte [rsp + 0x2a7]
mov byte [rsp + 0x2d], al
mov al, byte [rsp + 0x2d]
test al, 1
jne 0x14001f7da
jmp 0x14001f7dc
lea rcx, [0x1401b0a60]
call fcn.140001b50
lea rax, [0x1401b0a20]
add rsp, 0x2c8
ret
mov edx, dword [rsp + 0x298]
mov ecx, 0xcb
call fcn.140082110
test al, 1
jne 0x14001f856
jmp 0x14001f860
xor eax, eax
add rsp, 0x2c8
ret
mov edx, dword [rsp + 0x298]
lea rcx, [0x1401b0a30]
call fcn.1400833f0
mov rcx, rax
call fcn.140001df0
int3