Function at 0x14005ef60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rsi, rcx
mov rdi, qword [rcx + 0xa8]
cmp byte [rcx + 0xb0], 3
jne 0x14005efa1
lea rdx, [rsi + 0x10]
lea r8, [rsi + 0x60]
lea r9, [rsi + 0x80]
lea rcx, [rsp + 0x28]
call fcn.14005fc2c
jmp 0x14005efb6
lea rdx, [rsi + 0x60]
lea r8, [rsi + 0x80]
lea rcx, [rsp + 0x28]
call fcn.14005f7aa
mov rax, qword [rsi]
test rax, rax
je 0x14005f0ba
cmp eax, 1
jne 0x14005f276
lea r12, [rsp + 0xe0]
and dword [r12], 0
mov rbx, qword [rsi + 8]
mov r13, qword [rbx + 0x80]
mov r14, qword [rbx + 0x88]
xor r15d, r15d
test r13b, 1
jne 0x14005f32d
mov ebp, r13d
shr ebp, 1
and ebp, 0x1f
cmp ebp, 0x1f
jne 0x14005f011
mov rcx, r12
call fcn.140060508
jmp 0x14005f09a
cmp ebp, 0x1e
jne 0x14005f044
test r15, r15
jne 0x14005f044
mov ecx, 0x2f0
mov edx, 8
call fcn.140028293
mov r15, rax
mov r8d, 0x2f0
mov rcx, rax
xor edx, edx
call fcn.1400ba130
xor ecx, ecx
call fcn.1400607be
test r14, r14
jne 0x14005f07c
mov ecx, 0x2f0
mov edx, 8
call fcn.140028293
mov r14, rax
mov r8d, 0x2f0
mov rcx, rax
xor edx, edx
call fcn.1400ba130
xor eax, eax
lock cmpxchg qword [rbx + 0x88], r14
jne 0x14005f0ad
mov qword [rbx + 8], r14
lea rcx, [r13 + 2]
mov rax, r13
lock cmpxchg qword [rbx + 0x80], rcx
je 0x14005f428
mov rcx, r12
call fcn.1400607c8
mov r13, qword [rbx + 0x80]
mov r14, qword [rbx + 0x88]
jmp 0x14005efed
mov rcx, r15
call fcn.1400607be
mov r15, r14
jmp 0x14005f09a
mov rbx, qword [rsi + 8]
lea r13, [rsp + 0x58]
mov dword [r13 + 8], 0x3b9aca00
xorps xmm0, xmm0
lea rbp, [rsp + 0xe0]
and qword [rbp + 0x20], 0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
lea r14, [rsp + 0x90]
and dword [rsp + 0x90], 0
mov rcx, qword [rbx + 0x80]
mov rax, qword [rbx + 0x110]
test rax, rcx
jne 0x14005f36d
dec rax
and rax, rcx
xor r9d, r9d
sub r9, qword [rbx + 0x108]
mov rdx, qword [rbx + 0x1a8]
imul r8, rax, 0x18
mov r10, qword [rdx + r8 + 0x10]
cmp rcx, r10
jne 0x14005f141
inc rax
cmp rax, qword [rbx + 0x100]
jae 0x14005f165
lea r9, [rcx + 1]
jmp 0x14005f16f
add r10, qword [rbx + 0x108]
lea rax, [rcx + 1]
cmp r10, rax
jne 0x14005f18e
mfence
mov rax, qword [rbx]
add rax, qword [rbx + 0x108]
cmp rax, rcx
jne 0x14005f181
jmp 0x14005f19b
and r9, rcx
add r9, qword [rbx + 0x108]
mov rax, rcx
lock cmpxchg qword [rbx + 0x80], r9
je 0x14005f3f1
mov rcx, r14
call fcn.1400607c8
jmp 0x14005f0f3
mov rcx, r14
call fcn.140060508
jmp 0x14005f0f3
mov r12d, dword [rsp + 0x60]
cmp r12d, 0x3b9aca00
je 0x14005f1c7
mov r15, qword [rsp + 0x58]
call fcn.1400597b0
cmp rax, r15
jb 0x14005f1c7
jne 0x14005f73e
cmp edx, r12d
jae 0x14005f73e
call fcn.14005fe7b
test rax, rax
je 0x14005f237
mov r12, rax
mov r15, qword [rax]
and qword [rax], 0
test r15, r15
je 0x14005f237
mov qword [rsp + 0x70], r15
mov qword [r15 + 0x18], 0
mov qword [r15 + 0x20], 0
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], r13
mov rcx, r14
lea rdx, [rsp + 0x70]
call fcn.1400607ed
mov rax, qword [r12]
mov qword [rsp + 0x90], rax
mov qword [r12], r15
mov rcx, r14
call fcn.14005fe70
jmp 0x14005f0eb
call fcn.1400bbce0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], r13
mov rcx, r14
lea r15, [rsp + 0x70]
mov rdx, r15
call fcn.1400607ed
mov rcx, r15
call fcn.14005d1b5
jmp 0x14005f0eb
mov rbx, qword [rsi + 8]
add rbx, 0x10
mov dword [rsp + 0xd8], 0x3b9aca00
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
and qword [rsp + 0xb0], 0
lea r14, [rsp + 0xe0]
mov rcx, r14
mov rdx, rbx
call fcn.14005d574
lea rdx, str._rustc_5ac4c8a63ee305742071ac6dd11817f7c24adce2library_std_src_syncmpmczero.rs
mov rcx, r14
call fcn.14005d1fb
mov r14, rax
mov ebp, edx
lea rdx, [rax + 0x40]
lea r15, [rsp + 0x58]
mov rcx, r15
call fcn.14005fd8f
cmp qword [r15], 0
je 0x14005f392
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0xe0], xmm0
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xb0], rbx
add byte [rcx + rcx*4 - 0xf], cl
xor ebp, ebp
xor r14d, r14d
mov rcx, r15
call fcn.1400607be
test r14, r14
je 0x14005f3ce
imul rax, rbp, 0x18
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [r14 + rax + 8], xmm0
lock or qword [r14 + rax + 0x18], 1
add rbx, 0x100
mov rcx, rbx
call fcn.14006072a
jmp 0x14005f4b2
mov rcx, qword [rsp + 0x28]
mov eax, 2
cmp rcx, 2
je 0x14005f47e
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
jmp 0x14005f3c4
lea rcx, [rsp + 0x58]
call fcn.14005fe70
cmp byte [r14 + 0x70], 0
je 0x14005f53d
movups xmm0, xmmword [rsp + 0x28]
lea rax, [rdx + r8]
mov qword [rsp + 0xe0], rax
inc rcx
mov qword [rsp + 0xe8], rcx
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rdx + r8], xmm0
mov qword [rdx + r8 + 0x10], rcx
add rbx, 0x160
mov rcx, rbx
call fcn.14006072a
jmp 0x14005f479
cmp ebp, 0x1e
jne 0x14005f332
test r15, r15
je 0x14005f781
mov qword [rbx + 0x88], r15
lock add qword [rbx + 0x80], 2
mov qword [r14], r15
mov ebp, 0x1e
jmp 0x14005f33a
mov r12, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], rax
call fcn.14005fe7b
test rax, rax
je 0x14005f6bc
mov r15, rax
mov r13, qword [rax]
and qword [rax], 0
test r13, r13
je 0x14005f642
mov qword [rsp + 0x88], r13
mov qword [r13 + 0x18], 0
mov qword [r13 + 0x20], 0
cmp r12, 2
je 0x14005f791
mov rax, r12
lea r12, [rsp + 0xe0]
mov qword [r12], rax
mov rax, qword [rsp + 0x80]
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], r14
mov byte [r12 + 0x18], bpl
mov eax, dword [rsp + 0x39]
mov ecx, dword [rsp + 0x3c]
mov dword [r12 + 0x19], eax
mov dword [r12 + 0x1c], ecx
lea rax, [rsp + 0x90]
mov qword [r12 + 0x20], rax
lea rax, [rsp + 0xd0]
mov qword [r12 + 0x28], rax
mov qword [r12 + 0x30], rbx
lea rcx, [rsp + 0x58]
lea r8, [rsp + 0x88]
mov rdx, r12
call fcn.14005feb7
mov rax, qword [r15]
mov qword [r12], rax
mov qword [r15], r13
lea rcx, [rsp + 0xe0]
call fcn.14005fe70
mov rax, qword [rsp + 0x58]
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x70], xmm0
cmp rax, 3
je 0x14005f6b6
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x40], rax
jmp 0x14005f47e
call fcn.1400bbce0
mov qword [rsp + 0x88], rax
cmp r12, 2
je 0x14005f791
lea rdx, [rsp + 0xe0]
mov qword [rdx], r12
mov rax, qword [rsp + 0x80]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], r14
mov byte [rdx + 0x18], bpl
lea rax, [rsp + 0x90]
mov qword [rdx + 0x20], rax
lea rax, [rsp + 0xd0]
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x30], rbx
lea rcx, [rsp + 0x58]
lea r15, [rsp + 0x88]
mov r8, r15
call fcn.14005feb7
mov rcx, r15
call fcn.14005d1b5
jmp 0x14005f615
mov r12d, 2
call fcn.1400bbce0
mov qword [rsp + 0x58], rax
cmp r12, 2
je 0x14005f791
lea rdx, [rsp + 0xe0]
mov qword [rdx], r12
mov rax, qword [rsp + 0x80]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], r14
jb 0x14005f6fb
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsp + 0x48], xmm0
xor eax, eax
jmp 0x14005f47e
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._rustc_5ac4c8a63ee305742071ac6dd11817f7c24adce2library_std_src_syncmpmclist.rs
jmp 0x14005f79f
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._rustc_5ac4c8a63ee305742071ac6dd11817f7c24adce2library_std_src_syncmpmccontext.rs