Function at 0x140013ddf
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x528
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x4a0], 0xfffffffffffffffe
mov byte [rbp + 0x49f], r9b
mov qword [rbp + 0x408], rcx
mov qword [rbp + 0x410], rdx
mov qword [rbp + 0x430], r8
lock inc qword [0x14001f1d0]
jle 0x1400149b0
mov eax, dword [0x14001f248]
mov r8, qword gs:[0x58]
mov rax, qword [r8 + rax*8]
cmp byte [rax + 0x20], 0
jne 0x140014a28
mov eax, dword [0x14001f248]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
inc qword [rax + 0x18]
mov byte [rax + 0x20], 1
mov eax, dword [0x14001f1b0]
cmp eax, 0x3ffffffd
ja 0x140013fa9
lea ecx, [rax + 1]
lock cmpxchg dword [0x14001f1b0], ecx
jne 0x140013fa9
mov bl, byte [rbp + 0x510]
mov al, byte [0x14001f1b8]
cmp qword [0x14001f1c0], 0
jne 0x1400140c5
mov rdi, qword [rbp + 0x430]
mov r14, qword [rbp + 0x408]
mov r15, qword [rbp + 0x410]
mov rcx, r14
call qword [r15 + 0x28]
mov r12, rax
mov r13, rdx
mov sil, 3
test bl, bl
jne 0x140013f09
mov eax, dword [0x14001f248]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov sil, 1
cmp qword [rax + 0x18], 1
ja 0x140013f09
mov sil, byte [0x14001f1a8]
dec sil
cmp sil, 3
jae 0x14001419b
mov eax, dword [0x14001f1b0]
cmp eax, 0x3fffffff
jne 0x140013fd1
push 0xffffffffffffff9d
pop rcx
pause
mov eax, dword [0x14001f1b0]
cmp eax, 0x3fffffff
jne 0x140013fd1
lea edx, [rcx + 1]
test ecx, ecx
mov ecx, edx
jne 0x140013fb9
push 0xffffffffffffff9d
pop rbx
lea rsi, [0x14001f1b0]
lea rdi, [rbp - 0x50]
push 4
pop r14
push 0xffffffffffffffff
pop r15
mov r12, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
and ecx, 0x3fffffff
cmp ecx, 0x3ffffffe
setb dl
cmp eax, 0x40000000
setb r8b
test r8b, dl
je 0x140014026
lea ecx, [rax + 1]
lock cmpxchg dword [0x14001f1b0], ecx
jne 0x140013ff5
jmp 0x140013e92
cmp ecx, 0x3ffffffe
je 0x140014094
bt eax, 0x1e
jb 0x140014048
mov ecx, eax
or ecx, 0x40000000
lock cmpxchg dword [0x14001f1b0], ecx
jne 0x140013ff5
jmp 0x14001404a
mov ecx, eax
mov dword [rbp - 0x50], ecx
mov rcx, rsi
mov rdx, rdi
mov r8, r14
mov r9d, r15d
call r12
cmp eax, 1
je 0x140014064
call r13
mov eax, dword [0x14001f1b0]
cmp eax, 0x3fffffff
jne 0x140013ff5
mov ecx, ebx
pause
mov eax, dword [0x14001f1b0]
lea edx, [rcx + 1]
cmp eax, 0x3fffffff
jne 0x140013ff5
test ecx, ecx
mov ecx, edx
jne 0x140014073
jmp 0x140013ff5
lea rax, str.too_many_active_read_locks_on_RwLock
lea rcx, [rbp - 0x50]
mov qword [rcx], rax
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 8
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str.std_src_sys_sync_rwlock_futex.rs
call fcn.1400161e0
mov rsi, qword [rbp + 0x430]
mov r14, qword [rbp + 0x408]
mov r15, qword [rbp + 0x410]
mov rcx, r14
call qword [r15 + 0x28]
lea r8, [rbp - 0x50]
mov qword [r8], rax
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], rsi
mov al, byte [rbp + 0x49f]
mov byte [r8 + 0x18], al
mov byte [r8 + 0x19], bl
mov rcx, qword [0x14001f1c0]
mov rax, qword [0x14001f1c8]
mov rdx, r8
call qword [rax + 0x28]
mov al, byte [0x14001f150]
push 0x1e
pop rcx
call fcn.140011be0
test rax, rax
jne 0x1400141c8
push 2
pop rcx
push 0x1e
pop rdx
call fcn.14001609d
jmp 0x1400141c6
mov qword [rbp + 0x488], r13
mov qword [rbp + 0x480], rdi
mov qword [rbp + 0x478], r12
mov qword [rbp + 0x470], r15
mov qword [rbp + 0x468], r14
lea rcx, [rbp - 0x50]
mov qword [rcx], 0xf
mov qword [rcx + 8], rax
and qword [rcx + 0x10], 0
xor r13d, r13d
lea rsi, [0x140019994]
push 0xe
pop rdi
push 0xffffffffffffffff
pop r14
xor r15d, r15d
xor ebx, ebx
test bx, bx
jne 0x14001429e
cmp r15, 0xe
je 0x140014352
mov dl, byte [r15 + rsi]
movzx ebx, dl
test bl, bl
js 0x140014238
inc r15
jmp 0x14001429e
mov ecx, ebx
and ecx, 0x1f
movzx r8d, byte [r15 + rsi + 1]
and r8d, 0x3f
cmp bl, 0xdf
jbe 0x14001427f
movzx ebx, byte [r15 + rsi + 2]
shl r8d, 6
and ebx, 0x3f
or ebx, r8d
cmp dl, 0xf0
jb 0x14001428d
movzx edx, byte [r15 + rsi + 3]
add r15, 4
and ecx, 7
shl ecx, 0x12
shl ebx, 6
and edx, 0x3f
or edx, ebx
or edx, ecx
mov ebx, edx
jmp 0x140014296
add r15, 2
shl ecx, 6
or ecx, r8d
mov ebx, ecx
jmp 0x14001429e
add r15, 3
shl ecx, 0xc
or ebx, ecx
cmp ebx, 0xffff
ja 0x1400142f7
xor r12d, r12d
cmp r13, qword [rbp - 0x50]
jne 0x1400142e3
mov r8, rdi
sub r8, r15
add r8, 3
cmovb r8, r14
shr r8, 2
cmp r12w, 1
sbb r8, 0
add r8, 2
mov qword [rsp + 0x20], 2
lea rcx, [rbp - 0x50]
mov rdx, r13
push 2
pop r9
call fcn.140016b50
mov rax, qword [rbp - 0x48]
mov word [rax + r13*2], bx
inc r13
mov qword [rbp - 0x40], r13
mov ebx, r12d
jmp 0x140014215
lea ecx, [rbx + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebx, 0x3ff
or ebx, 0xdc00
mov r12d, ebx
mov ebx, ecx
jmp 0x1400142a1
mov rdx, qword [rbp - 0x48]
mov rax, r13
mov rcx, rdx
mov r8, rdx
cmp r13, 8
jb 0x1400143b8
mov r8, rcx
mov rax, r13
cmp word [r8], 0
je 0x1400143d2
cmp word [r8 + 2], 0
je 0x1400143d2
cmp word [r8 + 4], 0
je 0x1400143d2
cmp word [r8 + 6], 0
je 0x1400143d2
cmp word [r8 + 8], 0
je 0x1400143d2
cmp word [r8 + 0xa], 0
je 0x1400143d2
cmp word [r8 + 0xc], 0
je 0x1400143d2
cmp word [r8 + 0xe], 0
je 0x1400143d2
add rax, 0xfffffffffffffff8
add r8, 0x10
cmp rax, 7
ja 0x14001436b
add rax, rax
xor edx, edx
cmp rax, rdx
je 0x14001465b
cmp word [r8 + rdx], 0
lea rdx, [rdx + 2]
jne 0x1400143bd
cmp qword [rbp - 0x50], 0
je 0x1400143e1
push 2
pop rdx
call fcn.140001900
lea rcx, [0x14001acf8]
mov r14, qword [rbp + 0x468]
mov r15, qword [rbp + 0x470]
mov r12, qword [rbp + 0x478]
mov rdi, qword [rbp + 0x480]
mov r13, qword [rbp + 0x488]
mov eax, ecx
and eax, 3
mov sil, 2
mov bl, 3
cmp eax, 1
jne 0x140014479
lea rax, [rcx - 1]
mov qword [rbp + 0x490], rax
mov rax, qword [rcx - 1]
mov qword [rbp + 0x460], rax
mov rax, qword [rcx + 7]
mov qword [rbp + 0x450], rax
mov rax, qword [rax]
mov eax, dword [rax]
mov rdx, qword [rbp - 0x50]
cmp r13, rdx
jne 0x14001467c
lea rdx, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
lea rcx, [rbp - 0x50]
call fcn.14000fef0
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
and word [rcx + r13*2], 0
mov r13, rcx
mov rax, rdx
neg rax
jno 0x1400146a3
mov r14, qword [rbp + 0x468]
mov r15, qword [rbp + 0x470]
mov rcx, r13
jmp 0x1400143f6
mov qword [rbp + 0x400], rdx
lea rax, [rbp + 0x438]
and qword [rax], 0
mov qword [rax + 8], 2
and qword [rax + 0x10], 0
mov r8d, 0x200
mov qword [rbp + 0x460], 0
push 2
pop rax
mov qword [rbp + 0x490], rax
xor ebx, ebx
xor edi, edi
mov qword [rbp + 0x450], r13
cmp r8, 0x201
jae 0x1400146ff
mov esi, 0x200
lea r15, [rbp - 0x50]
mov r14, r8
jmp 0x140014775
sub r8, rdi
sub rbx, rdi
cmp rbx, r8
jae 0x140014749
mov qword [rsp + 0x20], 2
lea rcx, [rbp + 0x438]
mov rdx, rdi
push 2
pop r9
call fcn.140016b50
mov rax, qword [rbp + 0x438]
mov qword [rbp + 0x460], rax
mov rax, qword [rbp + 0x440]
mov qword [rbp + 0x490], rax
mov r13, qword [rbp + 0x450]
mov eax, 0xffffffff
mov rbx, qword [rbp + 0x460]
cmp rbx, rax
mov edi, 0xffffffff
cmovb rdi, rbx
mov qword [rbp + 0x448], rdi
mov rsi, rdi
mov r15, qword [rbp + 0x490]
mov r14, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r12, r13
mov rcx, r13
mov rdx, r15
mov r8d, r14d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov r13d, eax
test eax, eax
jne 0x1400147a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140014814
mov r8d, r13d
cmp r14, r8
jne 0x1400147cd
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400147f9
mov r13, r12
add r14, r14
mov eax, 0xffffffff
cmp r14, rax
cmovae r14, rax
mov r8, r14
jmp 0x1400146e8
mov r13, r12
jb 0x1400146e8
cmp rsi, r8
jae 0x1400148f7
lea rax, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.140016210
jmp 0x1400141c6
lea rcx, str.internal_error:_entered_unreachable_code_rustc_f2a35426b6586178c44b27cedae182502092e898library_alloc_src_vecmod.rs
lea r8, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
push 0x28
pop rdx
call fcn.140016220
jmp 0x1400141c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
shl r15, 0x20
cmp qword [rbp + 0x438], 0
je 0x14001483a
mov rcx, qword [rbp + 0x440]
push 2
pop rdx
call fcn.140001900
or r15, 2
mov eax, r15d
and eax, 3
movabs rdi, 0x8000000000000000
cmp eax, 1
jne 0x1400148b9
lea rax, [r15 - 1]
mov qword [rbp + 0x460], rax
mov rax, qword [r15 - 1]
mov qword [rbp + 0x418], rax
mov rax, qword [r15 + 7]
mov qword [rbp + 0x490], rax
mov rax, qword [rax]
test rax, rax
je 0x140014885
mov rcx, qword [rbp + 0x418]
call rax
mov rax, qword [rbp + 0x490]
cmp qword [rax + 8], 0
je 0x1400148aa
mov rax, qword [rbp + 0x490]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp + 0x418]
call fcn.140001900
push 8
pop rdx
mov rcx, qword [rbp + 0x460]
call fcn.140001900
cmp qword [rbp + 0x400], 0
je 0x1400148d2
push 2
pop rdx
mov rcx, qword [rbp + 0x450]
call fcn.140001900
mov sil, 2
mov bl, 3
mov rax, rdi
neg rax
jo 0x140014979
cmp r14, 4
je 0x140014945
cmp r14, 1
jne 0x140014965
cmp byte [r15], 0x30
je 0x140014953
jmp 0x140014965
lea rcx, [rbp + 0x3b8]
mov rdx, r15
call fcn.14000f040
mov rdi, qword [rbp + 0x3b8]
mov r15, qword [rbp + 0x3c0]
mov r14, qword [rbp + 0x3c8]
cmp qword [rbp + 0x438], 0
je 0x140014934
mov rcx, qword [rbp + 0x440]
push 2
pop rdx
call fcn.140001900
mov rax, rdi
neg rax
jo 0x14001483e
jmp 0x1400148b9
cmp dword [r15], 0x6c6c7566
jne 0x140014965
mov sil, 1
mov bl, 2
test rdi, rdi
je 0x140014979
push 1
pop rdx
mov rcx, r15
call fcn.140001900
jmp 0x140014979
mov bl, 1
test rdi, rdi
je 0x140014977
push 1
pop rdx
mov rcx, r15
call fcn.140001900
xor esi, esi
mov r14, qword [rbp + 0x468]
mov r15, qword [rbp + 0x470]
mov r12, qword [rbp + 0x478]
mov rdi, qword [rbp + 0x480]
mov r13, qword [rbp + 0x488]
jmp 0x140014479
lea rcx, [rbp + 0x420]
and dword [rcx], 0
mov byte [rcx + 4], 0
lea rax, [rbp + 0x430]
lea r8, [rbp + 0x3b8]
mov qword [r8], rax
lea rax, [0x140013be0]
mov qword [r8 + 8], rax
lea rax, [rbp + 0x408]
mov qword [r8 + 0x10], rax
lea rax, [0x14001a580]
lea rdx, [rbp - 0x50]
mov qword [rdx], rax
mov qword [rdx + 8], 3
and qword [rdx + 0x20], 0
lea rax, [0x140002d90]
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], 2
call fcn.14000c620
lea rcx, [rbp + 0x438]
jmp 0x140014ab3
push 1
pop rsi
call qword [rdx + 0x30]
test rax, rax
cmovne rsi, rax
cmove rdx, rax
lea rax, [rbp + 0x438]
lea rcx, [rbp + 0x3e8]
and dword [rcx], 0
mov qword [rax], rsi
mov qword [rax + 8], rdx
mov byte [rcx + 4], 0
lea rdx, [rbp + 0x430]
lea r8, [rbp + 0x3b8]
mov qword [r8], rdx
lea rdx, [0x140013be0]
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], rax
lea rax, str.panicked_at_:_nstd_srcpath.rs
lea rdx, [rbp - 0x50]
mov qword [rdx], rax
mov qword [rdx + 8], 3
and qword [rdx + 0x20], 0
lea rax, [0x140002d70]
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], 2
call fcn.14000c620
lea rcx, [rbp + 0x420]
mov qword [rcx], rax
call fcn.14000c780
push 7
pop rcx
int 0x29
ud2