Function at 0x1800c5b60
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4a8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x410], xmm6
mov qword [rbp + 0x408], 0xfffffffffffffffe
mov rdi, rcx
lea rcx, [rbp - 0x58]
call fcn.1800d4850
cmp dword [rbp - 0x58], 1
jne 0x1800c5bae
lea rcx, [rbp - 0x58]
call fcn.1800c3430
jmp 0x1800c5cf9
mov rax, qword [rbp - 0x50]
movups xmm0, xmmword [rbp - 0x48]
movaps xmmword [rbp + 0x3c0], xmm0
test rax, rax
je 0x1800c5cf9
mov qword [rbp + 0x3f8], rdi
movaps xmm0, xmmword [rbp + 0x3c0]
movups xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x3f0], rax
mov qword [rbp + 0x3a8], rax
xor edi, edi
mov r8d, 0x400
lea rcx, [rbp - 0x58]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r13, qword [0x180157c78]
mov qword [rbp + 0x3d8], r13
xorps xmm0, xmm0
movups xmmword [rbp + 0x3e0], xmm0
mov esi, 0x200
cmp rsi, 0x201
jae 0x1800c5c45
jmp 0x1800c5c90
cmp rsi, r15
mov rsi, r15
ja 0x1800c5d1e
cmp rsi, 0x201
jb 0x1800c5c90
mov r8, rsi
sub r8, rdi
mov rax, qword [rbp + 0x3e0]
sub rax, rdi
cmp rax, r8
jae 0x1800c5c70
lea rcx, [rbp + 0x3d8]
mov rdx, rdi
call fcn.1800ea7a0
mov r13, qword [rbp + 0x3d8]
mov qword [rbp + 0x3e8], rsi
mov rdi, rsi
mov r12, r13
mov r14, rsi
mov rbx, r13
jmp 0x1800c5c9d
lea rbx, [rbp - 0x58]
mov r12, rbx
mov r14d, 0x200
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp + 0x3f0]
mov rdx, rbx
mov r8d, esi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ebx, eax
test eax, eax
jne 0x1800c5ccc
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800c5d58
mov r15d, ebx
cmp rsi, r15
jne 0x1800c5c30
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1800c5c30
add rsi, rsi
cmp rsi, 0x201
jae 0x1800c5c45
jmp 0x1800c5c90
mov qword [rdi], 0
mov rax, rdi
movaps xmm6, xmmword [rbp + 0x410]
add rsp, 0x4a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp r14, r15
jb 0x1800c5e31
lea rcx, [rbp + 0x3c0]
mov rdx, r12
mov r8, r15
call fcn.1800cb0f0
mov rsi, qword [rbp + 0x3c0]
movdqu xmm6, xmmword [rbp + 0x3c8]
xor edi, edi
mov rdx, qword [rbp + 0x3e0]
test rdx, rdx
jne 0x1800c5d77
jmp 0x1800c5d8f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
shl rsi, 0x20
pxor xmm6, xmm6
mov dil, 1
mov rdx, qword [rbp + 0x3e0]
test rdx, rdx
je 0x1800c5d8f
test r13, r13
je 0x1800c5d8f
add rdx, rdx
je 0x1800c5d8f
mov r8d, 2
mov rcx, r13
call fcn.180018710
test dil, dil
je 0x1800c5df2
mov rdi, qword [rbp + 0x3f8]
mov qword [rdi], 0
cmp sil, 3
jne 0x1800c5e01
movq rax, xmm6
mov rcx, qword [rax]
mov qword [rbp + 0x400], rax
mov rax, qword [rax + 8]
call qword [rax]
mov rsi, qword [rbp + 0x400]
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1800c5ddd
mov rcx, qword [rsi]
mov r8, qword [rax + 0x10]
call fcn.180018710
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.180018710
jmp 0x1800c5e01
mov rdi, qword [rbp + 0x3f8]
mov qword [rdi], rsi
movdqu xmmword [rdi + 8], xmm6
mov rdx, qword [rbp + 0x3b0]
test rdx, rdx
je 0x1800c5d00
add rdx, rdx
je 0x1800c5d00
mov r8d, 2
mov rcx, qword [rbp + 0x3f0]
call fcn.180018710
jmp 0x1800c5d00
lea r8, str.library_std_src_syswindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r15
mov rdx, r14
call fcn.1800eb910
ud2