Function at 0x14036e040
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.1403850e0
mov rsi, qword [rbp - 0x60]
test rsi, rsi
je 0x14036e1eb
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 0x14036e110
jmp 0x14036e0f2
mov rsi, rbx
jae 0x14036e258
cmp r8, 0x201
jae 0x14036e110
mov eax, 0x200
mov qword [rbp + 0x420], rax
lea r15, [rbp - 0x60]
mov rdi, r8
jmp 0x14036e17a
sub r8, r14
sub r12, r14
cmp r12, r8
mov r12, qword [rbp + 0x428]
jae 0x14036e146
lea rcx, [rbp + 0x3f0]
mov rdx, r14
call fcn.1403b5100
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 0x14036e1a9
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14036e3a4
mov r8d, r13d
cmp rdi, r8
jne 0x14036e0e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14036e3d0
mov rsi, rbx
add rdi, rdi
mov eax, 0xffffffff
cmp rdi, rax
cmovae rdi, rax
mov r8, rdi
cmp r8, 0x201
jb 0x14036e0f2
jmp 0x14036e110
mov rdx, qword [rbp - 0x58]
mov eax, edx
and eax, 3
cmp eax, 1
jne 0x14036e24f
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 0x14036e23c
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.1400938b0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.1400938b0
mov byte [rdi + 0x18], 2
jmp 0x14036e38d
mov rdx, qword [rbp + 0x420]
cmp rdx, r8
jb 0x14036e3ea
lea rcx, [rbp + 0x3d0]
mov rdx, r15
call fcn.140372790
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 0x14036e2cd
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x410]
call fcn.1400938b0
cmp r14b, 2
jne 0x14036e345
mov rdi, qword [rbp + 0x408]
mov byte [rdi + 0x18], 2
mov eax, r15d
and eax, 3
cmp eax, 1
jne 0x14036e370
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 0x14036e330
mov r8, qword [rax + 0x10]
mov rcx, qword [rbx]
call fcn.1400938b0
mov edx, 0x18
mov r8d, 8
mov rcx, rbx
call fcn.1400938b0
jmp 0x14036e370
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 0x14036e38d
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call fcn.1400938b0
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 0x14036e2b8
jmp 0x14036e2cd
lea rcx, [0x1404bba78]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.1403b6260
jmp 0x14036e3fc
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov r8, rax
call fcn.1403b65a0
ud2