Function at 0x140108580
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, 0x158
movaps xmmword [rsp + 0x140], xmm6
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov al, byte [rcx + 0x18]
test al, 1
je 0x1401089c1
mov rsi, rcx
cmp byte [rcx + 0x48], 0
jne 0x1401089c1
and al, 0xfe
mov byte [rsi + 0x18], al
lea rcx, [rsi + 0x1c0]
call fcn.14001dfa0
mov qword [rsp + 0x30], rsi
test byte [rsi + 0x18], 2
jne 0x140108d2b
lea rdi, [rsp + 0x68]
mov rcx, rdi
call fcn.14001d7d0
mov rsi, qword [rdi]
mov rdi, qword [rdi + 8]
cmp rsi, rdi
je 0x1401086f3
mov rax, qword [rsp + 0x30]
lea r12, [rax + 0x1e0]
lea rbx, [rsp + 0xa0]
mov rax, qword [rsp + 0x30]
test byte [rax + 0x18], 1
je 0x1401086ea
mov rcx, qword [rsi + 8]
mov qword [rsp + 0xa0], rcx
test rcx, rcx
je 0x140108d19
call fcn.14013dc90
mov qword [rsp + 0xa8], rax
mov rcx, r12
mov rdx, rbx
call fcn.1400ddbd0
mov rcx, qword [rsp + 0x30]
mov cl, byte [rcx + 0x18]
and cl, 1
lea rdx, [0x14021af70]
cmp rsi, rdx
movzx eax, al
mov ebp, eax
mov edx, 1
cmove ebp, edx
test cl, cl
cmove ebp, eax
mov rcx, qword [rsi + 8]
mov qword [rsp + 0xa0], rcx
test rcx, rcx
je 0x140108c9b
call fcn.14013dc90
mov qword [rsp + 0xa8], rax
mov rcx, rbx
call fcn.1401091b0
movzx ecx, bpl
or bpl, 8
movzx r13d, bpl
test al, al
cmove r13d, ecx
mov rax, qword [rsp + 0x30]
mov rbp, qword [rax + 0x2f0]
mov r15, qword [rax + 0x2f8]
xor r14d, r14d
cmp rbp, r15
jne 0x140108c9e
mov dword [rsi + 4], r14d
mov byte [rsi], r13b
add rsi, 0x10
cmp rsi, rdi
jne 0x140108616
jmp 0x1401086f3
xor ecx, ecx
xor eax, eax
jmp 0x14010865d
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rcx + 0x388]
mov rax, qword [rcx + 0x28]
mov rsi, qword [rcx + 0x30]
test rdi, rdi
je 0x140108fa8
cmp rax, rsi
jne 0x140109010
call fcn.14001a3b0
mov rax, qword [0x1402270c8]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x388]
test rdi, rdi
je 0x140109065
lea rbx, [rsp + 0xa0]
mov r8d, 0x98
mov rcx, rbx
mov dl, 0xaa
call fcn.140122050
mov rcx, rbx
call fcn.14001d790
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r8, str.num_cpus
lea r9, str.number
mov rcx, rbx
xor edx, edx
call fcn.14001db30
mov rcx, rbx
mov dl, 1
xor r8d, r8d
mov rax, rdi
call qword [0x14023a010]
mov rcx, rbx
call fcn.140100740
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r12d, eax
mov rdi, qword [rsp + 0x30]
cmp dword [rdi + 0xf0], 0
je 0x14010882c
lea rsi, [rdi + 0xf0]
mov rdi, qword [rdi + 0x388]
test rdi, rdi
je 0x140109104
lea rbx, [rsp + 0xa0]
mov r8d, 0x98
mov rcx, rbx
mov dl, 0xaa
call fcn.140122050
mov rcx, rbx
call fcn.14001d790
mov qword [rsp + 0x20], rsi
lea r8, str.process_sort_index
lea r9, str.sort_index
mov rcx, rbx
mov edx, r12d
call fcn.14001db30
mov rcx, rbx
mov dl, 1
xor r8d, r8d
mov rax, rdi
call qword [0x14023a010]
mov rcx, rbx
call fcn.140100740
mov rdi, qword [rsp + 0x30]
cmp qword [rdi + 0xe0], 0
jne 0x140108a7c
mov rsi, qword [rdi + 0x108]
test rsi, rsi
jne 0x1401089ed
mov rdi, qword [rsp + 0x30]
cmp qword [rdi + 0x198], 0
jne 0x14010909e
mov rsi, qword [rdi + 0x28]
mov rbx, qword [rdi + 0x30]
cmp rbx, rsi
jne 0x1401090b5
mov qword [rdi + 0x30], rsi
mov byte [rdi + 0x48], 1
lea r15, [rdi + 8]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea rbx, [rdi + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401090ea
mov rsi, qword [rdi + 0x50]
mov rdi, qword [rdi + 0x58]
cmp rsi, rdi
je 0x1401088bb
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14023a010]
add rsi, 8
jmp 0x1401088a0
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x68]
lea rsi, [rax + 0x70]
cmp rdi, rsi
je 0x14010899e
lea r14, [rsp + 0xa0]
mov r12, qword [rdi + 0x38]
lea r13, [rdi + 0x28]
mov ecx, 0x38
call fcn.14011d790
mov rbp, rax
mov rcx, rax
lea rdx, [0x1400605c0]
lea r8, [0x14005c410]
lea r9, [0x140060620]
call fcn.1400dfea0
lea rax, [0x1400a0700]
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0x28]
mov rdx, r13
call fcn.140109370
mov rax, qword [rdi + 0x30]
mov qword [rbp + 0x30], rax
mov qword [rsp + 0x40], rbp
mov rcx, r14
lea rdx, str.SetDisabledWhileLocked
lea r8, str..._.._base_trace_event_trace_log.cc
mov r9d, 0x4d1
call fcn.1400ddbb0
mov rcx, r12
mov rdx, r14
lea r8, [rsp + 0x40]
call fcn.140109390
mov rcx, qword [rdi + 8]
test rcx, rcx
jne 0x14010897b
mov rax, qword [rdi + 0x10]
cmp qword [rax], rdi
jne 0x140108988
mov rdi, rax
cmp rax, rsi
jne 0x1401088d9
jmp 0x14010899e
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14010896d
jmp 0x14010897b
add rdi, 0x10
mov rcx, qword [rdi]
lea rdi, [rcx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rax], rcx
je 0x14010896d
jmp 0x14010898c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401090f7
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x48], 0
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.14011fe20
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r14, str.thread_sort_index
lea r13, str.sort_index
lea r15, [rsp + 0xa0]
cmp dword [rsi + 0x14], 0
je 0x140108a6e
lea rax, [rsi + 0x10]
lea rdi, [rsi + 0x14]
mov ebx, dword [rax]
mov rax, qword [rsp + 0x30]
mov rbp, qword [rax + 0x388]
test rbp, rbp
je 0x140109139
mov r8d, 0x98
mov rcx, r15
mov dl, 0xaa
call fcn.140122050
mov rcx, r15
call fcn.14001d790
mov qword [rsp + 0x20], rdi
mov rcx, r15
mov edx, ebx
mov r8, r14
mov r9, r13
call fcn.14001db30
mov rcx, r15
mov dl, 1
xor r8d, r8d
mov rax, rbp
call qword [0x14023a010]
mov rcx, r15
call fcn.140100740
mov rsi, qword [rsi]
test rsi, rsi
je 0x14010884a
jmp 0x140108a03
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
mov rsi, qword [rdi + 0xd8]
xor edi, edi
mov r13d, 0
test rsi, rsi
je 0x140108bc8
movabs rdx, 0xfffffffffffffff
xor eax, eax
xor r13d, r13d
mov dword [rsp + 0x3c], r12d
movzx r15d, byte [rsi + 0x2f]
test r15b, r15b
jns 0x140108ad3
mov r14, qword [rsi + 0x18]
mov r15, qword [rsi + 0x20]
jmp 0x140108ad7
lea r14, [rsi + 0x18]
cmp r13, rax
jb 0x140108c82
mov rdi, qword [rsp + 0x80]
sub r13, rdi
mov rbx, r13
sar rbx, 4
lea r12, [rbx + 1]
cmp r12, rdx
ja 0x14010916e
sub rax, rdi
mov rcx, rax
sar rcx, 3
cmp rcx, r12
jb 0x140108b11
mov r12, rcx
movabs rcx, 0x7ffffffffffffff0
cmp rax, rcx
cmovae r12, rdx
test r12, r12
je 0x140109162
cmp r12, rdx
ja 0x140109169
mov rcx, r12
shl rcx, 4
call fcn.14011d790
mov rbp, rax
shl rbx, 4
shl r12, 4
add r12, rbp
mov qword [rbp + rbx], r14
mov qword [rbp + rbx + 8], r15
test r13, r13
jg 0x140108ba6
lea r13, [rbx + rbp]
add r13, 0x10
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r12
test rdi, rdi
jne 0x140108bb6
mov r12d, dword [rsp + 0x3c]
movabs rdx, 0xfffffffffffffff
mov rsi, qword [rsi]
test rsi, rsi
je 0x140108bc0
mov rax, qword [rsp + 0x90]
jmp 0x140108abf
mov rcx, rbp
mov rdx, rdi
mov r8, r13
call fcn.140121c40
jmp 0x140108b5d
mov rcx, rdi
call fcn.14011d780
jmp 0x140108b82
mov rdi, qword [rsp + 0x80]
lea rax, [0x1401f4ced]
lea r8, [rsp + 0x58]
mov qword [r8], rax
mov qword [r8 + 8], 1
sub r13, rdi
sar r13, 4
lea rdx, [rsp + 0x48]
mov qword [rdx], r13
mov qword [rdx + 8], rdi
lea rcx, [rsp + 0x68]
call fcn.14001e230
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x388]
test rbx, rbx
je 0x14010917b
lea rbp, [rsp + 0xa0]
mov r8d, 0x98
mov rcx, rbp
mov dl, 0xaa
call fcn.140122050
mov rcx, rbp
call fcn.14001d790
lea r8, [rsp + 0x68]
mov rcx, rbp
mov edx, r12d
call fcn.14001e340
mov rcx, rbp
mov dl, 1
xor r8d, r8d
mov rax, rbx
call qword [0x14023a010]
mov rcx, rbp
call fcn.140100740
cmp byte [rsp + 0x7f], 0
jns 0x140108c6b
mov rcx, qword [rsp + 0x68]
call fcn.14011d780
test rdi, rdi
je 0x140108c78
mov rcx, rdi
call fcn.14011d780
mov rdi, qword [rsp + 0x30]
jmp 0x14010883a
mov qword [r13], r14
mov qword [r13 + 8], r15
add r13, 0x10
mov qword [rsp + 0x88], r13
jmp 0x140108b91
int3
xor r14d, r14d
mov dword [rsp + 0x3c], 0
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x80], rcx
test rcx, rcx
je 0x140108d1c
call fcn.14013dc90
lea rdx, [rsp + 0x80]
mov qword [rdx + 8], rax
mov rcx, rbp
call fcn.14017e5c0
movzx r8d, r13b
or r13b, 0x10
mov edx, 1
mov ecx, dword [rsp + 0x3c]
shl edx, cl
xor r9d, r9d
test al, al
cmovne r9d, edx
movzx r13d, r13b
cmove r13d, r8d
or r14d, r9d
cmp ecx, 0x1f
ja 0x1401086d4
inc dword [rsp + 0x3c]
add rbp, 0x88
cmp rbp, r15
je 0x1401086d4
jmp 0x140108ca9
int3
mov qword [rsp + 0x88], 0
int3
call fcn.140172c10
mov rcx, qword [rax + 8]
cmp rcx, qword [rax]
jne 0x1401085e5
mov rax, qword [rsp + 0x30]
mov r15, qword [rax + 0x2f0]
mov r13, qword [rax + 0x2f8]
cmp r15, r13
je 0x1401085e5
movabs r14, 0x7ffffffffffffff0
xorps xmm6, xmm6
add r14, 8
call fcn.140172c10
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
cmp rcx, 0xf8
ja 0x1401085e5
movzx eax, byte [r15 + 0x17]
test al, al
jns 0x140108d90
mov rax, qword [r15 + 8]
cmp rax, 0x19
jne 0x140108dbf
mov qword [rsp + 0x20], 0x19
mov rcx, r15
xor edx, edx
mov r8, 0xffffffffffffffff
lea r9, str.event_whitelist_predicate
call fcn.1400e2db0
test eax, eax
je 0x140108f20
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x3a0]
test rax, rax
je 0x1401091a7
lea rcx, [rsp + 0xa0]
mov rdx, r15
call qword [0x14023a010]
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x1401091a7
call fcn.140172c10
mov rbp, rax
mov rsi, qword [rax + 8]
mov rax, qword [rax + 0x10]
cmp rsi, rax
jae 0x140108e2b
mov qword [rsi], rbx
add rsi, 8
mov qword [rbp + 8], rsi
add r15, 0x88
cmp r15, r13
jne 0x140108d6a
jmp 0x1401085e5
mov rcx, qword [rbp]
sub rsi, rcx
sar rsi, 3
lea rdx, [rsi + 1]
movabs rdi, 0x1fffffffffffffff
cmp rdx, rdi
ja 0x14010919f
sub rax, rcx
mov r12, rax
sar r12, 2
cmp r12, rdx
cmovb r12, rdx
cmp rax, r14
movabs rax, 0x1fffffffffffffff
cmovae r12, rax
test r12, r12
je 0x140108f7f
movabs rax, 0x1fffffffffffffff
cmp r12, rax
ja 0x140109169
lea rcx, [r12*8]
call fcn.14011d790
lea rdx, [rax + rsi*8]
lea r8, [rax + r12*8]
mov qword [rdx], rbx
lea rax, [rax + rsi*8]
add rax, 8
mov rsi, qword [rbp]
mov rdi, qword [rbp + 8]
cmp rdi, rsi
je 0x140108f86
mov rcx, qword [rdi - 8]
mov qword [rdi - 8], 0
lea rbx, [rdi - 8]
mov qword [rdx - 8], rcx
add rdx, 0xfffffffffffffff8
mov rdi, rbx
cmp rbx, rsi
jne 0x140108ebc
mov rdi, qword [rbp]
mov rsi, qword [rbp + 8]
mov qword [rbp], rdx
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], r8
cmp rsi, rdi
je 0x140108f92
mov rbp, qword [rsi - 8]
mov qword [rsi - 8], 0
add rsi, 0xfffffffffffffff8
test rbp, rbp
je 0x140108ef0
mov rcx, rbp
call fcn.140180da0
mov rcx, rbp
call fcn.14011d780
jmp 0x140108ef0
mov ecx, 0x28
call fcn.14011d790
mov rbp, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x10], xmm6
mov dword [rax + 0x20], 0x3f800000
mov rcx, r15
lea rdx, str.event_name_allowlist
mov r8, rax
call fcn.14017e4d0
test al, al
je 0x1401091aa
mov ecx, 0x10
call fcn.14011d790
mov rbx, rax
mov qword [rsp + 0xa0], rbp
mov rcx, rax
lea rdx, [rsp + 0xa0]
call fcn.140180d50
jmp 0x140108df6
xor eax, eax
jmp 0x140108e98
mov qword [rbp], rdx
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], r8
test rdi, rdi
je 0x140108e16
mov rcx, rdi
call fcn.14011d780
jmp 0x140108e16
cmp rax, rsi
je 0x140108719
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call fcn.140172c90
mov rcx, qword [rsi + 0x30]
mov rdx, qword [rcx - 8]
mov rcx, rax
call fcn.14017fb90
mov rsi, qword [rsi + 0x30]
mov rdi, qword [rsi - 8]
mov qword [rsi - 8], 0
test rdi, rdi
je 0x140108ff8
mov rcx, rdi
call fcn.140100740
mov rcx, rdi
call fcn.14011d780
add rsi, 0xfffffffffffffff8
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x30], rsi
cmp qword [rax + 0x28], rsi
jne 0x140108fb1
jmp 0x140108719
mov rcx, qword [rsi - 8]
mov dl, 1
xor r8d, r8d
mov rax, rdi
call qword [0x14023a010]
mov rax, qword [rsp + 0x30]
mov rsi, qword [rax + 0x30]
mov rbx, qword [rsi - 8]
mov qword [rsi - 8], 0
test rbx, rbx
je 0x14010904c
mov rcx, rbx
call fcn.140100740
mov rcx, rbx
call fcn.14011d780
add rsi, 0xfffffffffffffff8
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x30], rsi
cmp qword [rax + 0x28], rsi
je 0x140108719
jmp 0x140109010
mov rcx, qword [rsp + 0x30]
xor edx, edx
xor r8d, r8d
call fcn.140172c90
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x20], rcx
lea r8, str.num_cpus
lea r9, str.number
mov rcx, rax
xor edx, edx
call fcn.14001db30
jmp 0x1401087a2
lea r8, [rdi + 0x198]
mov rcx, rdi
mov edx, r12d
call fcn.140173430
jmp 0x14010885d
mov rdi, qword [rbx - 8]
mov qword [rbx - 8], 0
add rbx, 0xfffffffffffffff8
test rdi, rdi
je 0x1401090da
mov rcx, rdi
call fcn.140100740
mov rcx, rdi
call fcn.14011d780
cmp rbx, rsi
mov rdi, qword [rsp + 0x30]
je 0x14010886e
jmp 0x1401090b5
mov rcx, rbx
call fcn.1400fd520
jmp 0x140108898
mov rcx, r15
call fcn.1400fd520
jmp 0x1401089b8
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
xor edx, edx
xor r8d, r8d
call fcn.140172c90
mov qword [rsp + 0x20], rsi
lea r8, str.process_sort_index
lea r9, str.sort_index
mov rcx, rax
mov edx, r12d
call fcn.14001db30
jmp 0x14010882c
mov rcx, qword [rsp + 0x30]
xor edx, edx
xor r8d, r8d
call fcn.140172c90
mov qword [rsp + 0x20], rdi
mov rcx, rax
mov edx, ebx
mov r8, r14
mov r9, r13
call fcn.14001db30
jmp 0x140108a6e
xor ebp, ebp
jmp 0x140108b43
call fcn.14011d580
lea rcx, [rsp + 0x80]
call fcn.140152a60
mov rcx, qword [rsp + 0x30]
xor edx, edx
xor r8d, r8d
call fcn.140172c90
lea r8, [rsp + 0x68]
mov rcx, rax
mov edx, r12d
call fcn.14001e340
jmp 0x140108c5a
mov rcx, rbp
call fcn.140152a60
int3
int3