Function at 0x14000e790
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, 0x178
mov rax, qword [0x1401f6040]
xor rax, rsp
mov qword [rsp + 0x170], rax
cmp qword [rdx + 0x78], 0
je 0x14000f01c
mov rbp, r8
mov r14, rdx
mov r15, rcx
lea rsi, [rcx + 0x18]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14000f01f
mov qword [rsp + 0x78], rsi
mov rax, qword [r14 + 0x28]
mov rcx, qword [r14 + 0x20]
xor edx, edx
cmp rax, rcx
setns dl
movabs r9, 0x7fffffffffffffff
add rdx, r9
sub rax, rcx
cmovo rax, rdx
mov ecx, dword [r14 + 0x38]
xor r8d, r8d
cmp ecx, 2
mov edx, ecx
mov dword [rsp + 0x30], 0
cmove edx, r8d
cmp rax, qword [r15 + 0x50]
cmovl edx, ecx
mov dword [r14 + 0x38], edx
mov rax, qword [r15 + 0x38]
mov rcx, r9
cmp rax, qword [r15 + 0x40]
jne 0x14000eadb
lea r8, [r15 + 0x38]
mov r10, qword [rbp]
xor r12d, r12d
mov qword [rbp], r12
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov rdx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x48], rax
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0x40], rax
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x34], eax
mov eax, dword [r14 + 0x6c]
mov dword [rsp + 0xd0], eax
movups xmm0, xmmword [r14 + 0x3c]
movups xmm1, xmmword [r14 + 0x4c]
movups xmm2, xmmword [r14 + 0x5c]
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov r11d, dword [r14 + 0x70]
mov al, byte [r14 + 0x74]
mov byte [rsp + 0x27], al
mov rdi, qword [r14 + 0x78]
mov qword [r14 + 0x78], r12
mov r13, qword [r15 + 0x38]
mov rax, qword [r15 + 0x40]
mov rbx, rax
movabs r9, 0xf0f0f0f0f0f0f0f1
sub rbx, r13
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rdx
je 0x14000ec3e
sar rbx, 3
imul rbx, r9
mov dword [rsp + 0x20], r11d
mov qword [rsp + 0x38], rbp
lea r11, [rbx - 1]
mov r12, r11
shr r12, 1
mov rcx, rax
sub rcx, r13
sar rcx, 3
imul rcx, r9
cmp rcx, r12
jbe 0x14000f01a
mov rdx, r12
shl rdx, 7
lea rdx, [rdx + r12*8]
lea rbp, [rdx + r13]
cmp dword [r13 + rdx + 0x38], 0
mov qword [rsp + 0x60], r11
jne 0x14000eaeb
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
movabs r9, 0x7fffffffffffffff
add r9, rdx
add r9, 2
mov rsi, r10
cmp r9, 2
jb 0x14000f03e
lea r9, [r8 + rdx]
sar r9, 0x3f
btc r9, 0x3f
add r8, rdx
cmovo r8, r9
mov rdx, r8
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
lea r9, [r11 + r10]
sar r9, 0x3f
btc r9, 0x3f
mov r8, r11
add r8, r10
cmovo r8, r9
movabs r9, 0x7fffffffffffffff
add r9, r10
cmp r9, 0xfffffffffffffffe
setb r9b
cmp dword [rsp + 0x34], 0
setne r10b
cmovne r8, r11
or r10b, r9b
je 0x14000f065
cmp rdx, r8
setl dl
mov r10, rsi
mov r11d, dword [rsp + 0x20]
je 0x14000f0a0
neg dl
or dl, 1
mov r8, qword [rsp + 0x28]
movabs r9, 0xf0f0f0f0f0f0f0f1
test dl, dl
jle 0x14000ec36
cmp rcx, rbx
je 0x14000eaf7
mov qword [rsp + 0x50], rdi
jbe 0x14000f01a
mov rax, rbx
shl rax, 7
lea rax, [rax + rbx*8]
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
mov qword [rsp + 0x58], rax
lea rax, [r13 + rax + 0x20]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
lea rsi, [rbp + 0x20]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rbp + 0x70]
mov dword [rax + 0x50], ecx
mov cl, byte [rbp + 0x74]
mov byte [rax + 0x54], cl
mov rdx, qword [rbp + 0x78]
mov qword [rbp + 0x78], 0
mov rcx, qword [rax + 0x58]
mov qword [rax + 0x58], rdx
test rcx, rcx
jne 0x14000ef8b
add r13, qword [rsp + 0x58]
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x80], 0
mov rcx, qword [r13 + 0x80]
mov qword [r13 + 0x80], rax
test rcx, rcx
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x50]
jne 0x14000efd0
mov rax, qword [r15 + 0x40]
mov r13, qword [r8]
mov rcx, rax
sub rcx, r13
sar rcx, 3
imul rcx, r9
cmp rcx, rbx
jbe 0x14000f01a
mov rbx, r12
cmp qword [rsp + 0x60], 1
jbe 0x14000ec3e
jmp 0x14000e906
mov ecx, dword [rax + 0x38]
mov dword [rsp + 0x30], ecx
mov rcx, qword [rax + 0x28]
jmp 0x14000e83b
mov rsi, r10
mov rdx, qword [rbp + 0x28]
jmp 0x14000e984
cmp rax, qword [r15 + 0x48]
jae 0x14000eeea
test rax, rax
je 0x14000f01a
mov r13, rdi
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
lea rsi, [rbp + 0x20]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rbp + 0x70]
mov dword [rax + 0x70], ecx
mov cl, byte [rbp + 0x74]
mov byte [rax + 0x74], cl
mov rcx, qword [rbp + 0x78]
mov qword [rax + 0x78], rcx
xor edx, edx
mov qword [rbp + 0x78], rdx
mov rcx, qword [rbp + 0x80]
mov qword [rax + 0x80], rcx
mov qword [rbp + 0x80], rdx
add rax, 0x88
mov qword [r15 + 0x40], rax
mov rbp, qword [rsp + 0x38]
mov rdi, r13
jmp 0x14000eaad
jbe 0x14000f01a
mov r10, rdi
mov rax, r12
shl rax, 7
lea rax, [rax + r12*8]
lea rbx, [rax + r13]
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
lea rax, [r13 + rax + 0x20]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
mov ecx, 0xa
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rdx + 0x50]
mov dword [rax + 0x50], ecx
mov cl, byte [rdx + 0x54]
mov byte [rax + 0x54], cl
mov qword [rsp + 0x158], 0
mov rcx, qword [rax + 0x58]
mov qword [rax + 0x58], r10
test rcx, rcx
jne 0x14000ef51
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x160], 0
mov rcx, qword [rbx + 0x80]
mov qword [rbx + 0x80], rax
test rcx, rcx
jne 0x14000ef17
mov rax, qword [r15 + 0x40]
jmp 0x14000ed46
lea rdx, [rsp + 0xe0]
mov rcx, r8
call fcn.14000f100
movabs r9, 0xf0f0f0f0f0f0f0f1
mov r8, qword [rsp + 0x28]
jmp 0x14000ed42
mov r12, rbx
mov rbp, qword [rsp + 0x38]
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
lea rdx, [rsp + 0x100]
movaps xmmword [rdx - 0x10], xmm1
movaps xmmword [rdx - 0x20], xmm0
mov rcx, qword [rsp + 0x68]
mov qword [rdx], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rdx + 8], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rdx + 0x10], rcx
mov ecx, dword [rsp + 0x34]
mov dword [rdx + 0x18], ecx
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmm2, xmmword [rsp + 0xc0]
movups xmmword [rdx + 0x1c], xmm0
movups xmmword [rdx + 0x2c], xmm1
movups xmmword [rdx + 0x3c], xmm2
mov ecx, dword [rsp + 0xd0]
mov dword [rdx + 0x4c], ecx
mov dword [rdx + 0x50], r11d
mov cl, byte [rsp + 0x27]
mov byte [rdx + 0x54], cl
mov qword [rdx + 0x58], rdi
mov qword [rdx + 0x60], r10
mov rcx, rax
sub rcx, r13
sar rcx, 3
imul rcx, r9
cmp rcx, r12
jne 0x14000eb72
cmp rax, qword [r15 + 0x48]
jae 0x14000ec12
test rax, rax
je 0x14000f01a
mov rbx, rdi
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
mov ecx, 0xa
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rdx + 0x50]
mov dword [rax + 0x70], ecx
mov cl, byte [rdx + 0x54]
mov byte [rax + 0x74], cl
mov qword [rax + 0x78], rbx
xor ecx, ecx
mov qword [rsp + 0x158], rcx
mov qword [rax + 0x80], r10
mov qword [rsp + 0x160], rcx
add rax, 0x88
mov qword [r15 + 0x40], rax
sub rax, qword [r8]
sar rax, 3
imul rax, r9
cmp rax, r12
jbe 0x14000f01a
mov rcx, qword [rsp + 0x160]
test rcx, rcx
mov rdi, qword [rsp + 0x78]
jne 0x14000ee8a
mov rcx, qword [rsp + 0x158]
test rcx, rcx
jne 0x14000eea2
cmp qword [r15 + 0x20], 0
je 0x14000ee5e
mov rcx, qword [r15 + 0x38]
cmp rcx, qword [r15 + 0x40]
je 0x14000f02d
mov eax, dword [rcx + 0x38]
mov rsi, qword [rcx + 0x28]
cmp qword [rsp + 0x70], rsi
jne 0x14000edb2
cmp dword [rsp + 0x30], eax
je 0x14000ee5e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
je 0x14000ee1f
mov rbx, qword [r15 + 8]
mov rsi, qword [r15 + 0x20]
test rbx, rbx
jne 0x14000ee69
lea rdx, str.AddDelayedTask
lea r8, str....._base_task_thread_pooldelayed_task_manager.cc
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov r9d, 0x74
call fcn.1400916b0
lea r8, [rsp + 0xa0]
mov qword [r8], rbx
mov rax, qword [rsi]
mov rax, qword [rax]
mov rcx, rsi
mov rdx, rdi
xor r9d, r9d
call qword [0x1401e8220]
mov rcx, qword [r14 + 0x78]
test rcx, rcx
jne 0x14000eeba
mov rcx, qword [rbp]
test rcx, rcx
jne 0x14000eed2
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400d4e20
nop
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14000ee1f
mov eax, 1
lock xadd dword [rbx], eax
test eax, eax
jle 0x14000f0ed
cmp eax, 0x7fffffff
jne 0x14000eddb
jmp 0x14000f0ea
lock dec dword [rcx]
jne 0x14000ed70
mov rax, qword [rcx + 0x10]
call qword [0x1401e8220]
jmp 0x14000ed70
lock dec dword [rcx]
jne 0x14000ed81
mov rax, qword [rcx + 0x10]
call qword [0x1401e8220]
jmp 0x14000ed81
lock dec dword [rcx]
jne 0x14000ee2c
mov rax, qword [rcx + 0x10]
call qword [0x1401e8220]
jmp 0x14000ee2c
lock dec dword [rcx]
jne 0x14000ee39
mov rax, qword [rcx + 0x10]
call qword [0x1401e8220]
jmp 0x14000ee39
mov r13, rdi
mov rcx, r8
mov rdx, rbp
mov rdi, r10
call fcn.14000f100
mov r11d, dword [rsp + 0x20]
mov r10, rdi
movabs r9, 0xf0f0f0f0f0f0f0f1
mov r8, qword [rsp + 0x28]
jmp 0x14000eb61
lock dec dword [rcx]
jne 0x14000ec09
mov rax, qword [rcx + 0x10]
lea rdx, [0x140142e90]
cmp rax, rdx
jne 0x14000ef49
call fcn.1400d2b80
mov r8, qword [rsp + 0x28]
movabs r9, 0xf0f0f0f0f0f0f0f1
jmp 0x14000ec09
call qword [0x1401e8220]
jmp 0x14000ef35
lock dec dword [rcx]
jne 0x14000ebde
mov rax, qword [rcx + 0x10]
lea rdx, [0x140142e90]
cmp rax, rdx
jne 0x14000ef83
call fcn.1400d2b80
mov r8, qword [rsp + 0x28]
movabs r9, 0xf0f0f0f0f0f0f0f1
jmp 0x14000ebde
call qword [0x1401e8220]
jmp 0x14000ef6f
lock dec dword [rcx]
jne 0x14000ea71
mov rdi, r10
mov rax, qword [rcx + 0x10]
lea rdx, [0x140142e90]
cmp rax, rdx
jne 0x14000efc8
call fcn.1400d2b80
mov r8, qword [rsp + 0x28]
movabs r9, 0xf0f0f0f0f0f0f0f1
mov r10, rdi
mov r11d, dword [rsp + 0x20]
jmp 0x14000ea71
call qword [0x1401e8220]
jmp 0x14000efac
lock dec dword [rcx]
jne 0x14000eaa9
mov rdi, r10
mov rax, qword [rcx + 0x10]
lea rdx, [0x140142e90]
cmp rax, rdx
jne 0x14000f012
call fcn.1400d2b80
mov r8, qword [rsp + 0x28]
movabs r9, 0xf0f0f0f0f0f0f0f1
mov r10, rdi
mov rdi, qword [rsp + 0x50]
mov r11d, dword [rsp + 0x20]
jmp 0x14000eaa9
call qword [0x1401e8220]
jmp 0x14000eff1
ud2
int3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14000e7de
xor eax, eax
movabs rsi, 0x7fffffffffffffff
jmp 0x14000eda1
movabs r9, 0x7fffffffffffffff
cmp r8, rdx
je 0x14000e984
add r8, r9
add r8, 2
cmp r8, 1
ja 0x14000e984
int3
mov r9, qword [rsp + 0x40]
mov r8, r9
cmp qword [rsp + 0x48], r9
je 0x14000e9d0
movabs r8, 0x7fffffffffffffff
mov r9, qword [rsp + 0x48]
add r9, r8
add r9, 2
mov r8, qword [rsp + 0x40]
cmp r9, 1
ja 0x14000e9d0
int3
mov edx, dword [rbp + 0x70]
cmp edx, r11d
setl dl
je 0x14000f0c9
neg dl
or dl, 1
mov r8, qword [rsp + 0x28]
movabs r9, 0xf0f0f0f0f0f0f0f1
mov r11d, dword [rsp + 0x20]
jmp 0x14000e9f8
mov r12, rbx
mov rbp, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
movabs r9, 0xf0f0f0f0f0f0f0f1
mov r11d, dword [rsp + 0x20]
jmp 0x14000ec3e
int3
int3