Function at 0x14001c25a
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x488
mov r14, rcx
lea rsi, [rsp + 0x88]
mov rcx, rsi
call fcn.14001bcbb
mov rdi, qword [rsi]
test rdi, rdi
je 0x14001c3fc
mov qword [rsp + 0x58], r14
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
mov r8d, 0x200
mov r13d, 2
xor ebp, ebp
xor r12d, r12d
cmp r8, 0x201
jae 0x14001c2cd
lea r14, [rsp + 0x88]
mov esi, 0x200
mov rbx, r8
jmp 0x14001c36e
sub r8, rbp
mov rax, r12
sub rax, rbp
cmp rax, r8
jae 0x14001c353
add rbp, r8
jb 0x14001c520
lea rax, [r12 + r12]
mov rsi, rax
cmp rax, rbp
ja 0x14001c2f3
mov rsi, rbp
cmp rsi, 5
jae 0x14001c2fe
mov esi, 4
xor edx, edx
mov rcx, rsi
shr rcx, 0x3e
sete cl
test r12, r12
je 0x14001c320
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x40], rax
mov eax, 2
jmp 0x14001c322
xor eax, eax
lea r8, [rsi + rsi]
mov dl, cl
add rdx, rdx
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x60]
lea r9, [rsp + 0x30]
call fcn.140007b8a
cmp qword [rsp + 0x60], 0
jne 0x14001c51a
mov r13, qword [rsp + 0x68]
mov r12, rsi
mov eax, 0xffffffff
mov rbp, r12
cmp r12, rax
jb 0x14001c365
mov ebp, 0xffffffff
mov r14, r13
mov rsi, rbp
mov rbx, rbp
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call sub.KERNEL32.dll_GetEnvironmentVariableW
mov r15d, eax
test eax, eax
jne 0x14001c393
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x14001c410
mov r8d, r15d
cmp rbx, r8
jne 0x14001c3c3
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14001c520
add rbx, rbx
mov eax, 0xffffffff
cmp rbx, rax
jb 0x14001c3bb
mov ebx, 0xffffffff
mov r8, rbx
jmp 0x14001c2af
jb 0x14001c2af
cmp rsi, r8
jb 0x14001c520
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov rdx, r14
call fcn.140019c2d
mov bl, byte [rsi + 0x18]
mov rcx, r13
mov rdx, r12
call fcn.140019c17
cmp bl, 2
jne 0x14001c448
mov rsi, qword [rsp + 0x30]
jmp 0x14001c42d
lea rcx, [rsp + 0x88]
call fcn.14001bea5
mov byte [rsp + 0x78], 2
jmp 0x14001c47a
call fcn.14001a38d
mov rsi, rax
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x48], 2
mov rcx, r13
mov rdx, r12
call fcn.140019c17
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov byte [rsp + 0x78], 2
mov rcx, rsi
call fcn.140019bba
mov bl, 2
jmp 0x14001c46a
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov bl, byte [rsp + 0x78]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rcx, rdi
mov rdx, r15
call fcn.140019c17
cmp bl, 2
jne 0x14001c493
mov byte [r14 + 0x18], 2
add rsp, 0x488
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rsi, [rsp + 0x88]
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.14001c524
mov al, byte [rsi + 0x18]
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x40], rcx
cmp al, 2
jne 0x14001c4d9
mov rax, qword [rsp + 0x40]
mov qword [r14 + 0x10], rax
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [r14], xmm0
mov byte [r14 + 0x18], 3
jmp 0x14001c47f
mov ecx, dword [rsp + 0xa1]
mov edx, dword [rsp + 0xa4]
mov dword [rsp + 0x2b], edx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x40]
mov qword [r14 + 0x10], rcx
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [r14], xmm0
mov byte [r14 + 0x18], al
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x2b]
mov dword [r14 + 0x19], eax
mov dword [r14 + 0x1c], ecx
jmp 0x14001c47f
cmp qword [rsp + 0x68], 0
ud2