Function at 0x4373b0
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 [0x00484100], rbp
call fcn.00437e10
test rax, rax
jne 0x43741e
lea rax, [0x0047b0d0]
mov qword [rsp + 0x20], rax
lea rcx, [0x0047b06b]
lea r9, [0x0047aa18]
lea r8, [rsp + 0xc0]
mov edx, 0x46
call fcn.0040cba0
ud2
mov r15, qword [rax]
add r15, 1
mov qword [rax], r15
test rbp, rbp
js 0x437492
cmp r15, 3
jae 0x437492
lea rcx, [0x004840f8]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rcx, rbx
call qword [rdi + 0x20]
mov rdi, rax
mov rsi, rdx
call fcn.00437e10
test rax, rax
je 0x4373f0
mov bpl, 1
cmp qword [rax], 1
jbe 0x4375cd
mov qword [rsp + 0xb8], r14
mov rsi, qword [rsi + 0x18]
mov rcx, rdi
call rsi
movabs rcx, 0x7ef2a91eecc7bcf4
cmp rax, rcx
jne 0x437664
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
jmp 0x43768d
cmp r15, 2
jbe 0x4374f1
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, [0x0047a558]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x58]
jmp 0x437584
lea rax, [0x0047a558]
mov qword [rsp + 0x58], rax
lea rax, [0x0047a850]
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, [0x0040c9d0]
mov qword [rsp + 0x40], rax
lea rax, [0x0047c0a8]
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.00437f00
cmp al, 3
jne 0x4375c9
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 0x4375b8
mov rcx, qword [rsi]
mov rdx, qword [rax + 0x10]
call fcn.0040a620
mov rcx, qword [0x00484110]
xor edx, edx
mov r8, rsi
call fcn.004568c8
ud2
mov rax, qword [0x004840e0]
cmp rax, 2
je 0x437a3d
cmp rax, 1
je 0x437a44
test rax, rax
jne 0x437462
lea rdx, str.RUST_BACKTRACEfailed_to_write_the_buffered_data
lea rcx, [rsp + 0xc0]
mov r8d, 0xe
call fcn.0044f2f0
cmp dword [rsp + 0xc0], 1
jne 0x437a4c
cmp byte [rsp + 0xc8], 3
jne 0x43765c
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 0x43764b
mov rcx, qword [rbx]
mov rdx, qword [rax + 0x10]
call fcn.0040a620
mov rcx, qword [0x00484110]
xor edx, edx
mov r8, rbx
call fcn.004568c8
mov bpl, 5
jmp 0x437de0
mov rcx, rdi
call rsi
movabs rcx, 0x3973e2a9344c24d5
cmp rax, rcx
jne 0x437681
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
jmp 0x43768d
lea rcx, [0x0047be84]
mov eax, 0xc
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
call fcn.00437120
test rax, rax
jne 0x43784d
xor r14d, r14d
xor esi, esi
xor eax, eax
test rax, rax
lea rdx, [0x0047be90]
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, [0x00438270]
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, [0x00438290]
mov qword [rsp + 0xe8], rax
lea rax, [0x0047beb8]
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.00437f00
cmp al, 3
jne 0x4377b4
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 0x4377a3
mov rcx, qword [rbx]
mov rdx, qword [rax + 0x10]
call fcn.0040a620
mov rcx, qword [0x00484110]
xor edx, edx
mov r8, rbx
call fcn.004568c8
lea eax, [rbp - 3]
movzx ecx, al
lea rdx, [rcx + 1]
xor eax, eax
cmp cl, 2
cmovb rax, rdx
test rax, rax
je 0x4378db
cmp eax, 1
je 0x437997
xor eax, eax
xchg byte [0x00459030], al
test al, al
je 0x437997
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, [0x0047a558]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xc0]
call fcn.00437f00
cmp al, 3
jne 0x437997
mov rdi, rdx
jmp 0x437966
mov rdi, rax
cmp qword [rax], 0
jne 0x4378ad
mov qword [rdi], 0xffffffffffffffff
mov r14, qword [rdi + 8]
test r14, r14
jne 0x437c3d
lea rcx, [0x00484030]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rsi, qword [0x00459020]
cmp rsi, 0xffffffffffffffff
jne 0x437a61
lea rcx, [0x00484030]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
lea rcx, str.failed_to_generate_unique_thread_ID:_bitspace_exhausted
lea r8, [0x0047b1b8]
mov edx, 0x37
call fcn.00437360
ud2
lea rax, str.library_std_src_sys_common_thread_info.rs
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowed_
lea r9, [0x0047a9f8]
lea r8, [rsp + 0xc0]
mov edx, 0x10
call fcn.0040cba0
ud2
lea rbx, [0x004840d8]
mov rcx, rbx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0x2f], bpl
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x58], rax
lea rax, [0x00438320]
mov qword [rsp + 0x60], rax
lea rax, [0x0047b2a0]
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.00437f00
mov rbp, rax
mov rdi, rdx
mov rcx, rbx
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
cmp bpl, 3
jne 0x437997
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
call qword [rax]
mov rax, qword [rdi + 8]
cmp qword [rax + 8], 0
je 0x437986
mov rcx, qword [rdi]
mov rdx, qword [rax + 0x10]
call fcn.0040a620
mov rcx, qword [0x00484110]
xor edx, edx
mov r8, rdi
call fcn.004568c8
test rsi, rsi
je 0x4379ab
lock sub qword [rsi], 1
jne 0x4379ab
mov rcx, r14
call fcn.00437300
lea rcx, [0x004840f8]
call sub.KERNEL32.dll_ReleaseSRWLockShared
cmp r15, 1
jbe 0x437a36
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, [0x0047a558]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0xc0]
call fcn.00437f00
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x58]
call fcn.00438010
ud2
call fcn.00438000
ud2
xor ebp, ebp
jmp 0x437462
mov bpl, 4
jmp 0x437462
mov rbx, qword [rsp + 0xc8]
mov bpl, 5
test rbx, rbx
jne 0x437a8f
jmp 0x437de0
lea rax, [rsi + 1]
mov qword [0x00459020], rax
test rsi, rsi
jne 0x437bb5
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x0047b1d0]
mov edx, 0x2b
call fcn.0040c200
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 [0x0047ab68]
mov qword [rsp + 0x38], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov ebp, 0x200
cmp rbp, 0x201
jae 0x437b15
jmp 0x437b50
cmp rbp, r13
mov rbp, r13
ja 0x437be6
cmp rbp, 0x201
jb 0x437b50
mov r8, rbp
sub r8, r14
mov rax, qword [rsp + 0x40]
sub rax, r14
cmp rax, r8
jb 0x437b3b
mov qword [rsp + 0x48], rbp
mov r14, rbp
mov rdi, r15
mov r12, rbp
mov rsi, r15
jmp 0x437b61
lea rcx, [rsp + 0x38]
mov rdx, r14
call fcn.0044f5a0
mov r15, qword [rsp + 0x38]
jmp 0x437b28
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 0x437b89
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x437c86
mov r13d, esi
cmp rbp, r13
jne 0x437b00
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x437b00
add rbp, rbp
cmp rbp, 0x201
jae 0x437b15
jmp 0x437b50
lea rcx, [0x00484030]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov ecx, 0x30
mov edx, 8
call fcn.0040a590
test rax, rax
jne 0x437c03
mov ecx, 0x30
mov edx, 8
call fcn.0040aee0
ud2
cmp r12, r13
jae 0x437c9b
lea r8, str.library_std_src_syswindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r13
mov rdx, r12
call fcn.0040bcd0
ud2
mov r14, rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x20], rsi
mov byte [rax + 0x28], 0
movaps xmm0, xmmword [0x0045a0a0]
movups xmmword [rax], xmm0
mov rax, qword [rdi + 8]
test rax, rax
je 0x437c39
lock sub qword [rax], 1
jne 0x437c39
mov rcx, qword [rdi + 8]
call fcn.00437300
mov qword [rdi + 8], r14
lock add qword [r14], 1
jle 0x4375c9
add qword [rdi], 1
test r14, r14
jne 0x437c5e
xor eax, eax
mov rsi, r14
xor r14d, r14d
jmp 0x4376b2
lea rcx, [r14 + 0x10]
mov rax, qword [r14 + 0x10]
test rax, rax
cmove rcx, rax
jne 0x437c73
xor eax, eax
jmp 0x437c7e
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
add rcx, 0xffffffffffffffff
mov rsi, r14
jmp 0x4376b2
call sub.KERNEL32.dll_GetLastError
mov r12d, eax
shl r12, 0x20
pxor xmm6, xmm6
mov bpl, 1
jmp 0x437cb8
lea rcx, [rsp + 0x58]
mov rdx, rdi
mov r8, r13
call fcn.00439d60
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 0x437cff
test r15, r15
je 0x437cff
movabs rcx, 0x7fffffffffffffff
and rax, rcx
je 0x437cff
mov rcx, qword [0x00484110]
xor edx, edx
mov r8, r15
call fcn.004568c8
test bpl, bpl
je 0x437d4f
cmp r12b, 3
mov r15, qword [rsp + 0x98]
jne 0x437d59
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 0x437d39
mov rcx, qword [rbp]
mov rdx, qword [rax + 0x10]
call fcn.0040a620
mov rcx, qword [0x00484110]
xor r12d, r12d
xor edx, edx
mov r8, rbp
call fcn.004568c8
jmp 0x437d5c
mov r15, qword [rsp + 0x98]
jmp 0x437d5c
xor r12d, r12d
mov bpl, 5
mov rax, qword [rsp + 0x50]
shl rax, 1
test rax, rax
je 0x437d7e
mov rcx, qword [0x00484110]
xor edx, edx
mov r8, rbx
call fcn.004568c8
test r12, r12
je 0x437de0
movq rax, xmm6
pshufd xmm0, xmm6, 0xee
movq rcx, xmm0
cmp rcx, 4
je 0x437daf
cmp rcx, 1
jne 0x437dc3
cmp byte [r12], 0x30
jne 0x437dc3
mov bpl, 4
mov ebx, 1
jmp 0x437dca
cmp dword [r12], 0x6c6c7566
jne 0x437dc3
mov bpl, 1
mov ebx, 3
jmp 0x437dca
mov ebx, 2
xor ebp, ebp
test rax, rax
je 0x437de0
mov rcx, qword [0x00484110]
xor edx, edx
mov r8, r12
call fcn.004568c8
cmp bpl, 5
movzx eax, bpl
mov ebp, 4
cmovne ebp, eax
mov eax, 1
cmovne rax, rbx
xchg qword [0x004840e0], rax
jmp 0x437462