Function at 0x14001d96d
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x460], 0xfffffffffffffffe
mov rsi, rcx
mov bl, 3
cmp byte [rcx + 0x19], 0
jne 0x14001dd19
mov eax, dword [0x140034264]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov bl, 1
cmp qword [rax + 0x18], 1
ja 0x14001dd19
mov bl, byte [0x1400341b8]
dec bl
cmp bl, 3
jb 0x14001dd19
lea rdx, [0x14002c41c]
lea rdi, [rbp - 0x50]
push 0xe
pop r8
mov rcx, rdi
call fcn.140019480
mov rcx, qword [rdi]
mov rax, rcx
neg rax
jno 0x14001da6f
mov rax, qword [rbp - 0x48]
mov ecx, eax
and ecx, 3
cmp ecx, 1
jne 0x14001da65
lea rcx, [rax - 1]
mov qword [rbp + 0x438], rcx
mov rcx, qword [rax - 1]
mov qword [rbp + 0x458], rcx
mov rax, qword [rax + 7]
mov qword [rbp + 0x450], rax
mov rax, qword [rax]
test rax, rax
je 0x14001da38
mov rcx, qword [rbp + 0x458]
call rax
mov rcx, qword [rbp + 0x458]
mov rax, qword [rbp + 0x450]
cmp qword [rax + 8], 0
je 0x14001da56
mov rdx, qword [rax + 0x10]
call fcn.140005630
push 8
pop rdx
mov rcx, qword [rbp + 0x438]
call fcn.140005630
mov bl, 2
mov r14b, 3
jmp 0x14001dcfa
mov qword [rbp + 0x438], rcx
mov qword [rbp + 0x440], rsi
lea rax, [rbp + 0x420]
and qword [rax], 0
mov qword [rax + 8], 2
and qword [rax + 0x10], 0
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0x458], rax
mov r8d, 0x200
push 2
pop rax
xor edi, edi
mov qword [rbp + 0x450], rax
xor esi, esi
xor r12d, r12d
cmp r8, 0x201
jae 0x14001dacf
mov r14d, 0x200
lea r13, [rbp - 0x50]
mov r15, r8
jmp 0x14001db34
sub r8, r12
sub rsi, r12
cmp rsi, r8
jae 0x14001db0b
mov qword [rsp + 0x20], 2
lea rcx, [rbp + 0x420]
mov rdx, r12
push 2
pop r9
call fcn.140024640
mov rdi, qword [rbp + 0x420]
mov rax, qword [rbp + 0x428]
mov qword [rbp + 0x450], rax
mov eax, 0xffffffff
cmp rdi, rax
mov r12d, 0xffffffff
cmovb r12, rdi
mov qword [rbp + 0x430], r12
mov rsi, rdi
mov r14, r12
mov r13, qword [rbp + 0x450]
mov r15, r12
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, qword [rbp + 0x458]
mov rdx, r13
mov r8d, r15d
call qword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov ebx, eax
test eax, eax
jne 0x14001db63
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x14001dbea
mov r8d, ebx
cmp r15, r8
jne 0x14001db91
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001e010
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
jmp 0x14001dab7
jb 0x14001dab7
cmp r14, r8
jb 0x14001e028
lea rcx, [rbp + 0x3b0]
mov rdx, r13
call fcn.1400182c0
mov rsi, qword [rbp + 0x3b0]
mov rdi, qword [rbp + 0x3b8]
mov r15, qword [rbp + 0x3c0]
cmp qword [rbp + 0x420], 0
je 0x14001dbdd
mov rcx, qword [rbp + 0x428]
push 2
pop rdx
call fcn.140005630
mov rax, rsi
neg rax
jo 0x14001dc13
jmp 0x14001dc86
call qword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
shl rdi, 0x20
cmp qword [rbp + 0x420], 0
je 0x14001dc0f
mov rcx, qword [rbp + 0x428]
push 2
pop rdx
call fcn.140005630
or rdi, 2
mov eax, edi
and eax, 3
movabs rsi, 0x8000000000000000
cmp eax, 1
jne 0x14001dc86
lea rax, [rdi - 1]
mov qword [rbp + 0x400], rax
mov rax, qword [rdi - 1]
mov qword [rbp + 0x450], rax
mov rax, qword [rdi + 7]
mov qword [rbp + 0x418], rax
mov rax, qword [rax]
test rax, rax
je 0x14001dc59
mov rcx, qword [rbp + 0x450]
call rax
mov rcx, qword [rbp + 0x450]
mov rax, qword [rbp + 0x418]
cmp qword [rax + 8], 0
je 0x14001dc77
mov rdx, qword [rax + 0x10]
call fcn.140005630
push 8
pop rdx
mov rcx, qword [rbp + 0x400]
call fcn.140005630
cmp qword [rbp + 0x438], 0
je 0x14001dc9f
push 2
pop rdx
mov rcx, qword [rbp + 0x458]
call fcn.140005630
mov bl, 2
mov r14b, 3
mov rax, rsi
neg rax
jo 0x14001dcf3
cmp r15, 4
je 0x14001dcbf
cmp r15, 1
jne 0x14001dcc7
cmp byte [rdi], 0x30
jne 0x14001dcc7
jmp 0x14001dce3
cmp dword [rdi], 0x6c6c7566
je 0x14001dcde
mov r14b, 1
test rsi, rsi
je 0x14001dcda
push 1
pop rdx
mov rcx, rdi
call fcn.140005630
xor ebx, ebx
jmp 0x14001dcf3
mov bl, 1
mov r14b, 2
test rsi, rsi
je 0x14001dcf3
push 1
pop rdx
mov rcx, rdi
call fcn.140005630
mov rsi, qword [rbp + 0x440]
xor eax, eax
lock cmpxchg byte [0x1400341b8], r14b
je 0x14001dd19
mov bl, 3
cmp al, 4
jae 0x14001dd19
shl al, 3
mov ebx, 0x2010003
mov ecx, eax
shr ebx, cl
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x3f8], rax
mov rdi, qword [rsi]
mov rax, qword [rsi + 8]
mov rsi, qword [rax + 0x18]
mov rcx, rdi
call rsi
movabs rcx, 0xb98b1b7157a64178
xor rcx, rax
movabs rax, 0x63eb502cd6cb5d6d
xor rax, rdx
or rax, rcx
jne 0x14001dd5b
push 8
pop rcx
mov rax, rdi
jmp 0x14001dd86
mov rcx, rdi
call rsi
movabs rcx, 0x963b8f751944718
xor rcx, rax
movabs rax, 0x4e05083125ba9855
xor rax, rdx
or rax, rcx
jne 0x14001dd8f
lea rax, [rdi + 8]
push 0x10
pop rcx
mov rax, qword [rax]
mov rcx, qword [rdi + rcx]
jmp 0x14001dd99
lea rax, str.Box_dyn_Any_aborting_due_to_panic_at
push 0xc
pop rcx
mov qword [rbp + 0x3e8], rax
mov qword [rbp + 0x3f0], rcx
mov eax, dword [0x140034264]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x40]
cmp rcx, 3
jb 0x14001de06
lea rax, [0x140034168]
cmp rcx, rax
je 0x14001de1d
lock inc qword [rcx - 0x10]
jle 0x14001e03d
mov qword [rbp + 0x408], 2
push 9
pop rax
lea rdx, str._unnamed_thread__panicked_at__n
adc eax, 0xf0ed
and qword [rbp + 0x408], 0
mov qword [rbp + 0x410], rax
lea rax, str.mainRUST_BACKTRACEstd_src_sys_commonwtf8.rsfailed_to_write_the_buffered_data
add byte [rdx + 4], ch
lea rcx, str.internal_error:_entered_unreachable_code_rustc_df4ca44d3fbc9301ee17f30f4d474e6ae4b05252library_alloc_src_vecmod.rs
lea r8, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
push 0x28
pop rdx
call fcn.140023780
jmp 0x14001e03d
lea rax, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.140023710
ud2