Function at 0x439c80
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 [0x0048b100], rbp
call fcn.0043a6e0
test rax, rax
jne 0x439cee
lea rax, [0x004814a8]
mov qword [rsp + 0x20], rax
lea rcx, [0x00481443]
lea r9, [0x00480e40]
lea r8, [rsp + 0xc0]
mov edx, 0x46
call fcn.0040f4a0
ud2
mov r15, qword [rax]
add r15, 1
mov qword [rax], r15
test rbp, rbp
js 0x439d62
cmp r15, 3
jae 0x439d62
lea rcx, [0x0048b0f8]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rcx, rbx
call qword [rdi + 0x20]
mov rdi, rax
mov rsi, rdx
call fcn.0043a6e0
test rax, rax
je 0x439cc0
mov bpl, 1
cmp qword [rax], 1
jbe 0x439e9d
mov qword [rsp + 0xb8], r14
mov rsi, qword [rsi + 0x18]
mov rcx, rdi
call rsi
movabs rcx, 0x7ef2a91eecc7bcf4
cmp rax, rcx
jne 0x439f34
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
jmp 0x439f5d
cmp r15, 2
jbe 0x439dc1
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 0x439e54
lea rax, str._rustc_f1edd0429582dd29cccacaf50fd134b05593bd9clibrary_std_srciocopy.rs
mov qword [rsp + 0x58], rax
lea rax, [0x00480cc0]
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, [0x0040f2d0]
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.0043a7d0
cmp al, 3
jne 0x439e99
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 0x439e88
mov rcx, qword [rsi]
mov rdx, qword [rax + 0x10]
call fcn.0040c900
mov rcx, qword [0x0048b110]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
ud2
mov rax, qword [0x0048b0e0]
cmp rax, 2
je 0x43a30d
cmp rax, 1
je 0x43a314
test rax, rax
jne 0x439d32
lea rdx, str.RUST_BACKTRACEfailed_to_write_the_buffered_data
lea rcx, [rsp + 0xc0]
mov r8d, 0xe
call fcn.00451bc0
cmp dword [rsp + 0xc0], 1
jne 0x43a31c
cmp byte [rsp + 0xc8], 3
jne 0x439f2c
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 0x439f1b
mov rcx, qword [rbx]
mov rdx, qword [rax + 0x10]
call fcn.0040c900
mov rcx, qword [0x0048b110]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov bpl, 5
jmp 0x43a6b0
mov rcx, rdi
call rsi
movabs rcx, 0x3973e2a9344c24d5
cmp rax, rcx
jne 0x439f51
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
jmp 0x439f5d
lea rcx, [0x0048225c]
mov eax, 0xc
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
call fcn.004399f0
test rax, rax
jne 0x43a11d
xor r14d, r14d
xor esi, esi
xor eax, eax
test rax, rax
lea rdx, [0x00482268]
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, [0x0043ab40]
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, [0x0043ab60]
mov qword [rsp + 0xe8], rax
lea rax, [0x00482290]
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.0043a7d0
cmp al, 3
jne 0x43a084
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 0x43a073
mov rcx, qword [rbx]
mov rdx, qword [rax + 0x10]
call fcn.0040c900
mov rcx, qword [0x0048b110]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
lea eax, [rbp - 3]
movzx ecx, al
lea rdx, [rcx + 1]
xor eax, eax
cmp cl, 2
cmovb rax, rdx
test rax, rax
je 0x43a1ab
cmp eax, 1
je 0x43a267
xor eax, eax
xchg byte [0x0045f030], al
test al, al
je 0x43a267
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.0043a7d0
cmp al, 3
jne 0x43a267
mov rdi, rdx
jmp 0x43a236
mov rdi, rax
cmp qword [rax], 0
jne 0x43a17d
mov qword [rdi], 0xffffffffffffffff
mov r14, qword [rdi + 8]
test r14, r14
jne 0x43a50d
lea rcx, [0x0048b030]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rsi, qword [0x0045f020]
cmp rsi, 0xffffffffffffffff
jne 0x43a331
lea rcx, [0x0048b030]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
lea rcx, str.failed_to_generate_unique_thread_ID:_bitspace_exhausted
lea r8, [0x00481590]
mov edx, 0x37
call fcn.00439c30
ud2
lea rax, str.library_std_src_sys_common_thread_info.rs
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowed
lea r9, [0x00480e20]
lea r8, [rsp + 0xc0]
mov edx, 0x10
call fcn.0040f4a0
ud2
lea rbx, [0x0048b0d8]
mov rcx, rbx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0x2f], bpl
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x58], rax
lea rax, [0x0043abf0]
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.0043a7d0
mov rbp, rax
mov rdi, rdx
mov rcx, rbx
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
cmp bpl, 3
jne 0x43a267
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
call qword [rax]
mov rax, qword [rdi + 8]
cmp qword [rax + 8], 0
je 0x43a256
mov rcx, qword [rdi]
mov rdx, qword [rax + 0x10]
call fcn.0040c900
mov rcx, qword [0x0048b110]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
test rsi, rsi
je 0x43a27b
lock sub qword [rsi], 1
jne 0x43a27b
mov rcx, r14
call fcn.00439bd0
lea rcx, [0x0048b0f8]
call sub.KERNEL32.dll_ReleaseSRWLockShared
cmp r15, 1
jbe 0x43a306
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.0043a7d0
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x58]
call fcn.0043a8e0
ud2
call fcn.0043a8d0
ud2
xor ebp, ebp
jmp 0x439d32
mov bpl, 4
jmp 0x439d32
mov rbx, qword [rsp + 0xc8]
mov bpl, 5
test rbx, rbx
jne 0x43a35f
jmp 0x43a6b0
lea rax, [rsi + 1]
mov qword [0x0045f020], rax
test rsi, rsi
jne 0x43a485
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x004815a8]
mov edx, 0x2b
call fcn.0040eb00
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 [0x00483d70]
mov qword [rsp + 0x38], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov ebp, 0x200
cmp rbp, 0x201
jae 0x43a3e5
jmp 0x43a420
cmp rbp, r13
mov rbp, r13
ja 0x43a4b6
cmp rbp, 0x201
jb 0x43a420
mov r8, rbp
sub r8, r14
mov rax, qword [rsp + 0x40]
sub rax, r14
cmp rax, r8
jb 0x43a40b
mov qword [rsp + 0x48], rbp
mov r14, rbp
mov rdi, r15
mov r12, rbp
mov rsi, r15
jmp 0x43a431
lea rcx, [rsp + 0x38]
mov rdx, r14
call fcn.00451e70
mov r15, qword [rsp + 0x38]
jmp 0x43a3f8
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 0x43a459
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x43a556
mov r13d, esi
cmp rbp, r13
jne 0x43a3d0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x43a3d0
add rbp, rbp
cmp rbp, 0x201
jae 0x43a3e5
jmp 0x43a420
lea rcx, [0x0048b030]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov ecx, 0x30
mov edx, 8
call fcn.0040c870
test rax, rax
jne 0x43a4d3
mov ecx, 0x30
mov edx, 8
call fcn.0040d1c0
ud2
cmp r12, r13
jae 0x43a56b
lea r8, str.library_std_src_syswindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r13
mov rdx, r12
call fcn.0040e5d0
ud2
mov r14, rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x20], rsi
mov byte [rax + 0x28], 0
movaps xmm0, xmmword [0x004600d0]
movups xmmword [rax], xmm0
mov rax, qword [rdi + 8]
test rax, rax
je 0x43a509
lock sub qword [rax], 1
jne 0x43a509
mov rcx, qword [rdi + 8]
call fcn.00439bd0
mov qword [rdi + 8], r14
lock add qword [r14], 1
jle 0x439e99
add qword [rdi], 1
test r14, r14
jne 0x43a52e
xor eax, eax
mov rsi, r14
xor r14d, r14d
jmp 0x439f82
lea rcx, [r14 + 0x10]
mov rax, qword [r14 + 0x10]
test rax, rax
cmove rcx, rax
jne 0x43a543
xor eax, eax
jmp 0x43a54e
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
add rcx, 0xffffffffffffffff
mov rsi, r14
jmp 0x439f82
call sub.KERNEL32.dll_GetLastError
mov r12d, eax
shl r12, 0x20
pxor xmm6, xmm6
mov bpl, 1
jmp 0x43a588
lea rcx, [rsp + 0x58]
mov rdx, rdi
mov r8, r13
call fcn.0043c630
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 0x43a5cf
test r15, r15
je 0x43a5cf
movabs rcx, 0x7fffffffffffffff
and rax, rcx
je 0x43a5cf
mov rcx, qword [0x0048b110]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
test bpl, bpl
je 0x43a61f
cmp r12b, 3
mov r15, qword [rsp + 0x98]
jne 0x43a629
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 0x43a609
mov rcx, qword [rbp]
mov rdx, qword [rax + 0x10]
call fcn.0040c900
mov rcx, qword [0x0048b110]
xor r12d, r12d
xor edx, edx
mov r8, rbp
call sub.KERNEL32.dll_HeapFree
jmp 0x43a62c
mov r15, qword [rsp + 0x98]
jmp 0x43a62c
xor r12d, r12d
mov bpl, 5
mov rax, qword [rsp + 0x50]
shl rax, 1
test rax, rax
je 0x43a64e
mov rcx, qword [0x0048b110]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
test r12, r12
je 0x43a6b0
movq rax, xmm6
pshufd xmm0, xmm6, 0xee
movq rcx, xmm0
cmp rcx, 4
je 0x43a67f
cmp rcx, 1
jne 0x43a693
cmp byte [r12], 0x30
jne 0x43a693
mov bpl, 4
mov ebx, 1
jmp 0x43a69a
cmp dword [r12], 0x6c6c7566
jne 0x43a693
mov bpl, 1
mov ebx, 3
jmp 0x43a69a
mov ebx, 2
xor ebp, ebp
test rax, rax
je 0x43a6b0
mov rcx, qword [0x0048b110]
xor edx, edx
mov r8, r12
call sub.KERNEL32.dll_HeapFree
cmp bpl, 5
movzx eax, bpl
mov ebp, 4
cmovne ebp, eax
mov eax, 1
cmovne rax, rbx
xchg qword [0x0048b0e0], rax
jmp 0x439d32