Function at 0x14006a960
Capabilities:
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x328
movaps xmmword [rsp + 0x310], xmm6
mov rdi, r8
mov rbp, rdx
mov rbx, rcx
mov rax, qword [0x14013a028]
xor rax, rsp
mov qword [rsp + 0x308], rax
mov rax, qword [r8]
movzx eax, byte [rax + 0xd]
and eax, 0x7f
mov sil, 1
cmp eax, 1
jne 0x14006b9ca
mov rax, qword [rbx + 0x10]
mov ecx, 2
lock xadd dword [rax], ecx
test cl, 1
jne 0x14006bfc2
movabs r13, 0xfffffffc00000000
movaps xmm6, xmmword [0x140119af0]
movaps xmmword [rsp + 0x280], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x300], rax
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x2e0], xmm6
movaps xmmword [rsp + 0x2d0], xmm6
movaps xmmword [rsp + 0x2c0], xmm6
movaps xmmword [rsp + 0x2b0], xmm6
movaps xmmword [rsp + 0x2a0], xmm6
movaps xmmword [rsp + 0x290], xmm6
mov byte [rsp + 0x280], 0
mov byte [rsp + 0x300], 0
mov dword [rsp + 0x88], 0x102
mov byte [rsp + 0x8c], 0
mov r14, qword [rdi]
mov rax, r14
and rax, r13
cmp rax, qword [0x14013c508]
jne 0x14006aa62
mov rcx, r14
call fcn.14005de80
mov qword [rsp + 0x90], r14
add r14, 0x18
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14006aa84
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
test sil, sil
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x48], esi
je 0x14006bf93
mov r14, qword [rdi]
mov rax, qword [r14]
mov rax, qword [rax + 0x40]
lea rcx, [0x1400a3140]
cmp rax, rcx
jne 0x14006b947
lea r15, [r14 + 0x18]
mov rsi, r15
and rsi, r13
cmp rsi, qword [0x14013c508]
jne 0x14006aacb
mov rcx, r15
call fcn.14005de80
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1c0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x170], xmm6
mov rax, qword [r14 + 0x58]
lea r13, [r14 + 0x68]
cmp rax, qword [r14 + 0x60]
je 0x14006c2dd
lea r12, [r14 + 0x48]
mov rcx, qword [r14 + 0x70]
cmp rcx, qword [r14 + 0x78]
jne 0x14006c250
cmp qword [r14 + 0x50], rax
jb 0x14006c054
mov rcx, qword [r14 + 0x48]
shl rax, 7
movups xmm0, xmmword [rcx + rax]
movups xmm1, xmmword [rcx + rax + 0x10]
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [rcx + rax + 0x20]
movups xmm1, xmmword [rcx + rax + 0x30]
movups xmm2, xmmword [rcx + rax + 0x40]
movups xmm3, xmmword [rcx + rax + 0x50]
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x1b0], xmm2
movaps xmmword [rsp + 0x1c0], xmm3
movups xmm0, xmmword [rcx + rax + 0x60]
movaps xmmword [rsp + 0x1d0], xmm0
mov rdx, qword [rcx + rax + 0x6d]
mov qword [rsp + 0x1dd], rdx
mov rdx, qword [rcx + rax + 0x78]
mov qword [rsp + 0x1e8], rdx
mov qword [rcx + rax + 0x78], 0
mov rcx, qword [r14 + 0x50]
mov rax, qword [r14 + 0x58]
lea rdx, [rax + 1]
cmp rcx, rdx
movabs r13, 0xfffffffc00000000
jb 0x14006c057
cmp rcx, rax
jb 0x14006c05a
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14006c05d
mov rdx, qword [r12]
shl rax, 7
mov rcx, qword [rdx + rax + 0x78]
mov qword [rdx + rax + 0x78], 0
test rcx, rcx
jne 0x14006bd84
mov rax, qword [r14 + 0x50]
mov rcx, qword [r14 + 0x58]
inc rcx
xor edx, edx
cmp rcx, rax
cmovne rdx, rcx
mov qword [r14 + 0x58], rdx
cmp rax, 5
jae 0x14006be36
mov rax, qword [r14 + 0x58]
cmp rax, qword [r14 + 0x60]
jne 0x14006b8eb
mov rcx, qword [r14 + 0x70]
cmp rcx, qword [r14 + 0x78]
jne 0x14006c355
cmp rsi, qword [0x14013c508]
mov esi, dword [rsp + 0x48]
jne 0x14006ac6b
mov rcx, r15
call fcn.14005dfe0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movaps xmm2, xmmword [rsp + 0x190]
movaps xmm3, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x210], xmm2
movaps xmmword [rsp + 0x220], xmm3
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x230], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x240], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x250], xmm0
mov rax, qword [rsp + 0x1dd]
mov qword [rsp + 0x25d], rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x1e8], 0
mov byte [rsp + 0x270], 1
mov al, 1
movzx ecx, byte [rsp + 0x300]
cmp cl, al
je 0x14006c128
test cl, cl
jne 0x14006c20f
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmm1, xmmword [rsp + 0x200]
movaps xmm2, xmmword [rsp + 0x210]
movaps xmm3, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x290], xmm1
movaps xmmword [rsp + 0x280], xmm0
movaps xmmword [rsp + 0x2a0], xmm2
movaps xmmword [rsp + 0x2b0], xmm3
movaps xmm0, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmm0, xmmword [rsp + 0x240]
movaps xmmword [rsp + 0x2d0], xmm0
movaps xmm0, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0x2e0], xmm0
mov rax, qword [rsp + 0x25d]
mov qword [rsp + 0x2ed], rax
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x2f8], rax
mov qword [rsp + 0x268], 0
mov byte [rsp + 0x300], 1
cmp byte [rsp + 0x270], 0
je 0x14006adf4
mov rcx, qword [rsp + 0x268]
mov qword [rsp + 0x268], 0
test rcx, rcx
jne 0x14006b9f2
test sil, sil
je 0x14006ae16
mov rcx, qword [rsp + 0x1e8]
mov qword [rsp + 0x1e8], 0
test rcx, rcx
jne 0x14006ba62
mov rcx, qword [rsp + 0x90]
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x88], eax
movzx eax, byte [rcx + 0x10]
mov byte [rsp + 0x8c], al
test rcx, rcx
je 0x14006ae5e
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14013c508]
jne 0x14006ae5e
call fcn.14005e390
cmp byte [rsp + 0x300], 0
je 0x14006b451
cmp qword [rsp + 0x2a8], 0
jne 0x14006bea0
mov r14, qword [rdi]
movaps xmm0, xmmword [rsp + 0x280]
movaps xmm1, xmmword [rsp + 0x290]
movaps xmm2, xmmword [rsp + 0x2a0]
movaps xmm3, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x110], xmm2
movaps xmmword [rsp + 0x120], xmm3
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x130], xmm0
movaps xmm0, xmmword [rsp + 0x2d0]
movaps xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0x2e0]
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [rsp + 0x2ed]
mov qword [rsp + 0x15d], rax
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x2f8], 0
mov rax, qword [rbx]
mov rax, qword [rax + 8]
lea rcx, [0x1400d9c60]
cmp rax, rcx
jne 0x14006c22f
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
mov rax, qword [r14]
mov rax, qword [rax]
lea rcx, [0x14009e300]
cmp rax, rcx
jne 0x14006b927
lea r12, [r14 + 0xa0]
mov rax, r12
and rax, r13
cmp dword [r14 + 0x30], 2
mov ecx, dword [r14 + 0x38]
mov r15, qword [r14 + 0x40]
mov dword [rsp + 0xd0], ecx
mov rcx, qword [0x14013c508]
je 0x14006b98e
cmp rax, rcx
jne 0x14006af92
mov rcx, r12
call fcn.14005de80
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xe0], 0
mov rax, r15
and rax, r13
cmp rax, qword [0x14013c508]
jne 0x14006afbd
mov rcx, r15
call fcn.14005de80
movabs r9, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe8], r15
movzx r15d, byte [rsp + 0x89]
test r15b, 0x7f
je 0x14006bbe9
mov ecx, dword [r14 + 0x30]
mov eax, dword [rsp + 0xd0]
mov edx, dword [0x140148908]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
lea rsi, [rdx + 0x198]
mov r8d, dword [rdx + 0x198]
mov dword [rsp + 0x50], r8d
lea r10, [rdx + 0x194]
mov edx, dword [rdx + 0x194]
cmp edx, 0xffffffff
jne 0x14006b035
mov edx, 1
lock xadd dword [0x140151a90], edx
mov dword [r10], edx
mov dword [rsp + 0x6c], edx
mov edx, dword [0x140148908]
mov r8, qword gs:[0x58]
mov r13, qword [r8 + rdx*8]
movzx edx, byte [r13 + 0x19c]
mov byte [rsp + 0x3f], dl
movzx edx, byte [r13 + 0x19d]
mov byte [rsp + 0x3e], dl
mov edx, 1
lock xadd dword [0x140151a94], edx
cmp ecx, 2
mov dword [rsi], edx
mov dword [r10], eax
sete byte [r13 + 0x19c]
mov byte [r13 + 0x19d], 0
movzx eax, byte [rsp + 0x88]
movzx ecx, byte [r13 + 0x180]
mov byte [rsp + 0x3d], cl
mov byte [r13 + 0x180], al
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
mov byte [rsp + 0xb0], 0
mov byte [rsp + 0xc8], 0
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x14006b96f
mov qword [rsp + 0x60], r10
mov ecx, dword [0x140148908]
mov rdx, qword gs:[0x58]
mov r12, qword [rdx + rcx*8]
mov rcx, qword [r12 + 0x178]
mov qword [rsp + 0x78], rcx
mov qword [r12 + 0x178], rax
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0xa0], r9
mov byte [rsp + 0x90], 0
mov byte [rsp + 0xa0], 0
movaps xmmword [rsp + 0x1f0], xmm6
mov qword [rsp + 0x210], r9
movaps xmmword [rsp + 0x200], xmm6
mov byte [rsp + 0x1f0], 0
mov byte [rsp + 0x210], 0
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x14006bc25
mov qword [rsp + 0x58], r13
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x14006c125
mov r13, r12
mov r12, rsi
mov rsi, rdi
mov edi, r15d
mov rbx, rbp
mov qword [rsp + 0x90], rax
mov eax, dword [0x140148908]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbp, [rax + 0x148]
mov r15, qword [rbp]
mov rax, r15
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14013c508]
jne 0x14006b1cc
mov rcx, r15
call fcn.14005de80
lea rax, [rsp + 0xa0]
mov qword [rax - 8], r15
lea rcx, [rsp + 0x90]
mov qword [rbp], rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14006bb01
cmp qword [rcx], 0
mov rbp, rbx
mov rbx, qword [rsp + 0x30]
mov r15d, edi
mov rdi, rsi
mov rsi, r12
mov r12, r13
mov r13, qword [rsp + 0x58]
jne 0x14006c22c
mov byte [rax], 1
movzx eax, byte [rsp + 0x89]
and eax, 0x7f
cmp eax, 1
jne 0x14006ba9a
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xf0]
lea r8, [rsp + 0x88]
mov rcx, rbx
mov r9, r14
call fcn.14006c640
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x168], 0
test rcx, rcx
jne 0x14006be88
cmp byte [rsp + 0x210], 0
jne 0x14006bb1f
lea r12, [r12 + 0x178]
cmp byte [rsp + 0xa0], 0
je 0x14006b35b
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x140148908]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
mov qword [rax + 0x148], rcx
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x14013c508]
jne 0x14006b2d4
call fcn.14005dfe0
mov qword [rsp + 0x98], 0
mov r14, qword [rsp + 0x90]
test r14, r14
je 0x14006b35b
lock dec dword [r14 + 8]
jne 0x14006b35b
mov rcx, qword [r14]
mov rax, qword [rcx + 8]
lea rdx, [0x1400f3670]
cmp qword [rcx + 0x10], rdx
jne 0x14006b34d
lea rcx, [0x1400fe120]
cmp rax, rcx
jne 0x14006b34d
mov byte [rsp + 0x58], r15b
mov rcx, qword [r14 + 0x18]
test rcx, rcx
je 0x14006b32b
lock dec dword [rcx]
je 0x14006bf4e
mov r15, qword [r14 + 0x10]
test r15, r15
je 0x14006b33e
lock dec dword [r15]
je 0x14006bee1
mov rcx, r14
call fcn.1400a5630
mov r15b, byte [rsp + 0x58]
jmp 0x14006b35b
mov rcx, r14
mov edx, 1
call qword [0x14012eaa8]
mov rax, qword [rsp + 0x78]
mov qword [r12], rax
cmp byte [rsp + 0xc8], 0
jne 0x14006bdc4
lea rax, [r13 + 0x19c]
lea rcx, [r13 + 0x19d]
lea rdx, [r13 + 0x180]
movzx r8d, byte [rsp + 0x3d]
mov byte [rdx], r8b
mov edx, dword [rsp + 0x50]
mov dword [rsi], edx
mov rdx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x6c]
mov dword [rdx], r8d
movzx edx, byte [rsp + 0x3f]
mov byte [rax], dl
movzx eax, byte [rsp + 0x3e]
mov byte [rcx], al
test r15b, 0x7f
je 0x14006bc07
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
movabs r13, 0xfffffffc00000000
and rax, r13
cmp rax, qword [0x14013c508]
mov esi, dword [rsp + 0x48]
jne 0x14006b3e5
call fcn.14005dfe0
mov qword [rsp + 0xe8], 0
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14013c508]
je 0x14006b965
mov qword [rsp + 0xe0], 0
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14013c508]
jne 0x14006b434
call fcn.14005dfe0
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x168], 0
test rcx, rcx
jne 0x14006ba2a
test sil, sil
je 0x14006b479
mov rax, qword [rdi]
movzx eax, byte [rax + 0xd]
and al, 0x7f
cmp al, 1
jne 0x14006b479
mov rax, qword [rbx + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
je 0x14006bf58
mov r14, qword [rdi]
mov rax, qword [r14]
mov rax, qword [rax + 0x48]
lea rcx, [0x1400a34e0]
cmp rax, rcx
jne 0x14006b616
mov rbx, r14
add rbx, 0x18
je 0x14006b4ad
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006b8dd
mov rsi, rbx
and rsi, r13
cmp rsi, qword [0x14013c508]
jne 0x14006b4c4
mov rcx, rbx
call fcn.14005de80
mov byte [r14 + 0x98], 0
mov rax, qword [r14 + 0x58]
mov r15b, 1
cmp rax, qword [r14 + 0x60]
jne 0x14006b501
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
jne 0x14006b501
mov byte [r14 + 0x99], 0
mov rcx, qword [r14 + 0x40]
test rcx, rcx
je 0x14006b4fe
lock dec dword [rcx + 8]
je 0x14006b8d3
xor r15d, r15d
cmp rsi, qword [0x14013c508]
jne 0x14006b512
mov rcx, rbx
call fcn.14005dfe0
test rbx, rbx
je 0x14006b520
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15b, r15b
jne 0x14006b629
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
cmp byte [rsp + 0x300], 0
je 0x14006b557
mov rcx, qword [rsp + 0x2f8]
mov qword [rsp + 0x2f8], 0
test rcx, rcx
jne 0x14006b7dc
mov rbx, qword [rdi]
test rbx, rbx
je 0x14006b646
mov r13, qword [rdi + 8]
test r13, r13
je 0x14006b646
mov qword [rdi], 0
mov al, byte [rbx + 0xd]
and al, 0x7f
cmp al, 2
je 0x14006b8b8
lock dec dword [r13 + 0x18]
jne 0x14006b656
lea r15, [r13 + 0x20]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006c3ad
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006c3bb
mov rsi, qword [r13 + 0x30]
mov r14, qword [r13 + 0x38]
xorps xmm0, xmm0
movups xmmword [r13 + 0x30], xmm0
mov rax, qword [r13 + 0x40]
mov r12, qword [r13 + 0x48]
movups xmmword [r13 + 0x40], xmm0
mov r13, rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r13, r12
jne 0x14006c421
lea rcx, fcn.1400619b0
mov rdx, rsi
xor r8d, r8d
call fcn.140068b90
test rbx, rbx
jne 0x14006b656
jmp 0x14006b6ed
mov rcx, r14
xor edx, edx
call qword [0x14012eaa8]
test al, al
je 0x14006b529
mov rax, qword [rdi]
mov qword [rbp], rax
xor eax, eax
mov qword [rdi], rax
mov rcx, qword [rdi + 8]
mov qword [rbp + 8], rcx
mov qword [rdi + 8], rax
jmp 0x14006b530
mov qword [rdi], 0
test rbx, rbx
je 0x14006b6ed
lock dec dword [rbx + 8]
jne 0x14006b6ed
lea rax, [0x14011c580]
mov qword [rbx], rax
mov rsi, qword [rbx + 0xa0]
test rsi, rsi
jne 0x14006b866
lea r14, [rbx + 0x70]
mov rsi, qword [rbx + 0x70]
mov r15, qword [rbx + 0x78]
mov rax, rsi
cmp r15, rsi
jne 0x14006c2bb
mov qword [rbx + 0x78], rsi
test rax, rax
movabs r15, 0xfffffffc00000000
jne 0x14006c328
mov rax, qword [rbx + 0x58]
mov rsi, qword [rbx + 0x60]
cmp rsi, rax
jne 0x14006c060
mov rdx, qword [rbx + 0x48]
lea rcx, fcn.1400619b0
xor r8d, r8d
call fcn.140068b90
mov rcx, qword [rbx + 0x40]
mov rax, rcx
and rax, r15
cmp rax, qword [0x14013c508]
jne 0x14006b6e5
call fcn.14005e390
mov rcx, rbx
call fcn.1400a5630
mov rcx, qword [rdi + 8]
mov rax, rcx
movabs r15, 0xfffffffc00000000
and rax, r15
cmp rax, qword [0x14013c508]
jne 0x14006b70f
call fcn.14005e390
mov qword [rdi + 8], 0
mov rdi, qword [rdi]
test rdi, rdi
je 0x14006b7ad
lock dec dword [rdi + 8]
jne 0x14006b7ad
lea rax, [0x14011c580]
mov qword [rdi], rax
mov rsi, qword [rdi + 0xa0]
test rsi, rsi
jne 0x14006b814
lea rbx, [rdi + 0x70]
mov rsi, qword [rdi + 0x70]
mov r14, qword [rdi + 0x78]
mov rax, rsi
cmp r14, rsi
jne 0x14006c2ff
mov qword [rdi + 0x78], rsi
test rax, rax
jne 0x14006c33d
mov rax, qword [rdi + 0x58]
mov rsi, qword [rdi + 0x60]
cmp rsi, rax
jne 0x14006c14a
mov rdx, qword [rdi + 0x48]
lea rcx, fcn.1400619b0
xor r8d, r8d
call fcn.140068b90
mov rcx, qword [rdi + 0x40]
and r15, rcx
cmp r15, qword [0x14013c508]
jne 0x14006b7a5
call fcn.14005e390
mov rcx, rdi
call fcn.1400a5630
mov rcx, qword [rsp + 0x308]
xor rcx, rsp
call fcn.1400a77a0
mov rax, rbp
movaps xmm6, xmmword [rsp + 0x310]
add rsp, 0x328
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rcx]
jne 0x14006b7eb
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
mov rcx, qword [rsp + 0x2f8]
test rcx, rcx
je 0x14006b557
lock dec dword [rcx]
jne 0x14006b557
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
jmp 0x14006b557
mov rcx, qword [rdi + 0xa8]
mov rax, rsi
cmp rcx, rsi
je 0x14006b852
mov rbx, rcx
add rbx, 0xffffffffffffffe8
je 0x14006c51e
mov rax, qword [rcx - 8]
test rax, rax
je 0x14006b843
add rcx, 0xfffffffffffffff0
call qword [0x14012eaa8]
mov rcx, rbx
cmp rbx, rsi
jne 0x14006b826
mov rax, qword [rdi + 0xa0]
mov qword [rdi + 0xa8], rsi
mov rcx, rax
call fcn.1400a5630
jmp 0x14006b747
mov rcx, qword [rbx + 0xa8]
mov rax, rsi
cmp rcx, rsi
je 0x14006b8a4
mov r14, rcx
add r14, 0xffffffffffffffe8
je 0x14006c51b
mov rax, qword [rcx - 8]
test rax, rax
je 0x14006b895
add rcx, 0xfffffffffffffff0
call qword [0x14012eaa8]
mov rcx, r14
cmp r14, rsi
jne 0x14006b878
mov rax, qword [rbx + 0xa0]
mov qword [rbx + 0xa8], rsi
mov rcx, rax
call fcn.1400a5630
jmp 0x14006b67a
mov rax, qword [r13 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14006b584
jmp 0x14006c028
call fcn.14007f9c0
jmp 0x14006b4fe
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14006b4ad
mov rcx, qword [r14 + 0x70]
cmp rcx, qword [r14 + 0x78]
jne 0x14006c3cf
cmp qword [r14 + 0x50], rax
jb 0x14006c2da
mov rcx, qword [r14 + 0x48]
shl rax, 7
mov rax, qword [rcx + rax + 0x20]
mov qword [r14 + 0x88], rax
mov qword [r14 + 0x90], 0
jmp 0x14006ac56
lea rdx, [rsp + 0xd0]
mov rcx, r14
call qword [0x14012eaa8]
movabs r9, 0xaaaaaaaaaaaaaaaa
jmp 0x14006afcf
lea rdx, [rsp + 0x170]
lea r8, [rsp + 0x90]
mov rcx, r14
call qword [0x14012eaa8]
jmp 0x14006ac6b
call fcn.14005dfe0
jmp 0x14006b40c
xorps xmm0, xmm0
lea rax, [rsp + 0xb0]
movaps xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov byte [rax + 0x18], 1
jmp 0x14006b0d5
cmp rax, rcx
jne 0x14006b99b
mov rcx, r12
call fcn.14005de80
mov qword [rsp + 0xd8], r12
mov rax, r15
and rax, r13
cmp rax, qword [0x14013c508]
jne 0x14006b9ba
mov rcx, r15
call fcn.14005de80
mov qword [rsp + 0xe0], r15
xor r15d, r15d
jmp 0x14006afbd
test eax, eax
jne 0x14006b9df
mov rax, qword [rbx + 0x10]
mov eax, dword [rax]
test al, 1
sete sil
jmp 0x14006a9c2
cmp eax, 2
je 0x14006a9c2
call fcn.1400d9990
jmp 0x14006bfca
lock dec dword [rcx]
jne 0x14006ba01
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
mov rcx, qword [rsp + 0x268]
test rcx, rcx
je 0x14006adf4
lock dec dword [rcx]
jne 0x14006adf4
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
jmp 0x14006adf4
lock dec dword [rcx]
jne 0x14006ba39
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
mov rcx, qword [rsp + 0x168]
test rcx, rcx
je 0x14006b451
lock dec dword [rcx]
jne 0x14006b451
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
jmp 0x14006b451
lock dec dword [rcx]
jne 0x14006ba71
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
mov rcx, qword [rsp + 0x1e8]
test rcx, rcx
je 0x14006ae16
lock dec dword [rcx]
jne 0x14006ae16
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
jmp 0x14006ae16
test eax, eax
jne 0x14006bacb
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xf0]
lea r8, [rsp + 0x88]
mov rcx, rbx
mov r9, r14
call fcn.14006c920
jmp 0x14006b253
cmp eax, 2
jne 0x14006b253
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xf0]
lea r8, [rsp + 0x88]
mov rcx, rbx
mov r9, r14
call fcn.14006cbe0
jmp 0x14006b253
mov rbp, rbx
mov rbx, qword [rsp + 0x30]
mov r15d, edi
mov rdi, rsi
mov rsi, r12
mov r12, r13
mov r13, qword [rsp + 0x58]
jmp 0x14006b214
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x208]
mov edx, dword [0x140148908]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov qword [rdx + 0x130], rax
mov qword [rdx + 0x148], rcx
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x14013c508]
jne 0x14006bb6e
call fcn.14005dfe0
mov qword [rsp + 0x208], 0
mov rcx, qword [rsp + 0x200]
test rcx, rcx
je 0x14006bb92
lock dec dword [rcx + 8]
jne 0x14006bb92
call fcn.14007f9c0
mov rcx, qword [rsp + 0x1f8]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x14013c508]
jne 0x14006bbb8
call fcn.14005dfe0
mov qword [rsp + 0x1f8], 0
mov rcx, qword [rsp + 0x1f0]
test rcx, rcx
je 0x14006b27e
lock dec dword [rcx + 8]
jne 0x14006b27e
call fcn.14007f9c0
jmp 0x14006b27e
mov eax, dword [0x140148908]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
inc dword [rax + 0x190]
jmp 0x14006afe2
mov eax, dword [0x140148908]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
dec dword [rax + 0x190]
jmp 0x14006b3bb
mov rax, qword [rsp + 0xe0]
test rax, rax
mov rbx, qword [rsp + 0x30]
je 0x14006b217
mov byte [rsp + 0x58], r15b
mov qword [rsp + 0x40], rbp
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x14006c352
mov qword [rsp + 0x1f0], rax
mov ecx, dword [0x140148908]
mov rdx, qword gs:[0x58]
mov rbp, qword [rdx + rcx*8]
mov r15, qword [rbp + 0x130]
mov rcx, r15
movabs rdx, 0xfffffffc00000000
and rcx, rdx
cmp rcx, qword [0x14013c508]
jne 0x14006bcb7
mov rcx, r15
call fcn.14005de80
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x1f8], r15
test rax, rax
jne 0x14006bcbf
xor eax, eax
jmp 0x14006bcd5
mov qword [rsp + 0x1f8], r15
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x14006c3c9
lea rdx, [rbp + 0x130]
lea r8, [rsp + 0x200]
mov qword [r8], rax
mov eax, dword [0x140148908]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbp, [rax + 0x148]
mov r15, qword [rbp]
mov rax, r15
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14013c508]
jne 0x14006bd38
mov rcx, r15
mov qword [rsp + 0x70], rdx
call fcn.14005de80
lea r8, [rsp + 0x200]
mov rdx, qword [rsp + 0x70]
lea rax, [rsp + 0x210]
mov qword [rax - 8], r15
mov qword [rbp], r8
lea rcx, [rsp + 0x1f0]
mov qword [rdx], rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14006bd75
cmp qword [rcx], 0
mov rbp, qword [rsp + 0x40]
mov r15b, byte [rsp + 0x58]
je 0x14006b214
jmp 0x14006c3cc
mov rbp, qword [rsp + 0x40]
mov r15b, byte [rsp + 0x58]
jmp 0x14006b214
lea rbx, [rdx + rax]
add rbx, 0x78
lock dec dword [rcx]
jne 0x14006bd9b
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
mov rcx, qword [rbx]
test rcx, rcx
mov rbx, qword [rsp + 0x30]
je 0x14006ac18
lock dec dword [rcx]
jne 0x14006ac18
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
jmp 0x14006ac18
mov r14, qword [rsp + 0xb0]
test r14, r14
je 0x14006b372
mov r12, rdi
mov rcx, qword [rsp + 0xb8]
mov rax, r14
cmp rcx, r14
je 0x14006be1e
mov edi, r15d
mov r15, rcx
add r15, 0xffffffffffffffe8
je 0x14006c521
mov rax, qword [rcx - 8]
test rax, rax
je 0x14006be0b
add rcx, 0xfffffffffffffff0
call qword [0x14012eaa8]
mov rcx, r15
cmp r15, r14
jne 0x14006bdee
mov rax, qword [rsp + 0xb0]
mov r15d, edi
mov qword [rsp + 0xb8], r14
mov rcx, rax
call fcn.1400a5630
mov rdi, r12
jmp 0x14006b372
mov r8, qword [r14 + 0x60]
xor ecx, ecx
cmp rdx, r8
cmova rcx, rax
sub rcx, rdx
add rcx, r8
dec rax
mov rdx, rax
sub rdx, rcx
cmp rdx, rcx
jb 0x14006ac3a
mov r8, rcx
shr r8, 2
add r8, rcx
cmp r8, 4
mov edx, 3
cmovae rdx, r8
cmp rdx, rax
jae 0x14006ac3a
mov rcx, r12
call fcn.140002bc0
jmp 0x14006ac3a
lock dec dword [rcx]
jne 0x14006b270
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
jmp 0x14006b270
mov rax, qword [rbx + 0x10]
mov eax, dword [rax]
test al, 1
je 0x14006ae7b
lea r14, [rsp + 0x2f8]
mov rax, qword [r14]
mov qword [r14], 0
lea rdx, [rsp + 0x80]
mov qword [rdx], rax
mov rcx, r14
call fcn.1400d8b20
cmp byte [r14 + 8], 0
jne 0x14006ae7b
int3
mov rcx, qword [r15 + 0x20]
mov rax, rcx
movabs rdx, 0xfffffffc00000000
and rax, rdx
cmp rax, qword [0x14013c508]
je 0x14006c524
mov qword [r15 + 0x20], 0
mov rax, qword [r15 + 0x10]
inc rax
cmp rax, 2
jb 0x14006bf41
call fcn.14007a8b0
mov rdx, qword [r15 + 0x10]
cmp qword [0x14014bb70], 0
je 0x14006bfd1
mov rcx, qword [0x14014bb70]
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [0x14012eaa8]
mov rcx, r15
call fcn.1400a5630
jmp 0x14006b33e
call fcn.1400a5630
jmp 0x14006b32b
lea r14, [rbx + 0x50]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006c52e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x58]
call fcn.14007e630
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movabs r13, 0xfffffffc00000000
jmp 0x14006b479
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x58]
lea r14, [rsp + 0x1f0]
lea r8, [rsp + 0x90]
mov rdx, r14
call qword [0x14012eaa8]
mov al, byte [r14 + 0x80]
jmp 0x14006ad11
mov rcx, rbx
call fcn.1400d8ac0
xor esi, esi
jmp 0x14006a9c2
mov qword [rsp + 0x40], rdx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140128172]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14006c53c
lea rcx, [sym.opera.exe_GetHandleVerifier]
cmp rax, rcx
je 0x14006c022
call qword [0x14012eaa8]
mov rcx, rax
xor edx, edx
call fcn.1400255c0
mov rbx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
jmp 0x14006bf2e
xor ecx, ecx
mov dl, 1
jmp 0x14006c00e
lea r14, [r13 + 0x50]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006c543
mov rcx, qword [r13 + 0x58]
call fcn.14007e630
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14006b584
int3
int3
int3
int3
mov r15, qword [rbx + 0x50]
jbe 0x14006c0ab
cmp r15, rsi
jb 0x14006c55a
cmp rax, rsi
jg 0x14006c55d
shl rax, 7
mov r14, qword [rbx + 0x48]
add r14, rax
shl rsi, 7
sub rsi, rax
movabs r15, 0xfffffffc00000000
mov rcx, r14
call fcn.14009e230
sub r14, 0xffffffffffffff80
add rsi, 0xffffffffffffff80
jne 0x14006c094
jmp 0x14006b6ba
cmp r15, rax
jb 0x14006c56c
jl 0x14006c56f
je 0x14006c0e4
shl rax, 7
mov r14, qword [rbx + 0x48]
add r14, rax
shl r15, 7
sub r15, rax
mov rcx, r14
call fcn.14009e230
sub r14, 0xffffffffffffff80
add r15, 0xffffffffffffff80
jne 0x14006c0ce
mov rax, qword [rbx + 0x50]
cmp rax, rsi
jb 0x14006c572
test rsi, rsi
js 0x14006c575
movabs r15, 0xfffffffc00000000
je 0x14006b6ba
mov r14, qword [rbx + 0x48]
shl rsi, 7
mov rcx, r14
call fcn.14009e230
sub r14, 0xffffffffffffff80
add rsi, 0xffffffffffffff80
jne 0x14006c10e
jmp 0x14006b6ba
int3
test cl, cl
je 0x14006adf4
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0x1f0]
call fcn.1400a5280
jmp 0x14006adcd
mov r14, qword [rdi + 0x50]
jbe 0x14006c195
cmp r14, rsi
jb 0x14006c563
cmp rax, rsi
jg 0x14006c566
shl rax, 7
mov rbx, qword [rdi + 0x48]
add rbx, rax
shl rsi, 7
sub rsi, rax
movabs r15, 0xfffffffc00000000
mov rcx, rbx
call fcn.14009e230
sub rbx, 0xffffffffffffff80
add rsi, 0xffffffffffffff80
jne 0x14006c17e
jmp 0x14006b77d
cmp r14, rax
jb 0x14006c584
jl 0x14006c587
je 0x14006c1ce
shl rax, 7
mov rbx, qword [rdi + 0x48]
add rbx, rax
shl r14, 7
sub r14, rax
mov rcx, rbx
call fcn.14009e230
sub rbx, 0xffffffffffffff80
add r14, 0xffffffffffffff80
jne 0x14006c1b8
mov rax, qword [rdi + 0x50]
cmp rax, rsi
jb 0x14006c58a
test rsi, rsi
js 0x14006c58d
movabs r15, 0xfffffffc00000000
je 0x14006b77d
mov rbx, qword [rdi + 0x48]
shl rsi, 7
mov rcx, rbx
call fcn.14009e230
sub rbx, 0xffffffffffffff80
add rsi, 0xffffffffffffff80
jne 0x14006c1f8
jmp 0x14006b77d
lea r14, [rsp + 0x280]
mov rcx, r14
call fcn.14009e230
mov byte [r14 + 0x80], 0
jmp 0x14006adcd
int3
lea rdx, [rsp + 0xf0]
lea r9, [rsp + 0x88]
mov rcx, rbx
mov r8, r14
call qword [0x14012eaa8]
jmp 0x14006b451
lea rdx, [rsp + 0x1f0]
call fcn.1400a5380
mov rax, qword [r14 + 0x58]
cmp qword [r14 + 0x50], rax
jb 0x14006c551
mov rcx, qword [r12]
shl rax, 7
mov rax, qword [rcx + rax + 0x20]
cmp rax, qword [rsp + 0x1f0]
jg 0x14006c2a6
lea rdx, [rsp + 0x170]
mov rcx, r14
call fcn.1401037e0
movabs r13, 0xfffffffc00000000
mov rbx, qword [rsp + 0x30]
jmp 0x14006ac3a
lea rdx, [rsp + 0x170]
mov rcx, r13
xor r8d, r8d
call fcn.1401040e0
jmp 0x14006c292
add r15, 0xffffffffffffff80
je 0x14006c557
mov rcx, r15
call fcn.14009e230
cmp r15, rsi
jne 0x14006c2bb
mov rax, qword [r14]
jmp 0x14006b692
int3
lea rdx, [rsp + 0x170]
mov rcx, r13
xor r8d, r8d
call fcn.1401040e0
movabs r13, 0xfffffffc00000000
jmp 0x14006ac3a
add r14, 0xffffffffffffff80
je 0x14006c560
mov rcx, r14
call fcn.14009e230
cmp r14, rsi
jne 0x14006c2ff
mov rax, qword [rbx]
movabs r15, 0xfffffffc00000000
jmp 0x14006b75f
mov rcx, r14
call fcn.140104250
mov rcx, qword [r14]
call fcn.1400a5630
jmp 0x14006b6a9
mov rcx, rbx
call fcn.140104250
mov rcx, qword [rbx]
call fcn.1400a5630
jmp 0x14006b76c
int3
lea r12, [rsp + 0x1f0]
mov rdx, r12
call fcn.1400a5380
mov rax, qword [r12]
mov qword [r14 + 0x88], rax
mov rcx, qword [r14 + 0x70]
cmp rcx, qword [r14 + 0x78]
je 0x14006c554
lea r12, [rsp + 0xd0]
mov rdx, r12
call fcn.1400a5320
mov rax, qword [r12]
mov qword [r14 + 0x90], rax
movabs r13, 0xfffffffc00000000
mov rbx, qword [rsp + 0x30]
jmp 0x14006ac56
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14006b5a4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14006b5c8
int3
int3
lea rdx, [rsp + 0xb0]
call fcn.1400a5380
mov rax, qword [r14 + 0x58]
cmp qword [r14 + 0x50], rax
jb 0x14006c569
mov rcx, qword [r14 + 0x48]
shl rax, 7
mov rax, qword [rcx + rax + 0x20]
mov rcx, qword [rsp + 0xb0]
cmp rcx, rax
cmovl rax, rcx
mov qword [r14 + 0x88], rax
movabs r13, 0xfffffffc00000000
mov rbx, qword [rsp + 0x30]
jmp 0x14006b917
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x40], rbp
xor edi, edi
mov rsi, r13
cmp qword [rsp + 0x50], r13
jb 0x14006c578
mov rax, qword [rsp + 0x30]
mov r15, qword [rax + r13*8]
test r15, r15
je 0x14006c57b
mov rax, qword [rsp + 0x30]
mov qword [rax + r13*8], 0
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [0x14012eaa8]
lock dec dword [r15]
jne 0x14006c489
mov rax, qword [r15 + 0x10]
mov rcx, r15
call qword [0x14012eaa8]
inc r13
cmp r13, qword [rsp + 0x50]
cmove r13, rdi
cmp r13, qword [rsp + 0x48]
jne 0x14006c43f
cmp qword [rsp + 0x48], rsi
jbe 0x14006c599
mov rax, qword [rsp + 0x48]
cmp qword [rsp + 0x50], rax
jb 0x14006c57e
cmp rsi, qword [rsp + 0x48]
jg 0x14006c581
mov rax, qword [rsp + 0x48]
shl rax, 3
mov rcx, rsi
shl rcx, 3
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rdi, rax
mov r14, rcx
mov rcx, qword [rsi + rcx]
test rcx, rcx
jne 0x14006c50a
mov rcx, r14
add rcx, 8
mov rax, rdi
cmp rdi, rcx
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x30]
je 0x14006b5fa
jmp 0x14006c4dc
lock dec dword [rcx]
jne 0x14006c4eb
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
jmp 0x14006c4eb
int3
int3
int3
call fcn.14005dfe0
jmp 0x14006bf02
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14006bf6d
xor ecx, ecx
jmp 0x14006c00c
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14006c03d
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
cmp qword [rsp + 0x50], rsi
jb 0x14006c590
jl 0x14006c593
je 0x14006c5dc
shl qword [rsp + 0x50], 3
shl rsi, 3
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x14006c5cb
lock dec dword [rcx]
jne 0x14006c5cb
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
mov rax, rsi
add rax, 8
mov rsi, rax
cmp qword [rsp + 0x50], rax
jne 0x14006c5ae
cmp qword [rsp + 0x48], 0
js 0x14006c596
mov rbp, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x30]
mov rax, qword [rsp + 0x48]
je 0x14006b5fa
shl rax, 3
xor r15d, r15d
mov rbp, qword [rsp + 0x40]
mov rdi, rax
mov rcx, qword [rsi + r15]
test rcx, rcx
je 0x14006c625
lock dec dword [rcx]
jne 0x14006c625
mov rax, qword [rcx + 0x10]
call qword [0x14012eaa8]
add r15, 8
mov rax, rdi
cmp rdi, r15
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x30]
jne 0x14006c60a
jmp 0x14006b5fa