Function at 0x140013ac0
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.14001b860
mov rsi, qword [rbp - 0x60]
test rsi, rsi
je 0x140013c6b
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 0x140013b90
jmp 0x140013b72
mov rsi, rbx
jae 0x140013cd8
cmp r8, 0x201
jae 0x140013b90
mov eax, 0x200
mov qword [rbp + 0x420], rax
lea r15, [rbp - 0x60]
mov rdi, r8
jmp 0x140013bfa
sub r8, r14
sub r12, r14
cmp r12, r8
mov r12, qword [rbp + 0x428]
jae 0x140013bc6
lea rcx, [rbp + 0x3f0]
mov rdx, r14
call fcn.140059560
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 0x140013c29
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140013e24
mov r8d, r13d
cmp rdi, r8
jne 0x140013b60
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140013e50
mov rsi, rbx
add rdi, rdi
mov eax, 0xffffffff
cmp rdi, rax
cmovae rdi, rax
mov r8, rdi
cmp r8, 0x201
jb 0x140013b72
jmp 0x140013b90
mov rdx, qword [rbp - 0x58]
mov eax, edx
and eax, 3
cmp eax, 1
jne 0x140013ccf
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 0x140013cbc
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.1400490f0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.1400490f0
mov byte [rdi + 0x18], 2
jmp 0x140013e0d
mov rdx, qword [rbp + 0x420]
cmp rdx, r8
jb 0x140013e6a
lea rcx, [rbp + 0x3d0]
mov rdx, r15
call fcn.140015190
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 0x140013d4d
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x410]
call fcn.1400490f0
cmp r14b, 2
jne 0x140013dc5
mov rdi, qword [rbp + 0x408]
mov byte [rdi + 0x18], 2
mov eax, r15d
and eax, 3
cmp eax, 1
jne 0x140013df0
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 0x140013db0
mov r8, qword [rax + 0x10]
mov rcx, qword [rbx]
call fcn.1400490f0
mov edx, 0x18
mov r8d, 8
mov rcx, rbx
call fcn.1400490f0
jmp 0x140013df0
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 0x140013e0d
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call fcn.1400490f0
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 0x140013d38
jmp 0x140013d4d
lea rcx, [0x140067c4b]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.140059190
jmp 0x140013e7c
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov r8, rax
call fcn.1400593a0
ud2