Function at 0x14003f430
Capabilities:
Check mutex on windows
Get common file path
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x718
mov qword [rsp + 0x80], rdx
movzx eax, byte [rcx]
mov byte [rsp + 0x68], al
mov byte [rsp + 0x5d], al
mov qword [rsp + 0xb0], 2
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x60], rax
xor r12d, r12d
mov r15d, 0xffffffff
xor r13d, r13d
xor ebp, ebp
cmp r8, 0x201
jb 0x14003f4af
jmp 0x14003f4d0
jae 0x14003f57f
cmp r8, 0x201
jae 0x14003f4d0
mov r14d, 0x200
lea rsi, [rsp + 0x240]
mov rbx, r8
jmp 0x14003f522
sub r8, rbp
sub r13, rbp
cmp r13, r8
jae 0x14003f500
lea rcx, [rsp + 0xb0]
mov rdx, rbp
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x60], rax
mov r12, qword [rsp + 0xb8]
cmp r12, r15
mov ebp, 0xffffffff
cmovb rbp, r12
mov qword [rsp + 0xc0], rbp
mov r13, r12
mov r14, rbp
mov rsi, qword [rsp + 0x60]
mov rbx, rbp
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ecx, ebx
mov rdx, rsi
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov edi, eax
test eax, eax
jne 0x14003f546
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x14003fb40
mov r8d, edi
cmp rbx, r8
jne 0x14003f4a0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003fe1e
add rbx, rbx
cmp rbx, r15
cmovae rbx, r15
mov r8, rbx
cmp r8, 0x201
jae 0x14003f4d0
jmp 0x14003f4af
cmp r14, r8
jb 0x14003fe38
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call dbg.from_wide
mov rbx, qword [rsp + 0xe0]
movups xmm0, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x200], xmm0
movzx edi, byte [rsp + 0xf8]
mov eax, dword [rsp + 0xf9]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0xfc]
mov dword [rsp + 0x8b], eax
movzx esi, byte [rsp + 0x68]
test r12, r12
je 0x14003f5f1
mov rcx, qword [0x1400570e8]
xor edx, edx
mov r8, qword [rsp + 0x60]
call fcn.140042ef4
cmp dil, 2
jne 0x14003f64e
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x14003f674
lea rsi, [rbx - 1]
mov rcx, qword [rbx - 1]
mov rax, qword [rbx + 7]
call qword [rax]
mov rax, qword [rbx + 7]
cmp qword [rax + 8], 0
je 0x14003f636
mov r8, qword [rsi]
cmp qword [rax + 0x10], 0x11
jb 0x14003f628
mov r8, qword [r8 - 8]
mov rcx, qword [0x1400570e8]
xor edx, edx
call fcn.140042ef4
mov rcx, qword [0x1400570e8]
xor edx, edx
mov r8, rsi
call fcn.140042ef4
movzx esi, byte [rsp + 0x5d]
jmp 0x14003f674
movaps xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x230], xmm0
mov eax, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x8b]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7b], ecx
mov byte [rsp + 0xa8], sil
mov qword [rsp + 0x88], rbx
movaps xmm0, xmmword [rsp + 0x230]
movups xmmword [rsp + 0x90], xmm0
mov byte [rsp + 0xa0], dil
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x7b]
mov dword [rsp + 0xa1], eax
mov dword [rsp + 0xa4], ecx
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
lea rax, str.stack_backtrace:_n
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], 1
mov qword [rsp + 0x250], 0
lea rdi, sym.core::ptr::drop_in_place_windows::core::error::Error_::h294572efbc43ce79
mov qword [rsp + 0x260], rdi
mov qword [rsp + 0x268], 0
lea r8, [rsp + 0x240]
call sym.core::fmt::write::h8763c4e483b08412
test al, al
jne 0x14003faff
movzx eax, byte [rsp + 0x5d]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x208], 0
mov byte [rsp + 0x220], al
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x210], rcx
lea rcx, sym.core::ptr::drop_in_place_std::sys_common::backtrace::_print_fmt::_u7b__u7b_closure_u7d__u7d__::h07c5152d2ccfd890
mov qword [rsp + 0x218], rcx
test al, al
setne byte [rsp + 0x5f]
mov qword [rsp + 0xd8], 0
mov byte [rsp + 0x5e], 0
lea rax, [rsp + 0x5d]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x5f]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x5e]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x200]
mov qword [rsp + 0xd0], rax
call sub.KERNEL32.dll_GetCurrentProcess
mov qword [rsp + 0x60], rax
call sub.KERNEL32.dll_GetCurrentThread
mov r12, rax
lea rsi, [rsp + 0x240]
mov r8d, 0x4d0
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, rsi
call sub.KERNEL32.dll_RtlCaptureContext
mov rbx, qword [0x1400570d0]
test rbx, rbx
je 0x14003fb65
mov rcx, rbx
mov edx, 0xffffffff
xor r8d, r8d
call sub.KERNEL32.dll_WaitForSingleObjectEx
mov rax, qword [0x140057138]
test rax, rax
jne 0x14003f839
lea rcx, str.dbghelp.dll
call sub.KERNEL32.dll_LoadLibraryA
mov qword [0x140057138], rax
test rax, rax
je 0x14003fc3e
cmp byte [0x1400570d8], 0
jne 0x14003f8fc
mov rcx, qword [0x140057140]
test rcx, rcx
jne 0x14003f874
lea rdx, str.SymGetOptions
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x14003fe6e
mov rcx, rax
mov qword [0x140057140], rax
call rcx
mov esi, eax
mov rdx, qword [0x140057148]
test rdx, rdx
jne 0x14003f8aa
mov rcx, qword [0x140057138]
lea rdx, str.SymSetOptions
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x14003fe77
mov rdx, rax
mov qword [0x140057148], rax
or esi, 4
mov ecx, esi
call rdx
mov rsi, qword [0x140057150]
test rsi, rsi
jne 0x14003f8e3
mov rcx, qword [0x140057138]
lea rdx, str.SymInitializeW
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x14003fe80
mov rsi, rax
mov qword [0x140057150], rax
call sub.KERNEL32.dll_GetCurrentProcess
mov rcx, rax
xor edx, edx
mov r8d, 1
call rsi
mov byte [0x1400570d8], 1
call sub.KERNEL32.dll_GetCurrentProcess
mov rdi, qword [0x140057160]
test rdi, rdi
jne 0x14003f933
mov rcx, qword [0x140057138]
lea rdx, str.StackWalkEx
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x14003fc4b
mov rdi, rax
mov qword [0x140057160], rax
mov qword [rsp + 0x68], rbx
lea rbx, [rsp + 0xe8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e0], xmm0
movups xmmword [rsp + 0x1d0], xmm0
movups xmmword [rsp + 0x1c0], xmm0
movups xmmword [rsp + 0x1b0], xmm0
movups xmmword [rsp + 0x1a0], xmm0
movups xmmword [rsp + 0x190], xmm0
movups xmmword [rsp + 0x180], xmm0
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x150], xmm0
movups xmmword [rsp + 0x140], xmm0
movups xmmword [rsp + 0x130], xmm0
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x100], xmm0
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0x1f0], 0x110
mov qword [rsp + 0x1f8], 0
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0xf4], 3
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x2e0]
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x124], 3
mov qword [rsp + 0x108], rcx
mov dword [rsp + 0x114], 3
lea r13, [sym.std::backtrace_rs::backtrace::dbghelp::trace::get_module_base::h80d66de0fc9a1004]
lea r14, [dbg.function_table_access]
lea rbp, [rsp + 0x70]
lea rsi, [rsp + 0xb0]
lea r15, [rsp + 0xe0]
nop dword [rax + rax]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x240]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x28], 0
mov ecx, 0x8664
mov rdx, qword [rsp + 0x60]
mov r8, r12
mov r9, rbx
call rdi
cmp eax, 1
jne 0x14003fae0
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x70], 0
mov rdx, rbp
xor r8d, r8d
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x1f8], rax
mov rcx, rsi
mov rdx, r15
call sym.std::sys_common::backtrace::_print_fmt::__u7b__u7b_closure_u7d__u7d_::hec0b827d2c44a97e
test al, al
jne 0x14003fa60
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
call fcn.140042eb4
lea rdi, sym.core::ptr::drop_in_place_windows::core::error::Error_::h294572efbc43ce79
cmp byte [rsp + 0x5e], 0
je 0x14003fba5
cmp byte [rsp + 0xa0], 2
je 0x14003fb2a
cmp qword [rsp + 0x90], 0
je 0x14003fb2a
mov r8, qword [rsp + 0x88]
mov rcx, qword [0x1400570e8]
xor edx, edx
call fcn.140042ef4
mov al, 1
add rsp, 0x718
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
mov dil, 2
movzx esi, byte [rsp + 0x68]
test r12, r12
jne 0x14003f5de
jmp 0x14003f5f1
lea r8, str.LocalRustBacktraceMutex
xor ecx, ecx
xor edx, edx
call sub.KERNEL32.dll_CreateMutexA
test rax, rax
je 0x14003faf4
mov rbx, rax
xor eax, eax
lock cmpxchg qword [0x1400570d0], rbx
je 0x14003f801
mov rsi, rax
mov rcx, rbx
call sub.KERNEL32.dll_CloseHandle
mov rbx, rsi
jmp 0x14003f801
cmp byte [rsp + 0x5d], 0
jne 0x14003fc0c
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
lea rax, str.note:_Some_details_are_omitted__run_with__RUST_BACKTRACEfull__for_a_verbose_backtrace._n
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], 1
mov qword [rsp + 0x250], 0
mov qword [rsp + 0x260], rdi
mov qword [rsp + 0x268], 0
lea r8, [rsp + 0x240]
call sym.core::fmt::write::h8763c4e483b08412
test al, al
jne 0x14003faff
cmp byte [rsp + 0xa0], 2
je 0x14003fc37
cmp qword [rsp + 0x90], 0
je 0x14003fc37
mov r8, qword [rsp + 0x88]
mov rcx, qword [0x1400570e8]
xor edx, edx
call fcn.140042ef4
xor eax, eax
jmp 0x14003fb2c
mov rcx, rbx
call fcn.140042eb4
jmp 0x14003faf4
lea r13, [rsp + 0xe8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e0], xmm0
movups xmmword [rsp + 0x1d0], xmm0
movups xmmword [rsp + 0x1c0], xmm0
movups xmmword [rsp + 0x1b0], xmm0
movups xmmword [rsp + 0x1a0], xmm0
movups xmmword [rsp + 0x190], xmm0
movups xmmword [rsp + 0x180], xmm0
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x150], xmm0
movups xmmword [rsp + 0x140], xmm0
movups xmmword [rsp + 0x130], xmm0
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x100], xmm0
movups xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0xe0], 1
mov qword [rsp + 0x1f8], 0
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0xf4], 3
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x2e0]
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x124], 3
mov qword [rsp + 0x108], rcx
mov dword [rsp + 0x114], 3
lea r15, [dbg.function_table_access]
lea r14, [rsp + 0x70]
lea rdi, [rsp + 0xb0]
lea rsi, [rsp + 0xe0]
nop dword [rax + rax]
mov rbp, qword [0x140057158]
test rbp, rbp
jne 0x14003fd92
mov rcx, qword [0x140057138]
lea rdx, str.StackWalk64
call sub.KERNEL32.dll_GetProcAddress
test rax, rax
je 0x14003fe4f
mov rbp, rax
mov qword [0x140057158], rax
lea rax, [sym.std::backtrace_rs::backtrace::dbghelp::trace::get_module_base::h80d66de0fc9a1004]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
lea rax, [rsp + 0x240]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x28], 0
mov ecx, 0x8664
mov rdx, qword [rsp + 0x60]
mov r8, r12
mov r9, r13
call rbp
cmp eax, 1
jne 0x14003fae5
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x70], 0
mov rdx, r14
xor r8d, r8d
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x1f8], rax
mov rcx, rdi
mov rdx, rsi
call sym.std::sys_common::backtrace::_print_fmt::__u7b__u7b_closure_u7d__u7d_::hec0b827d2c44a97e
test al, al
jne 0x14003fd60
jmp 0x14003fae5
lea rcx, [0x14004e91b]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call dbg.panic
jmp 0x14003fe98
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r14
mov r8, rax
call dbg.slice_end_index_len_fail
jmp 0x14003fe98
mov qword [rsp + 0x68], rbx
lea rcx, str.called__Option::unwrap____on_a__None__valueinternal_error:_entered_unreachable_code_rustc_69f9c33d71c871fc16ac445211281c6e7a340943library_alloc_srccollections_btree_navigate.rs
lea r8, str.library_std_src...._backtrace_srcdbghelp.rs
mov edx, 0x2b
call dbg.panic
jmp 0x14003fe98
lea r8, str.library_std_src...._backtrace_srcdbghelp.rs
jmp 0x14003fe87
lea r8, str.library_std_src...._backtrace_srcdbghelp.rs
jmp 0x14003fe87
lea r8, str.library_std_src...._backtrace_srcdbghelp.rs
lea rcx, str.called__Option::unwrap____on_a__None__valueinternal_error:_entered_unreachable_code_rustc_69f9c33d71c871fc16ac445211281c6e7a340943library_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call dbg.panic
ud2