Function at 0x140076a1f
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, 0xc8
mov r14, rcx
mov rdi, qword [rcx]
mov rbx, qword [rcx + 8]
lea rcx, [rsp + 0xb0]
mov rdx, rdi
mov r8, rbx
call fcn.140076fb6
lea rax, [rbx + 0x168]
add rbx, 0x100
test rdi, rdi
cmovne rbx, rax
mov rsi, qword [rbx]
mov qword [rsp + 0x58], r14
mov r14, qword [r14 + 0x18]
mov rax, qword [rsi + 0xd8]
test rax, rax
je 0x140076a98
mov rdx, qword [rsi + 0xe0]
mov rcx, qword [rdx + 0x10]
dec rcx
and rcx, 0xfffffffffffffff0
add rcx, rax
add rcx, 0x10
call qword [rdx + 0x28]
lea rdi, [rsi + 0x40]
mov rcx, rdi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1400c93c8]
shl rax, 1
test rax, rax
jne 0x140076efc
xor ebp, ebp
mov al, byte [rsi + 0x48]
mov qword [rsp + 0x60], 0
lea r15, [rsi + 0x50]
lea r13, [rsi + 0xd0]
lea r12, [rsp + 0x80]
mov rbx, qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov qword [rsp + 0x30], r13
mov rcx, r15
call fcn.140076fef
cmp dl, 2
jne 0x140076b50
lock inc qword [rsi + 0x108]
mov cl, byte [rsi + 0xcc]
mov r13, qword [rsp + 0x30]
test cl, cl
jne 0x140076bc4
test bpl, bpl
setne bpl
mov r8, qword [rsi + 0x20]
mov r9d, dword [rsi + 0x28]
mov rcx, r13
mov rdx, rdi
call fcn.140075ce0
mov cl, byte [rsi + 0x48]
test cl, cl
jne 0x140076f0c
mov ecx, dword [rsi + 0xc8]
test ecx, ecx
jne 0x140076ba0
mov cl, byte [rsi + 0xcc]
test cl, cl
setne dl
or al, dl
jne 0x140076b05
jmp 0x140076c68
mov r13, rax
lock dec qword [rsi + 0x110]
test bpl, bpl
setne dl
mov rcx, rdi
call fcn.140002730
mov rax, qword [r13 + 0x10]
mov rcx, r13
call qword [rax]
mov qword [rsp + 0x80], r13
mov rcx, r12
call fcn.140076967
mov rcx, rdi
call rbx
mov rax, qword [0x1400c93c8]
shl rax, 1
test rax, rax
jne 0x140076bb7
xor ebp, ebp
mov al, byte [rsi + 0x48]
jmp 0x140076ae5
dec ecx
mov dword [rsi + 0xc8], ecx
cmp byte [rsi + 0xcc], 0
je 0x140076ae5
jmp 0x140076bc4
call fcn.140098e90
mov ebp, eax
xor bpl, 1
jmp 0x140076b98
lea r14, [rsp + 0x80]
mov rcx, r15
call fcn.140076fef
cmp dl, 2
je 0x140076c56
mov r12, rax
mov r13d, edx
lock dec qword [rsi + 0x110]
test bpl, bpl
setne dl
mov rcx, rdi
call fcn.140002730
test r13b, 1
jne 0x140076c17
mov rax, qword [r12 + 0x10]
mov rcx, r12
call qword [rax]
mov qword [rsp + 0x80], r12
mov rcx, r14
call fcn.140076967
jmp 0x140076c2e
lock sub qword [r12], 0x40
jb 0x140076f65
mov rax, qword [r12 + 0x10]
mov rcx, r12
call qword [rax + 0x30]
mov rcx, rdi
call rbx
mov rax, qword [0x1400c93c8]
shl rax, 1
test rax, rax
jne 0x140076c49
xor ebp, ebp
mov al, byte [rsi + 0x48]
jmp 0x140076bcc
call fcn.140098e90
mov ebp, eax
xor bpl, 1
jmp 0x140076c44
lock inc qword [rsi + 0x108]
mov rcx, qword [rsp + 0x30]
jmp 0x140076def
mov rcx, qword [rsi + 0x90]
mov rdx, qword [rsi + 0x98]
mov r8, r14
call case.0x14006aebb.1277
mov rbx, qword [rsi + 0x70]
mov r8, qword [rsi + 0x78]
mov r10, r8
and r10, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea r11, [rbx - 0x20]
pcmpeqd xmm1, xmm1
xor edx, edx
mov rcx, qword [rsp + 0x30]
movdqu xmm2, xmmword [rbx + r10]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r15d, xmm3
test r15w, r15w
je 0x140076cf3
bsf eax, r15d
lea r12d, [r15 - 1]
and r12d, r15d
add rax, r10
and rax, r8
mov r9, rax
shl r9, 5
mov r13, r11
sub r13, r9
mov r15d, r12d
cmp r14, qword [r13]
jne 0x140076cc4
jmp 0x140076d13
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x140076dc2
add r10, rdx
add r10, 0x10
add rdx, 0x10
and r10, r8
jmp 0x140076cb1
neg rax
shl rax, 5
sar r9, 5
lea rdx, [r9 - 0x10]
and rdx, r8
movdqu xmm0, xmmword [rbx + rdx]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r10d, xmm0
movdqu xmm0, xmmword [rbx + r9]
pcmpeqb xmm0, xmm1
pmovmskb r8d, xmm0
test r10d, r10d
je 0x140076d5b
bsr r10w, r10w
xor r10d, 0xf
jmp 0x140076d60
mov r10w, 0x10
add rax, rbx
or r8d, 0x10000
bsf r8d, r8d
add r10d, r8d
mov r8b, 0x80
cmp r10w, 0xf
ja 0x140076d85
inc qword [rsi + 0x80]
mov r8b, 0xff
mov byte [rbx + r9], r8b
mov byte [rdx + rbx + 0x10], r8b
dec qword [rsi + 0x88]
mov rdx, qword [rax - 0x18]
movdqu xmm0, xmmword [rax - 0x10]
movdqa xmmword [rsp + 0x80], xmm0
test rdx, rdx
mov rcx, qword [rsp + 0x30]
je 0x140076dc2
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x40], xmm0
jmp 0x140076dc4
xor edx, edx
mov rax, qword [rsi + 0xb8]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rsi + 0xa8]
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsi + 0xa8], rdx
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi + 0xb0], xmm0
lock dec qword [rsi + 0x100]
mov rax, 0xffffffffffffffff
lock xadd qword [rsi + 0x108], rax
mov rdx, qword [rsi + 0x108]
cmp rax, rdx
jb 0x140076f7d
cmp byte [rsi + 0xcc], 0
je 0x140076e32
mov rax, qword [rsi + 0x100]
test rax, rax
jne 0x140076e32
call qword [sym.imp.kernel32.dll_WakeConditionVariable]
test bpl, bpl
setne dl
mov rcx, rdi
call fcn.140002730
mov rax, qword [rsi + 0xe8]
test rax, rax
je 0x140076e68
mov rdx, qword [rsi + 0xf0]
mov rcx, qword [rdx + 0x10]
dec rcx
dec ecx
call fcn.140098e90
mov ebp, eax
xor bpl, 1
jmp 0x140076aba
sti
invalid
invalid
xor al, 1
lea r8, [rsp + 0x80]
and al, 0x80
add byte [rax], al
add byte [rcx - 0x77], cl
cmp byte [rcx - 0x78], al
push 0x244c8b08
mov edx, dword [rsp + 0x43]