Function at 0x1400122d0
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1208
call fcn.140016cf0
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1170], xmm6
mov qword [rbp + 0x1168], 0xfffffffffffffffe
mov qword [rbp + 0x1110], r8
mov qword [rbp + 0x10c8], rdx
mov rbx, rcx
mov rcx, qword [0x1400f7188]
test rcx, rcx
je 0x140012503
mov qword [rbp + 0x1118], rcx
mov edx, 0xffffffff
xor r8d, r8d
call qword [sym.imp.kernel32.dll_WaitForSingleObjectEx]
mov rax, qword [0x1400f71a8]
test rax, rax
jne 0x140012362
lea rcx, str.dbghelp.dll
call qword [sym.imp.kernel32.dll_LoadLibraryA]
mov qword [0x1400f71a8], rax
test rax, rax
je 0x140012c6e
cmp byte [0x1400f7190], 0
jne 0x140012776
mov rcx, qword [0x1400f71b0]
test rcx, rcx
jne 0x14001239e
lea rdx, str.SymGetOptions
mov rcx, rax
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012ea1
mov rcx, rax
mov qword [0x1400f71b0], rax
call rcx
mov ecx, eax
mov rax, qword [0x1400f71b8]
test rax, rax
jne 0x1400123d6
mov esi, ecx
mov rcx, qword [0x1400f71a8]
lea rdx, str.SymSetOptions
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012eaf
mov qword [0x1400f71b8], rax
mov ecx, esi
or ecx, 4
call rax
mov rsi, qword [0x1400f71c0]
test rsi, rsi
jne 0x14001240e
mov rcx, qword [0x1400f71a8]
lea rdx, str.SymInitializeW
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012ebd
mov rsi, rax
mov qword [0x1400f71c0], rax
call qword [sym.imp.kernel32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
mov r8d, 1
call rsi
mov qword [rbp + 0x1120], 0
mov qword [rbp + 0x1128], 2
mov qword [rbp + 0x1130], 0
mov byte [rbp + 0x1167], 1
lea rcx, [rbp + 0x1120]
mov r8d, 0x400
xor edx, edx
call fcn.1400188c0
mov rsi, qword [rbp + 0x1128]
mov rdi, qword [rbp + 0x1130]
lea rcx, [rsi + rdi*2]
mov r8d, 0x7fe
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov word [rsi + rdi*2 + 0x7fe], 0
add rdi, 0x400
mov qword [rbp + 0x1130], rdi
mov r14, qword [0x1400f71c8]
test r14, r14
jne 0x1400124c7
mov rcx, qword [0x1400f71a8]
lea rdx, str.SymGetSearchPathW
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012ecb
mov r14, rax
mov qword [0x1400f71c8], rax
call qword [sym.imp.kernel32.dll_GetCurrentProcess]
mov rcx, rax
mov rdx, rsi
mov r8d, edi
call r14
cmp eax, 1
jne 0x1400125ee
mov rcx, rsi
call qword [sym.imp.kernel32.dll_lstrlenW]
test eax, eax
js 0x140012e7d
mov eax, eax
cmp rdi, rax
jae 0x140012672
jmp 0x140012679
movups xmm0, xmmword [0x1400f2448]
movaps xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [str.LocalRustBacktraceMutex00000000]
movaps xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x20], 0
call qword [sym.imp.kernel32.dll_GetCurrentProcessId]
test eax, eax
je 0x14001258f
mov ecx, 0x1f
nop dword [rax]
cmp rcx, 0x20
ja 0x140012d6d
mov edx, eax
and dl, 0xf
lea r8d, [rdx + 0x30]
lea r9d, [rdx + 0x37]
cmp dl, 0xa
movzx edx, r8b
movzx r8d, r9b
cmovb r8d, edx
mov byte [rbp + rcx - 0x40], r8b
cmp eax, 0x10
jb 0x14001258f
mov edx, eax
shr dl, 4
lea r8d, [rdx + 0x30]
add dl, 0x37
cmp al, 0xa0
movzx r8d, r8b
movzx edx, dl
cmovb edx, r8d
mov byte [rbp + rcx - 0x41], dl
mov edx, eax
shr edx, 8
add rcx, 0xfffffffffffffffe
cmp eax, 0x100
mov eax, edx
jae 0x140012530
movzx eax, byte [rbp - 0x20]
mov byte [rbp + 0xfe0], al
movaps xmm0, xmmword [rbp - 0x40]
movaps xmm1, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0xfd0], xmm1
movaps xmmword [rbp + 0xfc0], xmm0
lea r8, [rbp + 0xfc0]
xor ecx, ecx
xor edx, edx
call qword [sym.imp.kernel32.dll_CreateMutexA]
test rax, rax
je 0x140012c7b
mov rcx, rax
xor eax, eax
lock cmpxchg qword [0x1400f7188], rcx
je 0x140012324
mov rsi, rax
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, rsi
jmp 0x140012324
mov qword [rbp + 0x1130], 0
mov rdx, qword [rbp + 0x1120]
test rdx, rdx
je 0x140012609
xor eax, eax
jmp 0x140012633
mov byte [rbp + 0x1167], 1
lea rcx, [rbp + 0x1120]
xor edx, edx
call fcn.14000fd40
mov rax, qword [rbp + 0x1130]
mov rdx, qword [rbp + 0x1120]
mov rsi, qword [rbp + 0x1128]
mov word [rsi + rax*2], 0x2e
inc rax
mov qword [rbp + 0x1130], rax
cmp rax, rdx
jne 0x140012669
mov byte [rbp + 0x1167], 1
lea rcx, [rbp + 0x1120]
call fcn.14000fd40
mov rsi, qword [rbp + 0x1128]
mov rax, qword [rbp + 0x1130]
mov word [rsi + rax*2], 0x3b
inc rax
mov qword [rbp + 0x1130], rax
mov rax, qword [rbp + 0x1130]
mov qword [rbp + 0xfd0], rax
movups xmm0, xmmword [rbp + 0x1120]
movaps xmmword [rbp + 0xfc0], xmm0
mov rsi, qword [0x1400f71d8]
test rsi, rsi
jne 0x1400126c8
mov rcx, qword [0x1400f71a8]
lea rdx, str.EnumerateLoadedModulesW64
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012ee0
mov rsi, rax
mov qword [0x1400f71d8], rax
call qword [sym.imp.kernel32.dll_GetCurrentProcess]
lea rdx, [0x140013190]
lea r8, [rbp + 0xfc0]
mov rcx, rax
call rsi
movaps xmm0, xmmword [rbp + 0xfc0]
movaps xmmword [rbp - 0x40], xmm0
mov rdx, qword [rbp + 0xfd0]
mov qword [rbp - 0x30], rdx
mov rdi, qword [rbp - 0x40]
cmp rdx, rdi
jne 0x140012711
lea rcx, [rbp - 0x40]
call fcn.14000fd40
mov rdi, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
mov r14, qword [rbp - 0x38]
mov word [r14 + rdx*2], 0
mov rsi, qword [0x1400f71d0]
test rsi, rsi
jne 0x14001274f
mov rcx, qword [0x1400f71a8]
lea rdx, str.SymSetSearchPathW
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012ef5
mov rsi, rax
mov qword [0x1400f71d0], rax
call qword [sym.imp.kernel32.dll_GetCurrentProcess]
mov rcx, rax
mov rdx, r14
call rsi
mov byte [0x1400f7190], 1
test rdi, rdi
je 0x140012776
mov edx, 2
mov rcx, r14
call fcn.1400019b0
mov rsi, qword [rbx + 0x10]
mov r15d, dword [rbx + 4]
mov edi, dword [rbx]
call qword [sym.imp.kernel32.dll_GetCurrentProcess]
mov qword [rbp + 0x1158], rax
lea r14, [rsi - 1]
test rsi, rsi
cmove r14, rsi
mov esi, 1
test edi, edi
je 0x140012c96
add esi, r15d
cmp r15d, esi
jae 0x140012c6e
lea rdi, [rbp - 0x3c]
lea rbx, [rbp - 0x40]
lea r12, [rbp + 0xfc0]
xorps xmm6, xmm6
mov dword [rbp + 0x110c], esi
jmp 0x140012840
mov rax, qword [rbp - 8]
mov qword [rbp + 0x1120], r12
mov qword [rbp + 0x1128], rdx
mov qword [rbp + 0x1130], r8
mov dword [rbp + 0x1138], r9d
mov dword [rbp + 0x113c], ecx
lea r12, [rbp + 0xfc0]
mov qword [rbp + 0x1140], r12
mov qword [rbp + 0x1148], rdi
mov qword [rbp + 0x1150], rax
mov rcx, qword [rbp + 0x10c8]
mov rdx, rsi
mov rax, qword [rbp + 0x1110]
call qword [rax + 0x20]
mov esi, dword [rbp + 0x110c]
lea rdi, [rbp - 0x3c]
lea rbx, [rbp - 0x40]
inc r15d
cmp r15d, esi
je 0x140012c6e
mov r8d, 0xff4
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov dword [rbp + 0x10], 0x7d0
mov dword [rbp - 0x40], 0x58
mov rax, qword [0x1400f71e0]
test rax, rax
jne 0x14001288e
mov rcx, qword [0x1400f71a8]
lea rdx, str.SymFromInlineContextW
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012e5b
mov qword [0x1400f71e0], rax
mov qword [rbp + 0xfc0], 0
mov qword [rsp + 0x20], rbx
mov rcx, qword [rbp + 0x1158]
mov rdx, r14
mov r8d, r15d
mov r9, r12
call rax
cmp eax, 1
jne 0x140012834
mov eax, dword [rbp + 0xc]
mov ecx, dword [rbp + 0x10]
dec rcx
cmp rax, rcx
cmovb rcx, rax
movaps xmmword [rbp + 0x10b0], xmm6
movaps xmmword [rbp + 0x10a0], xmm6
movaps xmmword [rbp + 0x1090], xmm6
movaps xmmword [rbp + 0x1080], xmm6
movaps xmmword [rbp + 0x1070], xmm6
movaps xmmword [rbp + 0x1060], xmm6
movaps xmmword [rbp + 0x1050], xmm6
movaps xmmword [rbp + 0x1040], xmm6
movaps xmmword [rbp + 0x1030], xmm6
movaps xmmword [rbp + 0x1020], xmm6
movaps xmmword [rbp + 0x1010], xmm6
movaps xmmword [rbp + 0x1000], xmm6
movaps xmmword [rbp + 0xff0], xmm6
movaps xmmword [rbp + 0xfe0], xmm6
movaps xmmword [rbp + 0xfd0], xmm6
movaps xmmword [rbp + 0xfc0], xmm6
lea r10, [rbp + 0x14]
lea rax, [r10 + rcx*2]
mov r8, r12
mov r12d, 0x100
xor r11d, r11d
xor edi, edi
test r11w, r11w
je 0x140012970
nop word cs:[rax + rax]
mov edx, r9d
jmp 0x140012981
cmp r10, rax
je 0x140012b90
movzx edx, word [r10]
add r10, 2
mov ecx, edx
and ecx, 0xf800
cmp ecx, 0xd800
jne 0x1400129e0
movzx r11d, dx
mov r13d, 3
mov ecx, 0xfffd
cmp r11d, 0xdbff
ja 0x140012a20
cmp r10, rax
je 0x140012b51
movzx esi, word [r10]
add r10, 2
mov r11d, esi
add r11d, 0x2000
movzx ebx, r11w
mov r11w, 1
cmp ebx, 0xfc00
jae 0x140012b5c
mov r9d, esi
jmp 0x140012a23
shl edx, 0x10
mov rcx, rdx
shr rcx, 0x10
cmp ecx, 0x80
jae 0x140012a00
mov r13d, 1
jmp 0x140012a20
cmp ecx, 0x800
jae 0x140012a10
mov r13d, 2
jmp 0x140012a20
cmp ecx, 0x10000
mov r13d, 4
sbb r13, 0
xor r11d, r11d
mov rdx, r12
sub rdx, r13
jbe 0x140012b90
mov dword [rbp + 0x1108], ecx
cmp ecx, 0x80
jae 0x140012a50
mov byte [r8], cl
mov ecx, 1
jmp 0x140012b30
cmp ecx, 0x800
jae 0x140012a80
mov esi, ecx
shr esi, 6
or sil, 0xc0
mov byte [r8], sil
and cl, 0x3f
or cl, 0x80
mov byte [r8 + 1], cl
mov ecx, 2
jmp 0x140012b30
cmp ecx, 0x10000
jae 0x140012acb
mov qword [rbp + 0x1100], 3
cmp r12, 2
jbe 0x140012d99
mov esi, ecx
shr esi, 0xc
or sil, 0xe0
mov byte [r8], sil
mov esi, ecx
shr esi, 6
and sil, 0x3f
or sil, 0x80
mov byte [r8 + 1], sil
and cl, 0x3f
or cl, 0x80
mov byte [r8 + 2], cl
mov ecx, 3
jmp 0x140012b30
mov qword [rbp + 0x1100], 4
cmp r12, 3
jbe 0x140012d99
mov esi, ecx
shr esi, 0x12
and sil, 7
or sil, 0xf0
mov byte [r8], sil
mov esi, ecx
shr esi, 0xc
and sil, 0x3f
or sil, 0x80
mov byte [r8 + 1], sil
mov esi, ecx
shr esi, 6
and sil, 0x3f
or sil, 0x80
mov byte [r8 + 2], sil
and cl, 0x3f
or cl, 0x80
mov byte [r8 + 3], cl
mov ecx, 4
nop word cs:[rax + rax]
cmp rcx, r12
ja 0x140012d85
add r8, r13
add rdi, r13
mov r12, rdx
test r11w, r11w
jne 0x140012960
jmp 0x140012970
xor r11d, r11d
mov r10, rax
jmp 0x140012a23
movzx ecx, si
and edx, 0x3ff
and ecx, 0x3ff
shl rdx, 0x1a
shl ecx, 0x10
or rcx, rdx
movabs rdx, 0x100000000
add rcx, rdx
jmp 0x1400129e6
cmp rdi, 0x101
jae 0x140012e42
movaps xmmword [rbp + 0x10d0], xmm6
movaps xmmword [rbp + 0x10e0], xmm6
mov qword [rbp + 0x10f0], 0
mov dword [rbp + 0x10d0], 0x28
mov rax, qword [0x1400f71e8]
test rax, rax
lea rsi, [rbp + 0x1120]
jne 0x140012bf7
mov rcx, qword [0x1400f71a8]
lea rdx, str.SymGetLineFromInlineContextW
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012e6c
mov qword [0x1400f71e8], rax
mov dword [rbp + 0x1120], 0
lea rcx, [rbp + 0x10d0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rsi
xor r12d, r12d
mov rcx, qword [rbp + 0x1158]
mov rdx, r14
mov r8d, r15d
xor r9d, r9d
call rax
mov r9d, 0
cmp eax, 1
jne 0x1400127d0
mov ecx, dword [rbp + 0x10e0]
mov r8, 0xffffffffffffffff
mov rdx, qword [rbp + 0x10e8]
nop word [rax + rax]
cmp word [rdx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x140012c50
mov r9d, 1
mov r12d, 1
jmp 0x1400127d0
mov rcx, qword [rbp + 0x1118]
call qword [sym.imp.kernel32.dll_ReleaseMutex]
movaps xmm6, xmmword [rbp + 0x1170]
add rsp, 0x1208
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [0x1400f71f0]
test rax, rax
jne 0x140012cc6
mov rcx, qword [0x1400f71a8]
lea rdx, str.SymAddrIncludeInlineTrace
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012f11
mov qword [0x1400f71f0], rax
mov rcx, qword [rbp + 0x1158]
mov rdx, r14
call rax
mov dword [rbp + 0xfc0], 0
test eax, eax
je 0x140012d65
mov edi, eax
mov rax, qword [0x1400f71f8]
test rax, rax
jne 0x140012d16
mov rcx, qword [0x1400f71a8]
lea rdx, str.SymQueryInlineTrace
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140012f1f
mov qword [0x1400f71f8], rax
mov dword [rbp - 0x40], 0
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0xfc0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r14
xor r15d, r15d
mov rcx, qword [rbp + 0x1158]
mov rdx, r14
xor r8d, r8d
mov r9, r14
call rax
cmp eax, 1
jne 0x1400127a5
mov r15d, dword [rbp + 0xfc0]
inc edi
mov esi, edi
jmp 0x1400127a5
xor r15d, r15d
jmp 0x1400127a5
lea r8, str.library_std_src...._backtrace_srcdbghelp.rs
mov edx, 0x21
mov rcx, 0xffffffffffffffff
call fcn.140017af0
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_srccharmethods.rs
mov rdx, r12
call fcn.140017b70
jmp 0x140012f2b
mov qword [rbp + 0x10c0], r12
lea rax, [rbp + 0x1100]
mov qword [rbp + 0x1120], rax
lea rax, [fcn.1400036e0]
mov qword [rbp + 0x1128], rax
lea rcx, [rbp + 0x1108]
mov qword [rbp + 0x1130], rcx
lea rcx, [0x140007050]
mov qword [rbp + 0x1138], rcx
lea rcx, [rbp + 0x10c0]
mov qword [rbp + 0x1140], rcx
mov qword [rbp + 0x1148], rax
lea rax, str.encode_utf8:_need__bytes_to_encode_U__but_the_buffer_has
mov qword [rbp + 0x10d0], rax
mov qword [rbp + 0x10d8], 3
mov qword [rbp + 0x10f0], 0
lea rax, [rbp + 0x1120]
mov qword [rbp + 0x10e0], rax
mov qword [rbp + 0x10e8], 3
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_srccharmethods.rs
lea rcx, [rbp + 0x10d0]
call fcn.140017aa0
jmp 0x140012f2b
lea r8, str.library_std_src...._backtrace_src_symbolizedbghelp.rs
mov edx, 0x100
mov rcx, rdi
call fcn.140017b70
jmp 0x140012f2b
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
mov byte [rbp + 0x1167], 1
lea rcx, str.assertion_failed:_len___0
lea r8, str.library_std_src...._backtrace_srcdbghelp.rs
mov edx, 0x1a
call fcn.140017b80
jmp 0x140012f2b
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
mov byte [rbp + 0x1167], 1
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
mov byte [rbp + 0x1166], 1
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
mov qword [rbp + 0x1110], r14
mov qword [rbp + 0x1158], rdi
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
jmp 0x140012f2b
lea rcx, str.library_std_src...._backtrace_srcdbghelp.rs
call fcn.140017e80
ud2