Function at 0x14002ca30
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x430], 0xfffffffffffffffe
mov rdi, rcx
lea rcx, [rbp - 0x60]
call fcn.140036040
mov rsi, qword [rbp - 0x60]
test rsi, rsi
je 0x14002cbdb
mov qword [rbp + 0x408], rdi
movups xmm0, xmmword [rbp - 0x58]
movups xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3b8], rsi
mov qword [rbp + 0x3f0], 2
xorps xmm0, xmm0
movups xmmword [rbp + 0x3f8], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x410], rax
xor eax, eax
mov qword [rbp + 0x428], rax
xor r12d, r12d
xor r14d, r14d
cmp r8, 0x201
jae 0x14002cb00
jmp 0x14002cae2
mov rsi, rbx
jae 0x14002cc48
cmp r8, 0x201
jae 0x14002cb00
mov eax, 0x200
mov qword [rbp + 0x420], rax
lea r15, [rbp - 0x60]
mov rdi, r8
jmp 0x14002cb6a
sub r8, r14
sub r12, r14
cmp r12, r8
mov r12, qword [rbp + 0x428]
jae 0x14002cb36
lea rcx, [rbp + 0x3f0]
mov rdx, r14
call fcn.140045860
mov rax, qword [rbp + 0x3f0]
mov qword [rbp + 0x410], rax
mov r12, qword [rbp + 0x3f8]
mov eax, 0xffffffff
cmp r12, rax
mov r14d, 0xffffffff
cmovb r14, r12
mov qword [rbp + 0x400], r14
mov rax, r12
mov qword [rbp + 0x428], r12
mov qword [rbp + 0x420], r14
mov r15, qword [rbp + 0x410]
mov rdi, r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, rsi
mov rcx, rsi
mov rdx, r15
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov r13d, eax
test eax, eax
jne 0x14002cb99
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14002cd94
mov r8d, r13d
cmp rdi, r8
jne 0x14002cad0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14002cdc0
mov rsi, rbx
add rdi, rdi
mov eax, 0xffffffff
cmp rdi, rax
cmovae rdi, rax
mov r8, rdi
cmp r8, 0x201
jb 0x14002cae2
jmp 0x14002cb00
mov rdx, qword [rbp - 0x58]
mov eax, edx
and eax, 3
cmp eax, 1
jne 0x14002cc3f
lea rax, [rdx - 1]
mov qword [rbp + 0x428], rax
mov rcx, qword [rdx - 1]
mov qword [rbp + 0x420], rdx
mov rax, qword [rdx + 7]
call qword [rax]
mov rax, qword [rbp + 0x420]
mov rax, qword [rax + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
mov rsi, qword [rbp + 0x428]
je 0x14002cc2c
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.140027af0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.140027af0
mov byte [rdi + 0x18], 2
jmp 0x14002cd7d
mov rdx, qword [rbp + 0x420]
cmp rdx, r8
jb 0x14002cdda
lea rcx, [rbp + 0x3d0]
mov rdx, r15
call fcn.14002f340
mov rdx, qword [rbp + 0x428]
mov r15, qword [rbp + 0x3d0]
movups xmm0, xmmword [rbp + 0x3d8]
movaps xmmword [rbp + 0x3a0], xmm0
movzx r14d, byte [rbp + 0x3e8]
mov eax, dword [rbp + 0x3e9]
mov dword [rbp + 0x418], eax
mov eax, dword [rbp + 0x3ec]
mov dword [rbp + 0x41b], eax
test rdx, rdx
je 0x14002ccbd
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x410]
call fcn.140027af0
cmp r14b, 2
jne 0x14002cd35
mov rdi, qword [rbp + 0x408]
mov byte [rdi + 0x18], 2
mov eax, r15d
and eax, 3
cmp eax, 1
jne 0x14002cd60
lea rax, [r15 - 1]
mov qword [rbp + 0x428], rax
mov rcx, qword [r15 - 1]
mov rax, qword [r15 + 7]
mov qword [rbp + 0x420], r15
call qword [rax]
mov rax, qword [rbp + 0x420]
mov rax, qword [rax + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
mov rbx, qword [rbp + 0x428]
je 0x14002cd20
mov r8, qword [rax + 0x10]
mov rcx, qword [rbx]
call fcn.140027af0
mov edx, 0x18
mov r8d, 8
mov rcx, rbx
call fcn.140027af0
jmp 0x14002cd60
movaps xmm0, xmmword [rbp + 0x3a0]
mov rdi, qword [rbp + 0x408]
movups xmmword [rdi + 8], xmm0
mov eax, dword [rbp + 0x418]
mov ecx, dword [rbp + 0x41b]
mov dword [rdi + 0x19], eax
mov dword [rdi + 0x1c], ecx
mov qword [rdi], r15
mov byte [rdi + 0x18], r14b
mov rdx, qword [rbp + 0x3c0]
test rdx, rdx
je 0x14002cd7d
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call fcn.140027af0
mov rax, rdi
add rsp, 0x4b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
shl r15, 0x20
or r15, 2
mov r14b, 2
mov rsi, rbx
mov rdx, qword [rbp + 0x428]
test rdx, rdx
jne 0x14002cca8
jmp 0x14002ccbd
lea rcx, [0x140047a63]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.140046400
jmp 0x14002cdec
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov r8, rax
call fcn.140046660
ud2