Function at 0x417680
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4d8
movdqa xmmword [rsp + 0x4c0], xmm6
mov r14, r9
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov ebp, 1
lock xadd qword [0x00448100], rbp
call fcn.004180e0
test rax, rax
jne 0x4176ee
lea rax, [0x004404d8]
mov qword [rsp + 0x20], rax
lea rcx, [0x00440473]
lea r9, [0x0043fe60]
lea r8, [rsp + 0xc0]
mov edx, 0x46
call fcn.0040b0c0
ud2
mov r15, qword [rax]
add r15, 1
mov qword [rax], r15
test rbp, rbp
js 0x417762
cmp r15, 3
jae 0x417762
lea rcx, [0x004480f8]
call sub.kernel32.dll_AcquireSRWLockShared
mov rcx, rbx
call qword [rdi + 0x20]
mov rdi, rax
mov rsi, rdx
call fcn.004180e0
test rax, rax
je 0x4176c0
mov bpl, 1
cmp qword [rax], 1
jbe 0x41789d
mov qword [rsp + 0xb8], r14
mov rsi, qword [rsi + 0x18]
mov rcx, rdi
call rsi
movabs rcx, 0x7ef2a91eecc7bcf4
cmp rax, rcx
jne 0x417934
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
jmp 0x41795d
cmp r15, 2
jbe 0x4177c1
mov byte [rsp + 0x5c], 0
mov dword [rsp + 0x58], 0
lea rax, str.thread_panicked_while_processing_panic._aborting._n
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
mov qword [rsp + 0xd0], 0
lea rax, str._rustc_f1edd0429582dd29cccacaf50fd134b05593bd9clibrary_std_srciocopy.rs
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x58]
jmp 0x417854
lea rax, str._rustc_f1edd0429582dd29cccacaf50fd134b05593bd9clibrary_std_srciocopy.rs
mov qword [rsp + 0x58], rax
lea rax, [0x0043fce0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x8c], 0
mov dword [rsp + 0x88], 0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rax, [0x0040aef0]
mov qword [rsp + 0x40], rax
lea rax, str._rustc_f1edd0429582dd29cccacaf50fd134b05593bd9clibrary_std_srciocopy.rs
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 2
mov qword [rsp + 0xd0], 0
lea rax, [rsp + 0x38]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0xc0]
call fcn.004181d0
cmp al, 3
jne 0x417899
mov rsi, rdx
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
call qword [rax]
mov rax, qword [rsi + 8]
cmp qword [rax + 8], 0
je 0x417888
mov rcx, qword [rsi]
mov rdx, qword [rax + 0x10]
call fcn.00408b70
mov rcx, qword [0x00448110]
xor edx, edx
mov r8, rsi
call fcn.00439d68
ud2
mov rax, qword [0x004480e0]
cmp rax, 2
je 0x417d0d
cmp rax, 1
je 0x417d14
test rax, rax
jne 0x417732
lea rdx, str.RUST_BACKTRACEfailed_to_write_the_buffered_data
lea rcx, [rsp + 0xc0]
mov r8d, 0xe
call fcn.0042f570
cmp dword [rsp + 0xc0], 1
jne 0x417d1c
cmp byte [rsp + 0xc8], 3
jne 0x41792c
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
call qword [rax]
mov rax, qword [rbx + 8]
cmp qword [rax + 8], 0
je 0x41791b
mov rcx, qword [rbx]
mov rdx, qword [rax + 0x10]
call fcn.00408b70
mov rcx, qword [0x00448110]
xor edx, edx
mov r8, rbx
call fcn.00439d68
mov bpl, 5
jmp 0x4180b0
mov rcx, rdi
call rsi
movabs rcx, 0x3973e2a9344c24d5
cmp rax, rcx
jne 0x417951
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
jmp 0x41795d
lea rcx, [0x0044128c]
mov eax, 0xc
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
call fcn.004173f0
test rax, rax
jne 0x417b1d
xor r14d, r14d
xor esi, esi
xor eax, eax
test rax, rax
lea rdx, [0x00441298]
cmovne rdx, rax
mov eax, 9
cmovne rax, rcx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x34], 0
mov dword [rsp + 0x30], 0
lea rax, [rsp + 0x38]
mov qword [rsp + 0xc0], rax
lea rax, [0x004184f0]
mov qword [rsp + 0xc8], rax
lea rcx, [rsp + 0x88]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0xe0], rax
lea rax, [0x00418510]
mov qword [rsp + 0xe8], rax
lea rax, [0x004412c0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 4
mov qword [rsp + 0x68], 0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 3
lea rcx, [rsp + 0x30]
lea rdi, [rsp + 0x58]
mov rdx, rdi
call fcn.004181d0
cmp al, 3
jne 0x417a84
mov rbx, rdx
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
call qword [rax]
mov rax, qword [rbx + 8]
cmp qword [rax + 8], 0
je 0x417a73
mov rcx, qword [rbx]
mov rdx, qword [rax + 0x10]
call fcn.00408b70
mov rcx, qword [0x00448110]
xor edx, edx
mov r8, rbx
call fcn.00439d68
lea eax, [rbp - 3]
movzx ecx, al
lea rdx, [rcx + 1]
xor eax, eax
cmp cl, 2
cmovb rax, rdx
test rax, rax
je 0x417bab
cmp eax, 1
je 0x417c67
xor eax, eax
xchg byte [0x0043c030], al
test al, al
je 0x417c67
lea rax, str.note:_run_with__RUST_BACKTRACE1__environment_variable_to_display_a_backtrace_n
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
mov qword [rsp + 0xd0], 0
lea rax, str._rustc_f1edd0429582dd29cccacaf50fd134b05593bd9clibrary_std_srciocopy.rs
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xc0]
call fcn.004181d0
cmp al, 3
jne 0x417c67
mov rdi, rdx
jmp 0x417c36
mov rdi, rax
cmp qword [rax], 0
jne 0x417b7d
mov qword [rdi], 0xffffffffffffffff
mov r14, qword [rdi + 8]
test r14, r14
jne 0x417f0d
lea rcx, [0x00448030]
call sub.kernel32.dll_AcquireSRWLockExclusive
mov rsi, qword [0x0043c020]
cmp rsi, 0xffffffffffffffff
jne 0x417d31
lea rcx, [0x00448030]
call sub.kernel32.dll_ReleaseSRWLockExclusive
lea rcx, str.failed_to_generate_unique_thread_ID:_bitspace_exhausted
lea r8, [0x004405c0]
mov edx, 0x37
call fcn.00417630
ud2
lea rax, str.library_std_src_sys_common_thread_info.rs
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowed
lea r9, [0x0043fe40]
lea r8, [rsp + 0xc0]
mov edx, 0x10
call fcn.0040b0c0
ud2
lea rbx, [0x004480d8]
mov rcx, rbx
call sub.kernel32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0x2f], bpl
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x58], rax
lea rax, [0x004185a0]
mov qword [rsp + 0x60], rax
lea rax, str._rustc_f1edd0429582dd29cccacaf50fd134b05593bd9clibrary_std_srciocopy.rs
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], 1
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xc0]
call fcn.004181d0
mov rbp, rax
mov rdi, rdx
mov rcx, rbx
call sub.kernel32.dll_ReleaseSRWLockExclusive
cmp bpl, 3
jne 0x417c67
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
call qword [rax]
mov rax, qword [rdi + 8]
cmp qword [rax + 8], 0
je 0x417c56
mov rcx, qword [rdi]
mov rdx, qword [rax + 0x10]
call fcn.00408b70
mov rcx, qword [0x00448110]
xor edx, edx
mov r8, rdi
call fcn.00439d68
test rsi, rsi
je 0x417c7b
lock sub qword [rsi], 1
jne 0x417c7b
mov rcx, r14
call fcn.004175d0
lea rcx, [0x004480f8]
call sub.kernel32.dll_ReleaseSRWLockShared
cmp r15, 1
jbe 0x417d06
mov byte [rsp + 0x3c], 0
mov dword [rsp + 0x38], 0
lea rax, str.thread_panicked_while_panicking._aborting._n
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
mov qword [rsp + 0xd0], 0
lea rax, str._rustc_f1edd0429582dd29cccacaf50fd134b05593bd9clibrary_std_srciocopy.rs
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0xc0]
call fcn.004181d0
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x58]
call fcn.004182e0
ud2
call fcn.004182d0
ud2
xor ebp, ebp
jmp 0x417732
mov bpl, 4
jmp 0x417732
mov rbx, qword [rsp + 0xc8]
mov bpl, 5
test rbx, rbx
jne 0x417d5f
jmp 0x4180b0
lea rax, [rsi + 1]
mov qword [0x0043c020], rax
test rsi, rsi
jne 0x417e85
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x004405d8]
mov edx, 0x2b
call fcn.0040a720
ud2
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x98], r15
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x50], rax
xor r14d, r14d
mov r8d, 0x400
lea rcx, [rsp + 0xc0]
xor edx, edx
call sub.msvcrt.dll_memset
mov r15, qword [0x0043ff80]
mov qword [rsp + 0x38], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov ebp, 0x200
cmp rbp, 0x201
jae 0x417de5
jmp 0x417e20
cmp rbp, r13
mov rbp, r13
ja 0x417eb6
cmp rbp, 0x201
jb 0x417e20
mov r8, rbp
sub r8, r14
mov rax, qword [rsp + 0x40]
sub rax, r14
cmp rax, r8
jb 0x417e0b
mov qword [rsp + 0x48], rbp
mov r14, rbp
mov rdi, r15
mov r12, rbp
mov rsi, r15
jmp 0x417e31
lea rcx, [rsp + 0x38]
mov rdx, r14
call fcn.0042f820
mov r15, qword [rsp + 0x38]
jmp 0x417df8
lea rsi, [rsp + 0xc0]
mov rdi, rsi
mov r12d, 0x200
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, rbx
mov rdx, rsi
mov r8d, ebp
call sub.kernel32.dll_GetEnvironmentVariableW
mov esi, eax
test eax, eax
jne 0x417e59
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x417f56
mov r13d, esi
cmp rbp, r13
jne 0x417dd0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x417dd0
add rbp, rbp
cmp rbp, 0x201
jae 0x417de5
jmp 0x417e20
lea rcx, [0x00448030]
call sub.kernel32.dll_ReleaseSRWLockExclusive
mov ecx, 0x30
mov edx, 8
call fcn.00408ae0
test rax, rax
jne 0x417ed3
mov ecx, 0x30
mov edx, 8
call fcn.00408ec0
ud2
cmp r12, r13
jae 0x417f6b
lea r8, str.library_std_src_syswindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r13
mov rdx, r12
call fcn.0040a1f0
ud2
mov r14, rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x20], rsi
mov byte [rax + 0x28], 0
movaps xmm0, xmmword [0x0043d0c0]
movups xmmword [rax], xmm0
mov rax, qword [rdi + 8]
test rax, rax
je 0x417f09
lock sub qword [rax], 1
jne 0x417f09
mov rcx, qword [rdi + 8]
call fcn.004175d0
mov qword [rdi + 8], r14
lock add qword [r14], 1
jle 0x417899
add qword [rdi], 1
test r14, r14
jne 0x417f2e
xor eax, eax
mov rsi, r14
xor r14d, r14d
jmp 0x417982
lea rcx, [r14 + 0x10]
mov rax, qword [r14 + 0x10]
test rax, rax
cmove rcx, rax
jne 0x417f43
xor eax, eax
jmp 0x417f4e
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
add rcx, 0xffffffffffffffff
mov rsi, r14
jmp 0x417982
call sub.kernel32.dll_GetLastError
mov r12d, eax
shl r12, 0x20
pxor xmm6, xmm6
mov bpl, 1
jmp 0x417f88
lea rcx, [rsp + 0x58]
mov rdx, rdi
mov r8, r13
call fcn.00419fe0
mov r12, qword [rsp + 0x58]
movdqu xmm6, xmmword [rsp + 0x60]
xor ebp, ebp
mov rax, qword [rsp + 0x40]
test rax, rax
mov r14, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
je 0x417fcf
test r15, r15
je 0x417fcf
movabs rcx, 0x7fffffffffffffff
and rax, rcx
je 0x417fcf
mov rcx, qword [0x00448110]
xor edx, edx
mov r8, r15
call fcn.00439d68
test bpl, bpl
je 0x41801f
cmp r12b, 3
mov r15, qword [rsp + 0x98]
jne 0x418029
movq rbp, xmm6
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
call qword [rax]
mov rax, qword [rbp + 8]
cmp qword [rax + 8], 0
je 0x418009
mov rcx, qword [rbp]
mov rdx, qword [rax + 0x10]
call fcn.00408b70
mov rcx, qword [0x00448110]
xor r12d, r12d
xor edx, edx
mov r8, rbp
call fcn.00439d68
jmp 0x41802c
mov r15, qword [rsp + 0x98]
jmp 0x41802c
xor r12d, r12d
mov bpl, 5
mov rax, qword [rsp + 0x50]
shl rax, 1
test rax, rax
je 0x41804e
mov rcx, qword [0x00448110]
xor edx, edx
mov r8, rbx
call fcn.00439d68
test r12, r12
je 0x4180b0
movq rax, xmm6
pshufd xmm0, xmm6, 0xee
movq rcx, xmm0
cmp rcx, 4
je 0x41807f
cmp rcx, 1
jne 0x418093
cmp byte [r12], 0x30
jne 0x418093
mov bpl, 4
mov ebx, 1
jmp 0x41809a
cmp dword [r12], 0x6c6c7566
jne 0x418093
mov bpl, 1
mov ebx, 3
jmp 0x41809a
mov ebx, 2
xor ebp, ebp
test rax, rax
je 0x4180b0
mov rcx, qword [0x00448110]
xor edx, edx
mov r8, r12
call fcn.00439d68
cmp bpl, 5
movzx eax, bpl
mov ebp, 4
cmovne ebp, eax
mov eax, 1
cmovne rax, rbx
xchg qword [0x004480e0], rax
jmp 0x417732