Function at 0x1400137cf
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x518
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x490], 0xfffffffffffffffe
mov byte [rbp + 0x48f], r9b
mov qword [rbp + 0x408], rcx
mov qword [rbp + 0x410], rdx
mov qword [rbp + 0x430], r8
lock inc qword [0x14001f180]
jle 0x14001435c
mov eax, dword [0x14001f1f8]
mov r8, qword gs:[0x58]
mov rax, qword [r8 + rax*8]
cmp byte [rax + 0x20], 0
jne 0x1400143d4
mov eax, dword [0x14001f1f8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
inc qword [rax + 0x18]
mov byte [rax + 0x20], 1
mov eax, dword [0x14001f160]
cmp eax, 0x3ffffffd
ja 0x140013995
lea ecx, [rax + 1]
lock cmpxchg dword [0x14001f160], ecx
jne 0x140013995
mov bl, byte [rbp + 0x500]
mov al, byte [0x14001f168]
cmp qword [0x14001f170], 0
jne 0x140013ab1
mov rdi, qword [rbp + 0x430]
mov rcx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x410]
call qword [rax + 0x28]
mov r14, rax
mov r15, rdx
mov sil, 3
test bl, bl
jne 0x1400138f5
mov eax, dword [0x14001f1f8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov sil, 1
cmp qword [rax + 0x18], 1
ja 0x1400138f5
mov sil, byte [0x14001f158]
dec sil
cmp sil, 3
jae 0x140013b7c
mov eax, dword [0x14001f160]
cmp eax, 0x3fffffff
jne 0x1400139bd
push 0xffffffffffffff9d
pop rcx
pause
mov eax, dword [0x14001f160]
cmp eax, 0x3fffffff
jne 0x1400139bd
lea edx, [rcx + 1]
test ecx, ecx
mov ecx, edx
jne 0x1400139a5
push 0xffffffffffffff9d
pop rbx
lea rsi, [0x14001f160]
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 0x140013a12
lea ecx, [rax + 1]
lock cmpxchg dword [0x14001f160], ecx
jne 0x1400139e1
jmp 0x140013882
cmp ecx, 0x3ffffffe
je 0x140013a80
bt eax, 0x1e
jb 0x140013a34
mov ecx, eax
or ecx, 0x40000000
lock cmpxchg dword [0x14001f160], ecx
jne 0x1400139e1
jmp 0x140013a36
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 0x140013a50
call r13
mov eax, dword [0x14001f160]
cmp eax, 0x3fffffff
jne 0x1400139e1
mov ecx, ebx
pause
mov eax, dword [0x14001f160]
lea edx, [rcx + 1]
cmp eax, 0x3fffffff
jne 0x1400139e1
test ecx, ecx
mov ecx, edx
jne 0x140013a5f
jmp 0x1400139e1
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.140015b60
mov rsi, qword [rbp + 0x430]
mov rcx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x410]
call qword [rax + 0x28]
lea r8, [rbp - 0x50]
mov qword [r8], rax
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], rsi
mov al, byte [rbp + 0x48f]
mov byte [r8 + 0x18], al
mov byte [r8 + 0x19], bl
mov rcx, qword [0x14001f170]
mov rax, qword [0x14001f178]
mov rdx, r8
call qword [rax + 0x28]
mov al, byte [0x14001f100]
push 0x1e
pop rcx
call fcn.1400116e0
test rax, rax
jne 0x140013ba9
push 2
pop rcx
push 0x1e
pop rdx
call fcn.140015a1d
jmp 0x140013ba7
mov qword [rbp + 0x478], r15
mov qword [rbp + 0x470], rdi
mov qword [rbp + 0x468], r14
lea rcx, [rbp - 0x50]
mov qword [rcx], 0xf
mov qword [rcx + 8], rax
and qword [rcx + 0x10], 0
xor r12d, r12d
lea rdi, [0x1400199a4]
push 0xe
pop rbx
push 0xffffffffffffffff
pop r14
xor r13d, r13d
xor esi, esi
test si, si
jne 0x140013c74
cmp r13, 0xe
je 0x140013d28
mov dl, byte [r13 + rdi]
movzx esi, dl
test sil, sil
js 0x140013c0d
inc r13
jmp 0x140013c74
mov ecx, esi
and ecx, 0x1f
movzx r8d, byte [r13 + rdi + 1]
and r8d, 0x3f
cmp sil, 0xdf
jbe 0x140013c55
movzx esi, byte [r13 + rdi + 2]
shl r8d, 6
and esi, 0x3f
or esi, r8d
cmp dl, 0xf0
jb 0x140013c63
movzx edx, byte [r13 + rdi + 3]
add r13, 4
and ecx, 7
shl ecx, 0x12
shl esi, 6
and edx, 0x3f
or edx, esi
or edx, ecx
mov esi, edx
jmp 0x140013c6c
add r13, 2
shl ecx, 6
or ecx, r8d
mov esi, ecx
jmp 0x140013c74
add r13, 3
shl ecx, 0xc
or esi, ecx
cmp esi, 0xffff
ja 0x140013ccd
xor r15d, r15d
cmp r12, qword [rbp - 0x50]
jne 0x140013cb9
mov r8, rbx
sub r8, r13
add r8, 3
cmovb r8, r14
shr r8, 2
cmp r15w, 1
sbb r8, 0
add r8, 2
mov qword [rsp + 0x20], 2
lea rcx, [rbp - 0x50]
mov rdx, r12
push 2
pop r9
call fcn.140016450
mov rax, qword [rbp - 0x48]
mov word [rax + r12*2], si
inc r12
mov qword [rbp - 0x40], r12
mov esi, r15d
jmp 0x140013be8
lea ecx, [rsi + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and esi, 0x3ff
or esi, 0xdc00
mov r15d, esi
mov esi, ecx
jmp 0x140013c77
mov rdx, qword [rbp - 0x48]
mov rax, r12
mov rcx, rdx
mov r8, rdx
cmp r12, 8
jb 0x140013d8e
mov r8, rcx
mov rax, r12
cmp word [r8], 0
je 0x140013da8
cmp word [r8 + 2], 0
je 0x140013da8
cmp word [r8 + 4], 0
je 0x140013da8
cmp word [r8 + 6], 0
je 0x140013da8
cmp word [r8 + 8], 0
je 0x140013da8
cmp word [r8 + 0xa], 0
je 0x140013da8
cmp word [r8 + 0xc], 0
je 0x140013da8
cmp word [r8 + 0xe], 0
je 0x140013da8
add rax, 0xfffffffffffffff8
add r8, 0x10
cmp rax, 7
ja 0x140013d41
add rax, rax
xor edx, edx
cmp rax, rdx
je 0x140014027
cmp word [r8 + rdx], 0
lea rdx, [rdx + 2]
jne 0x140013d93
cmp qword [rbp - 0x50], 0
je 0x140013db7
push 2
pop rdx
call fcn.140001aa0
lea r12, [0x14001ac70]
mov r14, qword [rbp + 0x468]
mov rdi, qword [rbp + 0x470]
mov r15, qword [rbp + 0x478]
mov eax, r12d
and eax, 3
mov sil, 2
mov bl, 3
cmp eax, 1
jne 0x140013e45
lea rax, [r12 - 1]
mov qword [rbp + 0x480], rax
mov rax, qword [r12 - 1]
mov qword [rbp + 0x460], rax
mov rax, qword [r12 + 7]
mov qword [rbp + 0x450], rax
mov rax, qword [rax]
mov eax, dword [rax]
mov rdx, qword [rbp - 0x50]
cmp r12, rdx
jne 0x140014048
lea rdx, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
lea rcx, [rbp - 0x50]
call fcn.14000fe20
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
and word [rcx + r12*2], 0
mov r12, rcx
mov rax, rdx
neg rax
jo 0x140013dbe
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 + 0x480], rax
xor esi, esi
xor edi, edi
mov qword [rbp + 0x450], r12
cmp r8, 0x201
jae 0x1400140b9
mov ebx, 0x200
lea r14, [rbp - 0x50]
mov r13, r8
jmp 0x14001412f
sub r8, rdi
sub rsi, rdi
cmp rsi, r8
jae 0x140014103
mov qword [rsp + 0x20], 2
lea rcx, [rbp + 0x438]
mov rdx, rdi
push 2
pop r9
call fcn.140016450
mov rax, qword [rbp + 0x438]
mov qword [rbp + 0x460], rax
mov rax, qword [rbp + 0x440]
mov qword [rbp + 0x480], rax
mov r12, qword [rbp + 0x450]
mov eax, 0xffffffff
mov rsi, qword [rbp + 0x460]
cmp rsi, rax
mov edi, 0xffffffff
cmovb rdi, rsi
mov qword [rbp + 0x448], rdi
mov rbx, rdi
mov r14, qword [rbp + 0x480]
mov r13, rdi
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov r15, r12
mov rcx, r12
mov rdx, r14
mov r8d, r13d
call qword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov r12d, eax
test eax, eax
jne 0x14001415a
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x1400141ce
mov r8d, r12d
cmp r13, r8
jne 0x140014187
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400141b3
mov r12, r15
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
jmp 0x1400140a2
mov r12, r15
jb 0x1400140a2
cmp rbx, r8
jae 0x1400142b1
lea rax, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, rbx
mov r8, rax
call fcn.140015b90
jmp 0x140013ba7
lea rcx, str.internal_error:_entered_unreachable_code_rustc_917a50a03931a9861c19a46f3e2a02a28f1da936library_alloc_src_vecmod.rs
lea r8, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
push 0x28
pop rdx
call fcn.140015ba0
jmp 0x140013ba7
call qword [sym.imp.kernel32.dll_GetLastError]
mov r14d, eax
shl r14, 0x20
cmp qword [rbp + 0x438], 0
je 0x1400141f4
mov rcx, qword [rbp + 0x440]
push 2
pop rdx
call fcn.140001aa0
or r14, 2
mov eax, r14d
and eax, 3
movabs rdi, 0x8000000000000000
cmp eax, 1
jne 0x140014273
lea rax, [r14 - 1]
mov qword [rbp + 0x460], rax
mov rax, qword [r14 - 1]
mov qword [rbp + 0x418], rax
mov rax, qword [r14 + 7]
mov qword [rbp + 0x480], rax
mov rax, qword [rax]
test rax, rax
je 0x14001423f
mov rcx, qword [rbp + 0x418]
call rax
mov rax, qword [rbp + 0x480]
cmp qword [rax + 8], 0
je 0x140014264
mov rax, qword [rbp + 0x480]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rbp + 0x418]
call fcn.140001aa0
push 8
pop rdx
mov rcx, qword [rbp + 0x460]
call fcn.140001aa0
cmp qword [rbp + 0x400], 0
je 0x14001428c
push 2
pop rdx
mov rcx, qword [rbp + 0x450]
call fcn.140001aa0
mov sil, 2
mov bl, 3
mov rax, rdi
neg rax
jo 0x140014333
cmp r15, 4
je 0x1400142ff
cmp r15, 1
jne 0x14001431f
cmp byte [r14], 0x30
je 0x14001430d
jmp 0x14001431f
lea rcx, [rbp + 0x3b8]
mov rdx, r14
call fcn.14000ef70
mov rdi, qword [rbp + 0x3b8]
mov r14, qword [rbp + 0x3c0]
mov r15, qword [rbp + 0x3c8]
cmp qword [rbp + 0x438], 0
je 0x1400142ee
mov rcx, qword [rbp + 0x440]
push 2
pop rdx
call fcn.140001aa0
mov rax, rdi
neg rax
jo 0x1400141f8
jmp 0x140014273
cmp dword [r14], 0x6c6c7566
jne 0x14001431f
mov sil, 1
mov bl, 2
test rdi, rdi
je 0x140014333
push 1
pop rdx
mov rcx, r14
call fcn.140001aa0
jmp 0x140014333
mov bl, 1
test rdi, rdi
je 0x140014331
push 1
pop rdx
mov rcx, r14
call fcn.140001aa0
xor esi, esi
mov r14, qword [rbp + 0x468]
mov rdi, qword [rbp + 0x470]
mov r15, qword [rbp + 0x478]
jmp 0x140013e45
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, [0x1400135d0]
mov qword [r8 + 8], rax
lea rax, [rbp + 0x408]
mov qword [r8 + 0x10], rax
lea rax, [0x14001a4f8]
lea rdx, [rbp - 0x50]
mov qword [rdx], rax
mov qword [rdx + 8], 3
and qword [rdx + 0x20], 0
lea rax, [0x140002e80]
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], 2
call fcn.14000c520
lea rcx, [rbp + 0x438]
jmp 0x14001445f
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, [0x1400135d0]
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, [0x140002e60]
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], 2
call fcn.14000c520
lea rcx, [rbp + 0x420]
mov qword [rcx], rax
call fcn.14000c680
push 7
pop rcx
int 0x29
ud2