Function at 0x1401537a0
Capabilities:
Link many functions at runtime

Disassembly:
push rsi
push rdi
sub rsp, 0xb8
mov rsi, qword [0x1402044f0]
test rsi, rsi
je 0x14015396d
mov rcx, rsi
mov edx, 0xffffffff
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov rax, qword [0x140204500]
test rax, rax
jne 0x1401537f3
lea rcx, [0x1401d7480]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140204500], rax
test rax, rax
je 0x140153bf7
cmp byte [0x1402044f8], 0
jne 0x140153be1
mov rcx, qword [0x140204508]
test rcx, rcx
jne 0x14015382f
lea rdx, str.SymGetOptions
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140153c37
mov rcx, rax
mov qword [0x140204508], rax
mov rax, rcx
call qword [0x1401ec708]
mov ecx, eax
mov rax, qword [0x140204510]
test rax, rax
jne 0x14015386e
mov edi, ecx
mov rcx, qword [0x140204500]
lea rdx, [0x1401d749a]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140153c43
mov qword [0x140204510], rax
mov ecx, edi
or ecx, 4
call qword [0x1401ec708]
mov rdi, qword [0x140204518]
test rdi, rdi
jne 0x1401538aa
mov rcx, qword [0x140204500]
lea rdx, str.SymInitializeW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140153c4f
mov rdi, rax
mov qword [0x140204518], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
mov r8d, 1
mov rax, rdi
call qword [0x1401ec708]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x28]
mov edx, 0x400
xor r8d, r8d
call fcn.140152960
mov rdi, qword [0x140204520]
test rdi, rdi
jne 0x140153924
mov rcx, qword [0x140204500]
lea rdx, [0x1401d74b7]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140153c5b
mov rdi, rax
mov qword [0x140204520], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x38]
mov rcx, rax
mov rax, rdi
call qword [0x1401ec708]
cmp eax, 1
jne 0x140153a68
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
js 0x140153c1f
mov edx, eax
lea rcx, [rsp + 0x28]
call fcn.140152b10
jmp 0x140153abc
movups xmm0, xmmword [0x1401d7288]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [str.LocalRustBacktraceMutex00000000]
movaps xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x60], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
test eax, eax
je 0x140153a05
mov ecx, 0x20
nop dword [rax]
test rcx, rcx
je 0x140153c07
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 [rsp + rcx + 0x3f], r8b
cmp eax, 0x10
jb 0x140153a05
mov edx, eax
shr edx, 4
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 [rsp + rcx + 0x3e], r8b
add rcx, 0xfffffffffffffffe
mov edx, eax
shr edx, 8
cmp eax, 0xff
mov eax, edx
ja 0x1401539a0
movzx eax, byte [rsp + 0x60]
mov byte [rsp + 0x90], al
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
test rax, rax
je 0x140153bf0
mov rsi, rax
xor eax, eax
lock cmpxchg qword [0x1402044f0], rsi
je 0x1401537b9
mov rdi, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, rdi
jmp 0x1401537b9
mov qword [rsp + 0x38], 0
cmp qword [rsp + 0x28], 0
jne 0x140153a83
lea rcx, [rsp + 0x28]
call fcn.1401533b0
mov rax, qword [rsp + 0x30]
mov word [rax], 0x2e
mov qword [rsp + 0x38], 1
cmp qword [rsp + 0x28], 1
jne 0x140153aa8
lea rcx, [rsp + 0x28]
call fcn.1401533b0
mov rax, qword [rsp + 0x30]
mov word [rax + 2], 0x3b
mov qword [rsp + 0x38], 2
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x28]
movaps xmmword [rsp + 0xa0], xmm0
mov rdi, qword [0x140204530]
test rdi, rdi
jne 0x140153b09
mov rcx, qword [0x140204500]
lea rdx, str.EnumerateLoadedModulesW64
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140153c67
mov rdi, rax
mov qword [0x140204530], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea rdx, [0x140153c80]
lea r8, [rsp + 0xa0]
mov rcx, rax
mov rax, rdi
call qword [0x1401ec708]
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x40], xmm0
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x50], rdi
cmp rdi, qword [rsp + 0x40]
jne 0x140153b55
lea rcx, [rsp + 0x40]
call fcn.1401533b0
mov rax, qword [rsp + 0x48]
mov word [rax + rdi*2], 0
inc rdi
je 0x140153c13
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], rdi
mov rdi, qword [0x140204528]
test rdi, rdi
jne 0x140153bae
mov rcx, qword [0x140204500]
lea rdx, [0x1401d74c9]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140153c73
mov rdi, rax
mov qword [0x140204528], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, qword [rsp + 0x78]
mov rcx, rax
mov rax, rdi
call qword [0x1401ec708]
mov byte [0x1402044f8], 1
lea rdi, [rsp + 0x70]
mov rcx, rdi
call fcn.140002470
mov rcx, rdi
call fcn.1401535d0
xor eax, eax
mov rdx, rsi
add rsp, 0xb8
pop rdi
pop rsi
ret
mov eax, 1
jmp 0x140153be3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, 1
jmp 0x140153be3
lea rcx, str..._.._third_party_rust_toolchain_lib_rustlib_src_rust_library_std_src...._backtrace_srcdbghelp.rs
call fcn.1401af0a0
lea rcx, [0x1401d7100]
call fcn.1401af060
lea rcx, str.assertion_failed:_len___0
lea r8, str..._.._third_party_rust_toolchain_lib_rustlib_src_rust_library_std_src...._backtrace_srcdbghelp.rs
mov edx, 0x1a
call fcn.1401af250
lea rcx, str..._.._third_party_rust_toolchain_lib_rustlib_src_rust_library_std_src...._backtrace_srcdbghelp.rs
call fcn.1401aefc0
lea rcx, str..._.._third_party_rust_toolchain_lib_rustlib_src_rust_library_std_src...._backtrace_srcdbghelp.rs
call fcn.1401aefc0
lea rcx, str..._.._third_party_rust_toolchain_lib_rustlib_src_rust_library_std_src...._backtrace_srcdbghelp.rs
call fcn.1401aefc0
lea rcx, str..._.._third_party_rust_toolchain_lib_rustlib_src_rust_library_std_src...._backtrace_srcdbghelp.rs
call fcn.1401aefc0
lea rcx, str..._.._third_party_rust_toolchain_lib_rustlib_src_rust_library_std_src...._backtrace_srcdbghelp.rs
call fcn.1401aefc0
lea rcx, str..._.._third_party_rust_toolchain_lib_rustlib_src_rust_library_std_src...._backtrace_srcdbghelp.rs
call fcn.1401aefc0
int3