Function at 0x140003930
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.14000a970
mov rsi, qword [rbp - 0x60]
test rsi, rsi
je 0x140003adb
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 0x140003a00
jmp 0x1400039e2
mov rsi, rbx
jae 0x140003b48
cmp r8, 0x201
jae 0x140003a00
mov eax, 0x200
mov qword [rbp + 0x420], rax
lea r15, [rbp - 0x60]
mov rdi, r8
jmp 0x140003a6a
sub r8, r14
sub r12, r14
cmp r12, r8
mov r12, qword [rbp + 0x428]
jae 0x140003a36
lea rcx, [rbp + 0x3f0]
mov rdx, r14
call fcn.140019b40
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 0x140003a99
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140003c94
mov r8d, r13d
cmp rdi, r8
jne 0x1400039d0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140003cc0
mov rsi, rbx
add rdi, rdi
mov eax, 0xffffffff
cmp rdi, rax
cmovae rdi, rax
mov r8, rdi
cmp r8, 0x201
jb 0x1400039e2
jmp 0x140003a00
mov rdx, qword [rbp - 0x58]
mov eax, edx
and eax, 3
cmp eax, 1
jne 0x140003b3f
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 0x140003b2c
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.1400011a0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.1400011a0
mov byte [rdi + 0x18], 2
jmp 0x140003c7d
mov rdx, qword [rbp + 0x420]
cmp rdx, r8
jb 0x140003cda
lea rcx, [rbp + 0x3d0]
mov rdx, r15
call fcn.140004790
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 0x140003bbd
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x410]
call fcn.1400011a0
cmp r14b, 2
jne 0x140003c35
mov rdi, qword [rbp + 0x408]
mov byte [rdi + 0x18], 2
mov eax, r15d
and eax, 3
cmp eax, 1
jne 0x140003c60
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 0x140003c20
mov r8, qword [rax + 0x10]
mov rcx, qword [rbx]
call fcn.1400011a0
mov edx, 0x18
mov r8d, 8
mov rcx, rbx
call fcn.1400011a0
jmp 0x140003c60
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 0x140003c7d
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call fcn.1400011a0
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 0x140003ba8
jmp 0x140003bbd
lea rcx, [0x14001b69b]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14001a520
jmp 0x140003cec
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov r8, rax
call fcn.14001a780
ud2