Function at 0x140151ff0
Capabilities:
Check for time delay via queryperformancecounter
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, 0x3f8
movaps xmmword [rsp + 0x3e0], xmm6
mov qword [rsp + 0x58], rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x3d8], rax
mov qword [rsp + 0x88], rdx
mov rdi, qword [rdx]
test rdi, rdi
je 0x14015429a
test r8d, r8d
jne 0x14015378a
movaps xmm6, xmmword [0x14026cc70]
movaps xmmword [rsp + 0x2e0], xmm6
movaps xmmword [rsp + 0x2d0], xmm6
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 8]
mov rax, qword [rax + 0x308]
mov byte [rsp + 0x2d0], 0
mov qword [rsp + 0x2e8], rax
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x2a0], xmm6
movaps xmmword [rsp + 0x2b0], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x88]
mov qword [rax], 0
movups xmm0, xmmword [rax + 8]
movups xmm1, xmmword [rax + 0x18]
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0xf0], xmm0
mov r14, qword [rax + 0x28]
mov rbp, qword [rax + 0x30]
mov r12, qword [rax + 0x38]
mov r15d, dword [rax + 0x40]
mov rdx, qword [rax + 0x48]
mov qword [rsp + 0x70], rdx
xorps xmm0, xmm0
mov rdx, qword [rax + 0x50]
mov qword [rsp + 0x68], rdx
movups xmmword [rax + 0x48], xmm0
mov r13, qword [rax + 0x58]
mov rax, qword [rcx + 8]
mov ebx, 1
lock xadd qword [rax + 0x28], rbx
test r12, r12
je 0x14015336b
mov rax, qword [fcn.140106270]
lea rcx, [0x140181ca0]
cmp rax, rcx
jne 0x140154269
lea rsi, [rsp + 0x330]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14015442a
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b6458]
cmp byte [rsp + 0x2d0], 0
mov qword [rsp + 0x2d8], rax
jne 0x14015218b
mov byte [rsp + 0x2d0], 1
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x340], xmm1
movaps xmmword [rsp + 0x330], xmm0
cmp r12, 1
je 0x140153421
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
xor ebp, ebp
xor ecx, ecx
xorps xmm0, xmm0
movups xmmword [rsp + 0x2b4], xmm0
movups xmmword [rsp + 0x2a4], xmm0
mov dword [rsp + 0x2c4], 0
mov r8d, r14d
shr r8d, 8
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 8]
cmp qword [rdx + 0x230], 0
jne 0x14015429d
mov r9, qword [0x1402aaf90]
mov qword [rsp + 0x1f8], rdi
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x200], xmm0
movups xmmword [rsp + 0x210], xmm1
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rbp
mov qword [rsp + 0x230], r9
mov dword [rsp + 0x238], ecx
movaps xmm0, xmmword [rsp + 0x2a0]
movaps xmm1, xmmword [rsp + 0x2b0]
movups xmmword [rsp + 0x23c], xmm0
movups xmmword [rsp + 0x24c], xmm1
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x25c], rax
mov dword [rsp + 0x264], 0xaaaaaaaa
xor eax, eax
mov qword [rsp + 0x268], rax
mov dword [rsp + 0x270], ebx
mov byte [rsp + 0x274], al
mov byte [rsp + 0x278], r14b
mov byte [rsp + 0x279], al
mov byte [rsp + 0x27a], r8b
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], r13
mov rsi, qword [rdx + 0x30]
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
lea rcx, [0x1401829d0]
cmp rax, rcx
jne 0x1401542ea
test byte [0x1402aa220], 0x19
jne 0x140154350
cmp qword [rsp + 0x240], 0
jne 0x1401523bf
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x228]
test rax, rax
je 0x140152363
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x268], rcx
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x260], eax
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x220]
test rax, rax
je 0x1401523bf
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x240], rcx
movups xmm0, xmmword [rax + 0x48]
mov rcx, qword [rax + 0x58]
mov qword [rsp + 0x258], rcx
movups xmmword [rsp + 0x248], xmm0
cmp byte [rax + 0x7c], 0
jne 0x140152865
cmp qword [rax + 0x60], 0
setne al
mov byte [rsp + 0x274], al
cmp dword [rsp + 0x260], 0
jne 0x140154451
mov r11, qword [rsp + 0x1f8]
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0xc8], rax
xor eax, eax
mov qword [rsp + 0x1f8], rax
mov rcx, qword [rsp + 0x228]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x230]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x238]
mov dword [rsp + 0x78], ecx
mov ecx, dword [rsp + 0x270]
mov dword [rsp + 0x70], ecx
mov cl, byte [rsp + 0x274]
mov byte [rsp + 0x66], cl
mov cl, byte [rsp + 0x278]
mov byte [rsp + 0x65], cl
mov dl, byte [rsp + 0x279]
mov cl, byte [rsp + 0x27a]
mov byte [rsp + 0x63], cl
mov rcx, qword [rsp + 0x280]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x280], rax
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0xb0], rcx
mov rcx, qword [rsp + 0x290]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x290], rax
test r11, r11
je 0x1401542a5
lea rax, [rsp + 0x200]
mov byte [rsp + 0x64], dl
test dl, dl
jne 0x1401542d7
mov rcx, qword [rsp + 0x298]
mov qword [rsp + 0xa0], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], xmm0
mov ecx, dword [rax + 0x6c]
mov dword [rsp + 0x320], ecx
movups xmm0, xmmword [rax + 0x3c]
movups xmm1, xmmword [rax + 0x4c]
movups xmm2, xmmword [rax + 0x5c]
movaps xmmword [rsp + 0x310], xmm2
movaps xmmword [rsp + 0x300], xmm1
movaps xmmword [rsp + 0x2f0], xmm0
mov rax, qword [rsp + 0x58]
lea rcx, [rax + 0xc8]
mov qword [rsp + 0x90], rcx
mov r15, qword [rax + 0xd0]
mov rbx, r15
movabs r10, 0xcf3cf3cf3cf3cf3d
sub rbx, qword [rax + 0xc8]
je 0x14015287a
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x80]
lea rax, [r8 + r9]
sar rax, 0x3f
btc rax, 0x3f
mov r13, r8
add r13, r9
cmovo r13, rax
sar rbx, 3
imul rbx, r10
movabs rcx, 0x8000000000000001
lea rax, [r9 + rcx]
add rax, 0xfffffffffffffffe
add rcx, r8
add rcx, 0xfffffffffffffffe
cmp rcx, 0xfffffffffffffffe
setb cl
cmp r8, r9
sete dl
or dl, cl
cmp rax, 0xfffffffffffffffe
setb al
cmovae r13, r9
cmp dword [rsp + 0x78], 0
setne cl
cmovne r13, r8
or cl, al
or cl, dl
mov byte [rsp + 0x67], cl
mov rbp, rbx
lea r14, [rbx - 1]
mov rbx, r14
shr rbx, 1
mov rax, qword [rsp + 0x58]
mov r15, qword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
mov rcx, rax
sub rcx, r15
sar rcx, 3
imul rcx, r10
cmp rcx, rbx
jbe 0x140154282
imul rdx, rbx, 0xa8
lea r12, [r15 + rdx]
cmp dword [r15 + rdx + 0x40], 0
jne 0x14015285b
mov r8, qword [r12 + 0x30]
mov rdx, qword [r12 + 0x38]
movabs r9, 0x8000000000000001
add r9, rdx
cmp r9, 2
jb 0x1401542ae
lea r9, [r8 + rdx]
sar r9, 0x3f
btc r9, 0x3f
add r8, rdx
cmovo r8, r9
mov rdx, r8
cmp byte [rsp + 0x67], 0
je 0x140154285
xor r8d, r8d
mov r9d, dword [rsp + 0x70]
cmp dword [r12 + 0x78], r9d
setg r8b
xor r9d, r9d
cmp rdx, r13
setg r9b
cmovne r8d, r9d
cmp r8b, 1
jne 0x140152988
cmp rcx, rbp
je 0x1401534a4
jbe 0x140154288
imul rdi, rbp, 0xa8
mov rax, qword [r12]
mov qword [r12], 0
mov rsi, qword [r15 + rdi]
mov qword [r15 + rdi], rax
test rsi, rsi
jne 0x14015357e
add r15, rdi
movups xmm0, xmmword [r12 + 8]
movups xmm1, xmmword [r12 + 0x18]
movups xmmword [r15 + 0x18], xmm1
movups xmmword [r15 + 8], xmm0
lea rdi, [r15 + 0x28]
lea rsi, [r12 + 0x28]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov al, byte [r12 + 0x7c]
mov byte [r15 + 0x7c], al
mov eax, dword [r12 + 0x78]
mov dword [r15 + 0x78], eax
movzx eax, word [r12 + 0x80]
mov word [r15 + 0x80], ax
mov al, byte [r12 + 0x82]
mov byte [r15 + 0x82], al
mov rax, qword [r12 + 0x88]
mov qword [r12 + 0x88], 0
mov rcx, qword [r15 + 0x88]
mov qword [r15 + 0x88], rax
test rcx, rcx
jne 0x14015431d
mov rax, qword [r12 + 0x90]
mov qword [r15 + 0x90], rax
mov rax, qword [r12 + 0x98]
mov qword [r12 + 0x98], 0
mov rcx, qword [r15 + 0x98]
mov qword [r15 + 0x98], rax
test rcx, rcx
jne 0x14015286c
mov rax, qword [r12 + 0xa0]
mov qword [r15 + 0xa0], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
sub rax, rcx
sar rax, 3
imul rax, r10
cmp rax, rbp
jbe 0x14015428b
imul rax, rbp, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x1401527d6
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1401527d6
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x1401527d6
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x14015428e
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14015428e
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], rbp
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + 0xc8]
mov rdx, qword [rdx + 0xd0]
sub rdx, rcx
sar rdx, 3
imul rdx, r10
cmp rdx, rbp
jbe 0x140154291
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x140152839
mov dl, byte [rdx + 4]
test dl, dl
jne 0x140152839
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x140152839
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x140154294
mov al, byte [rax + 4]
test al, al
jne 0x140154294
cmp r14, 1
ja 0x1401525a4
mov rax, qword [rsp + 0x58]
mov r15, qword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
jmp 0x14015298b
mov rdx, qword [r12 + 0x30]
jmp 0x14015262a
mov al, 1
jmp 0x1401523b8
lock dec dword [rcx]
jne 0x140152752
jmp 0x140154253
xor ebx, ebx
mov rax, r15
jmp 0x14015298b
lea rdx, [rsp + 0x330]
mov rcx, qword [rsp + 0x90]
mov rsi, r10
call fcn.140156070
mov r10, rsi
jmp 0x140152b80
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx + 0xd8]
jae 0x140152884
test rax, rax
je 0x14015431a
mov qword [rax], r11
xor edx, edx
mov qword [rsp + 0x330], rdx
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
lea rdi, [rax + 0x28]
mov ecx, 0xa
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [r12 + 0x50]
mov dword [rax + 0x78], ecx
mov cl, byte [r12 + 0x54]
mov byte [rax + 0x7c], cl
movzx ecx, word [r12 + 0x58]
mov word [rax + 0x80], cx
mov cl, byte [r12 + 0x5a]
mov byte [rax + 0x82], cl
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x88], rcx
mov qword [rsp + 0x3b8], rdx
mov rcx, qword [rsp + 0xb0]
mov qword [rax + 0x90], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x98], rcx
mov qword [rsp + 0x3c8], rdx
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 0xd0], rax
jmp 0x140152b80
lock dec dword [rcx]
jne 0x140152b71
jmp 0x140154243
mov rbx, rbp
lea r12, [rsp + 0x358]
mov qword [r12 - 0x28], r11
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movups xmmword [r12 - 0x20], xmm0
movups xmmword [r12 - 0x10], xmm1
mov rcx, qword [rsp + 0xc8]
mov qword [r12], rcx
mov rcx, qword [rsp + 0x68]
mov qword [r12 + 8], rcx
mov rcx, qword [rsp + 0x80]
mov qword [r12 + 0x10], rcx
mov ecx, dword [rsp + 0x78]
mov dword [r12 + 0x18], ecx
mov ecx, dword [rsp + 0x320]
mov dword [r12 + 0x4c], ecx
movaps xmm0, xmmword [rsp + 0x2f0]
movaps xmm1, xmmword [rsp + 0x300]
movaps xmm2, xmmword [rsp + 0x310]
movups xmmword [r12 + 0x1c], xmm0
movups xmmword [r12 + 0x2c], xmm1
movups xmmword [r12 + 0x3c], xmm2
mov ecx, dword [rsp + 0x70]
mov dword [r12 + 0x50], ecx
mov cl, byte [rsp + 0x66]
mov byte [r12 + 0x54], cl
mov cl, byte [rsp + 0x65]
mov byte [r12 + 0x58], cl
mov cl, byte [rsp + 0x64]
mov byte [r12 + 0x59], cl
mov cl, byte [rsp + 0x63]
mov byte [r12 + 0x5a], cl
mov rcx, qword [rsp + 0xb8]
mov qword [r12 + 0x60], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [r12 + 0x68], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [r12 + 0x70], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [r12 + 0x78], rcx
mov rcx, rax
sub rcx, r15
sar rcx, 3
imul rcx, r10
cmp rcx, rbx
je 0x1401528a4
jbe 0x1401542e7
lea rdi, [rsp + 0x338]
imul rax, rbx, 0xa8
lea r14, [r15 + rax]
mov qword [rdi - 8], 0
mov rsi, qword [r15 + rax]
mov qword [r15 + rax], r11
test rsi, rsi
jne 0x1401535fd
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [r14 + 0x18], xmm1
movups xmmword [r14 + 8], xmm0
lea rdi, [r14 + 0x28]
mov ecx, 0xa
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
mov al, byte [r12 + 0x54]
mov byte [r14 + 0x7c], al
mov eax, dword [r12 + 0x50]
mov dword [r14 + 0x78], eax
movzx eax, word [r12 + 0x58]
mov word [r14 + 0x80], ax
mov al, byte [r12 + 0x5a]
mov byte [r14 + 0x82], al
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x3b8], 0
mov rcx, qword [r14 + 0x88]
mov qword [r14 + 0x88], rax
test rcx, rcx
jne 0x140154300
mov rax, qword [rsp + 0x3c0]
mov qword [r14 + 0x90], rax
mov rax, qword [rsp + 0x3c8]
mov qword [rsp + 0x3c8], 0
mov rcx, qword [r14 + 0x98]
mov qword [r14 + 0x98], rax
test rcx, rcx
jne 0x14015297a
mov rax, qword [rsp + 0x3d0]
mov qword [r14 + 0xa0], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
sub rax, rcx
sar rax, 3
imul rax, r10
cmp rax, rbx
jbe 0x1401542a8
imul rax, rbx, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x140152bf5
mov dl, byte [rdx + 4]
test dl, dl
jne 0x140152bf5
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x140152bf5
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x1401542d1
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1401542d1
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], rbx
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + 0xc8]
mov rdx, qword [rdx + 0xd0]
sub rdx, rcx
sar rdx, 3
imul rdx, r10
cmp rdx, rbx
jbe 0x1401542ab
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x140152c58
mov dl, byte [rdx + 4]
test dl, dl
jne 0x140152c58
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x140152c58
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x1401542d4
mov al, byte [rax + 4]
test al, al
jne 0x1401542d4
mov rcx, qword [rsp + 0x3c8]
test rcx, rcx
jne 0x140152ed6
mov rsi, qword [rsp + 0x3b8]
test rsi, rsi
jne 0x140152ea8
mov rcx, qword [rsp + 0x330]
test rcx, rcx
jne 0x140152f31
mov eax, 0xaaaaaaaa
mov dword [rsp + 0x133], eax
mov dword [rsp + 0x130], eax
mov rdx, qword [rsp + 0x58]
mov r13, qword [rdx + 0xc8]
mov rax, qword [rdx + 0xd0]
cmp r13, rax
je 0x140152f49
cmp byte [rdx + 0x128], 0
je 0x140152f49
cmp dword [rdx + 0xe0], 0
mov rcx, qword [rdx + 0xb8]
mov rcx, qword [rcx + 0x38]
jne 0x14015433d
mov rdx, qword [rdx + 8]
mov dl, byte [rdx + 0x51]
xor ebx, ebx
mov r8d, dword [r13 + 0x40]
xor ebp, ebp
cmp r8d, 2
cmovne ebp, r8d
cmp dl, cl
cmovae ebp, r8d
mov r15, qword [r13 + 0x30]
mov r12, qword [r13 + 0x38]
mov r14b, 1
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rcx + 0xa8]
test rsi, rsi
jne 0x140153108
mov rax, qword [rsp + 0x58]
mov al, byte [rax + 0x198]
test r14b, r14b
je 0x140152ee9
test al, al
je 0x140152ee9
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x1a0], r15
jne 0x140152d72
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x1a8], r12
jne 0x140152d72
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x1b0], ebx
jne 0x140152d72
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x1b4], ebp
je 0x140152e0b
mov rdx, qword [rsp + 0x58]
mov byte [rdx + 0x198], r14b
mov eax, dword [rsp + 0x130]
mov ecx, dword [rsp + 0x133]
mov dword [rdx + 0x199], eax
mov dword [rdx + 0x19c], ecx
mov qword [rdx + 0x1a0], r15
mov qword [rdx + 0x1a8], r12
mov dword [rdx + 0x1b0], ebx
mov dword [rdx + 0x1b4], ebp
mov r10, qword [rsp + 0x98]
mov qword [rdx + 0x1b8], r10
mov rcx, qword [rdx + 0xa0]
lea r9, [rsp + 0x330]
mov byte [r9], r14b
mov eax, dword [rsp + 0x130]
mov r8d, dword [rsp + 0x133]
mov dword [r9 + 1], eax
mov dword [r9 + 4], r8d
mov qword [r9 + 8], r15
mov qword [r9 + 0x10], r12
mov dword [r9 + 0x18], ebx
mov dword [r9 + 0x1c], ebp
mov qword [r9 + 0x20], r10
lea r8, [rsp + 0x2d0]
call fcn.1401546e0
test byte [0x1402aa720], 9
jne 0x14015453f
mov rcx, qword [rsp + 0x290]
test rcx, rcx
jne 0x140152ec3
mov rsi, qword [rsp + 0x280]
test rsi, rsi
jne 0x140152e9d
mov rcx, qword [rsp + 0x1f8]
test rcx, rcx
jne 0x140152f19
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0x50]
test rcx, rcx
jne 0x140152eb7
mov rcx, qword [rsi + 0x48]
test rcx, rcx
jne 0x14015301f
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140152f01
mov rcx, qword [rsp + 0x3d8]
xor rcx, rsp
call fcn.140186020
movaps xmm6, xmmword [rsp + 0x3e0]
add rsp, 0x3f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rsi + 8]
jne 0x140152e36
jmp 0x140152f5b
lock dec dword [rsi + 8]
jne 0x140152c7a
jmp 0x140152f8e
lock dec dword [rcx]
jne 0x140152e58
call fcn.1401833ec
jmp 0x140152e58
lock dec dword [rcx]
jne 0x140152e29
call fcn.1401833ec
jmp 0x140152e29
lock dec dword [rcx]
jne 0x140152c69
call fcn.1401833ec
jmp 0x140152c69
test r14b, r14b
setne cl
test al, al
setne al
cmp cl, al
je 0x140152e0b
jmp 0x140152d72
lock dec dword [rcx]
jne 0x140152e71
mov rax, qword [rcx + 0x10]
call qword [0x1402c9008]
jmp 0x140152e71
lock dec dword [rcx]
jne 0x140152e47
mov rax, qword [rcx + 0x10]
call qword [0x1402c9008]
jmp 0x140152e47
lock dec dword [rcx]
jne 0x140152c8b
mov rax, qword [rcx + 0x10]
call qword [0x1402c9008]
jmp 0x140152c8b
xor r14d, r14d
xor r15d, r15d
xor r12d, r12d
xor ebx, ebx
xor ebp, ebp
jmp 0x140152d07
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401f7790]
cmp qword [rcx + 0x10], rdx
jne 0x140152f7b
lea rcx, [0x14020a120]
cmp rax, rcx
je 0x140152fc1
mov rcx, rsi
mov edx, 1
call qword [0x1402c9008]
jmp 0x140152e36
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401f7790]
cmp qword [rcx + 0x10], rdx
jne 0x140152fae
lea rcx, [0x14020a120]
cmp rax, rcx
je 0x140152ff2
mov rcx, rsi
mov edx, 1
call qword [0x1402c9008]
jmp 0x140152c7a
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140152fd3
lock dec dword [rcx]
je 0x140153299
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x140152fe5
lock dec dword [rdi]
je 0x14015309b
mov rcx, rsi
call fcn.1401833ec
jmp 0x140152e36
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140153004
lock dec dword [rcx]
je 0x14015324d
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x140153012
lock dec dword [rdi]
je 0x14015302e
mov rcx, rsi
call fcn.1401833ec
jmp 0x140152c7a
lock dec dword [rcx + 8]
jne 0x140152e65
jmp 0x140154677
mov rcx, qword [rdi + 0x20]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14029be48]
je 0x1401546a8
mov qword [rdi + 0x20], 0
mov rax, qword [rdi + 0x10]
inc rax
cmp rax, 2
jb 0x14015308e
call fcn.1400ea220
mov r15, qword [rdi + 0x10]
cmp qword [0x1402b6720], 0
je 0x1401532a3
mov rcx, qword [0x1402b6720]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1402c9008]
mov rcx, rdi
call fcn.1401833ec
jmp 0x140153012
mov rcx, qword [rdi + 0x20]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14029be48]
je 0x1401532ff
mov qword [rdi + 0x20], 0
mov rax, qword [rdi + 0x10]
inc rax
cmp rax, 2
jb 0x1401530fb
call fcn.1400ea220
mov r14, qword [rdi + 0x10]
cmp qword [0x1402b6720], 0
je 0x140153257
mov rcx, qword [0x1402b6720]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [0x1402c9008]
mov rcx, rdi
call fcn.1401833ec
jmp 0x140152fe5
mov rdx, qword [rsp + 0x58]
cmp byte [rdx + 0x128], 0
je 0x140152d1c
mov rcx, qword [rdx + 0xb0]
cmp qword [rcx + 0x10], 0
jne 0x140153210
mov rcx, qword [rdx + 0xb8]
cmp qword [rcx + 0x10], 0
jne 0x140153210
cmp r13, rax
jne 0x140153218
mov r13, qword [rsp + 0x58]
lea rdi, [r13 + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401532f1
cmp qword [r13 + 0x38], 0
setne r13b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r9, [rsp + 0x2f0]
mov byte [r9], r14b
mov eax, dword [rsp + 0x130]
mov ecx, dword [rsp + 0x133]
mov dword [r9 + 1], eax
mov dword [r9 + 4], ecx
mov qword [r9 + 8], r15
mov qword [r9 + 0x10], r12
mov dword [r9 + 0x18], ebx
mov dword [r9 + 0x1c], ebp
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r9 + 0x20], rax
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov byte [rsp + 0x20], r13b
lea rdi, [rsp + 0x330]
lea r8, [rsp + 0x2d0]
mov rcx, rsi
mov rdx, rdi
call qword [0x1402c9008]
mov r14b, byte [rdi]
mov eax, dword [rdi + 1]
mov dword [rsp + 0x130], eax
mov eax, dword [rdi + 4]
mov dword [rsp + 0x133], eax
mov r15, qword [rdi + 8]
mov r12, qword [rdi + 0x10]
mov ebx, dword [rdi + 0x18]
mov ebp, dword [rdi + 0x1c]
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x98], rax
jmp 0x140152d1c
mov r13b, 1
jmp 0x140153173
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x308]
lea rdi, [rsp + 0x330]
mov rdx, rdi
call fcn.1401564f0
mov rax, qword [r13 + 0x30]
cmp rax, qword [rdi]
mov r13b, 1
jg 0x140153147
jmp 0x140153173
call fcn.1401833ec
jmp 0x140153004
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, str.GetHandleVerifier
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401546d2
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1401532eb
call qword [0x1402c9008]
mov rcx, rax
xor edx, edx
call fcn.140014550
jmp 0x1401530e5
call fcn.1401833ec
jmp 0x140152fd3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, str.GetHandleVerifier
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401546cb
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1401532e5
call qword [0x1402c9008]
mov rcx, rax
xor edx, edx
call fcn.140014550
jmp 0x140153078
xor ecx, ecx
mov dl, 1
jmp 0x1401532db
xor ecx, ecx
mov dl, 1
jmp 0x14015328f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140153161
call fcn.1400dca60
jmp 0x1401530b9
int3
mov rcx, qword [0x1402b6458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1401533bc
cmp rax, rbp
je 0x140153401
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 1
ja 0x140153401
jmp 0x140153309
lea rsi, [rsp + 0x2f0]
mov rcx, rsi
call qword [0x1402c9008]
mov rax, qword [rsi]
jmp 0x1401533bc
mov rax, qword [fcn.140106270]
lea rcx, [0x140181ca0]
cmp rax, rcx
jne 0x140153355
lea rsi, [rsp + 0x330]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14015330c
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b6458]
cmp byte [rsp + 0x2d0], 0
mov qword [rsp + 0x2d8], rax
jne 0x1401533d6
mov byte [rsp + 0x2d0], 1
movabs rcx, 0x8000000000000001
add rcx, rbp
cmp rcx, 2
jb 0x140153333
lea rcx, [rax + rbp]
sar rcx, 0x3f
btc rcx, 0x3f
add rbp, rax
cmovo rbp, rcx
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x340], xmm1
movaps xmmword [rsp + 0x330], xmm0
movaps xmm0, xmmword [rsp + 0x330]
movaps xmm1, xmmword [rsp + 0x340]
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
test rbp, rbp
je 0x1401521d5
xor ecx, ecx
cmp rbp, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
mov r8, rbp
sub r8, rax
cmovo r8, rdx
xor ecx, ecx
cmp r8, 0xfa00
cmovl ecx, r15d
cmp r15d, 2
cmovne ecx, r15d
jmp 0x1401521d9
mov rcx, qword [rsp + 0x90]
mov rdx, r12
mov rsi, r10
mov rdi, r11
call fcn.140156070
mov r11, rdi
mov r10, rsi
jmp 0x140152761
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx + 0xd8]
jae 0x140153483
test rax, rax
je 0x140154297
mov rcx, qword [r12]
mov qword [rax], rcx
xor edx, edx
mov qword [r12], rdx
movups xmm0, xmmword [r12 + 8]
movups xmm1, xmmword [r12 + 0x18]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
lea rdi, [rax + 0x28]
lea rsi, [r12 + 0x28]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov cl, byte [r12 + 0x7c]
mov byte [rax + 0x7c], cl
mov ecx, dword [r12 + 0x78]
mov dword [rax + 0x78], ecx
mov cl, byte [r12 + 0x82]
mov byte [rax + 0x82], cl
movzx ecx, word [r12 + 0x80]
mov word [rax + 0x80], cx
mov rcx, qword [r12 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [r12 + 0x88], rdx
mov rcx, qword [r12 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [r12 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [r12 + 0x98], rdx
mov rcx, qword [r12 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 0xd0], rax
jmp 0x140152761
lock dec dword [rsi]
jne 0x140152691
mov rax, qword [rsi + 0x10]
lea rcx, [0x140200e10]
cmp rax, rcx
je 0x1401535b5
mov rcx, rsi
mov rsi, r11
call qword [0x1402c9008]
mov r11, rsi
movabs r10, 0xcf3cf3cf3cf3cf3d
jmp 0x140152691
mov qword [rsp + 0xc0], r11
mov rcx, qword [rsi + 0x28]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14029be48]
je 0x1401535f6
mov rcx, rsi
call fcn.1401833ec
movabs r10, 0xcf3cf3cf3cf3cf3d
mov r11, qword [rsp + 0xc0]
jmp 0x140152691
call fcn.1400dfe50
jmp 0x1401535d7
lock dec dword [rsi]
jne 0x140152ac0
mov rax, qword [rsi + 0x10]
lea rcx, [0x140200e10]
cmp rax, rcx
je 0x14015362a
mov rcx, rsi
mov rsi, r10
call qword [0x1402c9008]
mov r10, rsi
jmp 0x140152ac0
mov r15, r10
mov rcx, qword [rsi + 0x28]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14029be48]
je 0x140153657
mov rcx, rsi
call fcn.1401833ec
mov r10, r15
jmp 0x140152ac0
call fcn.1400dfe50
jmp 0x140153647
lea rcx, [rsp + 0x330]
mov qword [rcx], r12
mov qword [rcx + 8], rsi
call fcn.140209f20
jmp 0x140153a19
mov rax, qword [8]
xor ecx, ecx
call qword [0x1402c9008]
jmp 0x14015407b
mov rcx, qword [0x1402b6458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1401538f6
mov rcx, qword [0x1402b6458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14015386b
test byte [0x1402aa660], 9
je 0x140153a19
mov qword [rsp + 0x2f0], 0
mov rax, qword [rsp + 0x58]
lea rbx, [rax + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140153712
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea r12, [rsp + 0x2f0]
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.140209e80
mov ebp, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bpl, bpl
je 0x140153a19
test byte [0x1402aa660], 0x19
je 0x140153a19
jmp 0x14015365e
cmp rax, r14
je 0x140153922
add rcx, rax
cmp rcx, 1
ja 0x140153922
jmp 0x1401546d9
mov rcx, rsi
call qword [0x1402c9008]
mov rax, qword [rsi]
jmp 0x1401538f6
mov rcx, rsi
call qword [0x1402c9008]
mov rax, qword [rsi]
jmp 0x14015386b
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 8]
mov rax, qword [rax + 0x308]
mov rax, qword [rsp + 0x88]
mov r12, qword [rax]
mov qword [rax], 0
movups xmm0, xmmword [rax + 0x18]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rax + 8]
movaps xmmword [rsp + 0xd0], xmm0
mov dl, byte [rax + 0x28]
mov byte [rsp + 0x70], dl
mov dl, byte [rax + 0x29]
mov byte [rsp + 0x68], dl
mov r14, qword [rax + 0x30]
mov r15, qword [rax + 0x38]
mov ebp, dword [rax + 0x40]
mov rdx, qword [rax + 0x48]
mov qword [rsp + 0x80], rdx
xorps xmm0, xmm0
mov rdx, qword [rax + 0x50]
mov qword [rsp + 0x78], rdx
movups xmmword [rax + 0x48], xmm0
mov rbx, qword [rax + 0x58]
mov rax, qword [rcx + 8]
mov r13d, 1
lock xadd qword [rax + 0x28], r13
movabs rdi, 0x8637bd05af7
lea rcx, [0x140181ca0]
test r15, r15
je 0x1401538b2
mov rax, qword [fcn.140106270]
lea rsi, [rsp + 0x330]
cmp rax, rcx
jne 0x140153779
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, rdi
jge 0x1401536b3
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b6458]
lea rdi, [rsp + 0x158]
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
cmp r15, 1
je 0x140153941
lea r15, [rsp + 0x178]
mov qword [r15 - 0x28], r12
mov qword [r15], rax
xorps xmm0, xmm0
movups xmmword [r15 + 8], xmm0
xor ecx, ecx
jmp 0x140153991
mov rax, qword [fcn.140106270]
lea rsi, [rsp + 0x330]
cmp rax, rcx
jne 0x140153768
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, rdi
jge 0x14015368c
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b6458]
movabs rcx, 0x8000000000000001
lea rdx, [r14 + rcx]
cmp rdx, 2
jb 0x14015374d
lea rcx, [rax + r14]
sar rcx, 0x3f
btc rcx, 0x3f
add r14, rax
cmovo r14, rcx
lea rdi, [rsp + 0x158]
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
lea r15, [rsp + 0x178]
mov qword [r15 - 0x28], r12
mov qword [r15], rax
mov qword [r15 + 8], r14
mov qword [r15 + 0x10], 0
xor ecx, ecx
test r14, r14
je 0x140153991
xor ecx, ecx
cmp r14, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub r14, rax
cmovo r14, rdx
xor ecx, ecx
cmp r14, 0xfa00
cmovl ecx, ebp
cmp ebp, 2
cmovne ecx, ebp
lea rsi, [rsp + 0x150]
mov dword [rsi + 0x40], ecx
xor eax, eax
mov qword [rsi + 0x70], rax
mov byte [rsi + 0x7c], al
xorps xmm0, xmm0
movups xmmword [rsi + 0x48], xmm0
movups xmmword [rsi + 0x58], xmm0
mov dword [rsi + 0x68], 0
mov cl, byte [rsp + 0x70]
mov byte [rsi + 0x80], cl
mov cl, byte [rsp + 0x68]
mov byte [rsi + 0x82], cl
mov rcx, qword [rsp + 0x80]
mov qword [rsi + 0x88], rcx
mov qword [rsi + 0x90], rax
mov rcx, qword [rsp + 0x78]
mov qword [rsi + 0x98], rcx
mov qword [rsi + 0xa0], rbx
mov dword [rsi + 0x78], r13d
mov byte [rsi + 0x81], al
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
mov rdx, rsi
call fcn.1401562f0
cmp dword [rsi + 0x68], 0
jne 0x1401536da
mov r13, qword [rsp + 0x1d8]
test r13, r13
je 0x140153a3c
mov eax, 1
lock xadd dword [r13 + 8], eax
cmp eax, 0x7fffffff
je 0x14015466e
lea rbx, [rsp + 0x1d0]
movabs rsi, 0xfffffffc00000000
mov bpl, byte [rbx + 2]
lea rdx, str.PushOntoDelayedIncomingQueue
lea r8, str....._base_task_sequence_manager_task_queue_impl.cc
lea rcx, [rsp + 0x130]
mov r9d, 0x206
call fcn.1400ed1b0
mov r14, qword [rsp + 0x58]
mov rax, r14
and rax, rsi
cmp rax, qword [0x14029be48]
jne 0x140153a8f
mov rcx, r14
call fcn.1400dc910
mov ecx, 0xd8
call fcn.1401833f4
mov r12, rax
mov dword [rax], 1
lea rax, [0x140074ab0]
mov qword [r12 + 8], rax
lea rax, [0x140074bb0]
mov qword [r12 + 0x10], rax
lea rax, [0x1401fa720]
mov qword [r12 + 0x18], rax
lea rax, [0x14005cc00]
mov qword [r12 + 0x20], rax
mov qword [r12 + 0x28], r14
mov rax, qword [rsp + 0x150]
mov qword [r12 + 0x30], rax
xor eax, eax
mov qword [rsp + 0x150], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [r12 + 0x48], xmm1
movups xmmword [r12 + 0x38], xmm0
lea rdi, [r12 + 0x58]
mov ecx, 0xa
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
mov cl, byte [r15 + 0x54]
mov byte [r12 + 0xac], cl
mov ecx, dword [r15 + 0x50]
mov dword [r12 + 0xa8], ecx
mov cl, byte [rbx + 2]
mov byte [r12 + 0xb2], cl
movzx ecx, word [rbx]
mov word [r12 + 0xb0], cx
mov rcx, qword [rsp + 0x1d8]
mov qword [r12 + 0xb8], rcx
mov qword [rsp + 0x1d8], rax
mov rcx, qword [rsp + 0x1e0]
mov qword [r12 + 0xc0], rcx
mov rcx, qword [rsp + 0x1e8]
mov qword [r12 + 0xc8], rcx
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x1f0]
mov qword [r12 + 0xd0], rax
movups xmm0, xmmword [rsp + 0x130]
movups xmm1, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x2a0], xmm0
movaps xmmword [rsp + 0x2b0], xmm1
test r12, r12
je 0x14015466b
lea r15, [r14 + 0x20]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
movabs rdi, 0x8637bd05af7
je 0x140153f30
mov rcx, qword [r14 + 8]
mov eax, dword [rcx + 0x68]
test eax, eax
je 0x140153eb9
mov rax, qword [rcx + 0x308]
mov rax, qword [fcn.140106270]
lea rcx, [0x140181ca0]
lea rsi, [rsp + 0x330]
cmp rax, rcx
jne 0x140154084
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, rdi
jge 0x140154681
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b6458]
mov r8, qword [rsp + 0x58]
mov rcx, qword [r8 + 8]
mov edx, 1
lock xadd qword [rcx + 0x28], rdx
mov rbx, qword [r8 + 0x38]
movaps xmm0, xmmword [rsp + 0x2a0]
movaps xmm1, xmmword [rsp + 0x2b0]
movups xmmword [rsp + 0x348], xmm1
movups xmmword [rsp + 0x338], xmm0
mov qword [rsp + 0x330], r12
mov qword [rsp + 0x358], rax
mov qword [rsp + 0x3a0], 0
xor eax, eax
mov byte [rsp + 0x3ac], al
xorps xmm6, xmm6
movups xmmword [rsp + 0x378], xmm6
movups xmmword [rsp + 0x388], xmm6
mov dword [rsp + 0x398], eax
mov byte [rsp + 0x3b0], al
movups xmmword [rsp + 0x360], xmm6
mov dword [rsp + 0x370], eax
mov byte [rsp + 0x3b2], bpl
mov qword [rsp + 0x3b8], r13
mov qword [rsp + 0x3c0], rdx
movups xmmword [rsp + 0x3c8], xmm6
mov dword [rsp + 0x3a8], edx
mov byte [rsp + 0x3b1], al
cmp qword [r8 + 0x28], 0
je 0x140153ed7
mov rsi, qword [r8 + 0x30]
lea rbp, [rsp + 0x338]
lea r13, [rsp + 0x358]
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x10]
inc rax
xor edx, edx
cmp rax, rcx
cmovne rdx, rax
cmp qword [rsi + 8], rdx
je 0x140153f69
xor r8d, r8d
cmp rax, rcx
cmove rax, r8
mov qword [rsi + 0x10], rax
mov rcx, qword [rsi + 0x18]
imul rax, rax, 0xa8
lea rdx, [rcx + rax]
add rdx, 0x28
mov qword [rdx - 0x28], r12
lea rax, [rsp + 0x330]
mov qword [rax], r8
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rdx - 0x10], xmm1
movups xmmword [rdx - 0x20], xmm0
mov ecx, 0xa
mov rdi, rdx
mov rsi, r13
rep movsq qword [rdi], qword [rsi]
mov cl, byte [r13 + 0x54]
mov byte [rdx + 0x54], cl
mov ecx, dword [r13 + 0x50]
mov dword [rdx + 0x50], ecx
movzx ecx, word [rbp + 0x78]
mov word [rdx + 0x58], cx
mov cl, byte [rbp + 0x7a]
mov byte [rdx + 0x5a], cl
mov rcx, qword [rax + 0x88]
mov qword [rdx + 0x60], rcx
mov qword [rax + 0x88], r8
mov rcx, qword [rax + 0x90]
mov qword [rdx + 0x68], rcx
mov rcx, qword [rax + 0x98]
mov qword [rdx + 0x70], rcx
mov qword [rax + 0x98], r8
mov rcx, qword [rax + 0xa0]
mov qword [rdx + 0x78], rcx
mov r12, qword [rsp + 0x58]
mov rcx, qword [r12 + 0x38]
mov rdx, qword [r12 + 0x40]
inc rcx
mov qword [r12 + 0x38], rcx
cmp rdx, rcx
cmova rcx, rdx
mov qword [r12 + 0x40], rcx
mov rcx, rax
call fcn.1400f6230
mov rcx, qword [r12 + 8]
mov rax, qword [r12 + 0x30]
imul rdx, qword [rax + 0x10], 0xa8
add rdx, qword [rax + 0x18]
call fcn.1401562f0
mov rax, qword [r12 + 0x30]
mov rdi, qword [rax + 0x18]
imul r14, qword [rax + 0x10], 0xa8
cmp dword [rdi + r14 + 0x68], 0
jne 0x140154095
mov rdi, qword [r12 + 0x60]
mov r14, qword [r12 + 0x68]
cmp rdi, r14
jne 0x140154023
test rbx, rbx
jne 0x140153eae
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x50], 0
je 0x140153eae
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx + 0x1f8]
mov rcx, qword [rdx + 0x200]
lock or qword [rax], rcx
mov bl, byte [rdx + 0x51]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bl, bl
je 0x140153e8f
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
call fcn.14015a010
test byte [0x1402aa720], 9
jne 0x1401540d7
lea rcx, [rsp + 0x150]
call fcn.1400f6230
jmp 0x140152e47
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140153e8f
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x20a], 0
jne 0x140153be7
xor eax, eax
mov r8, qword [rsp + 0x58]
jmp 0x140153c42
mov ecx, 0x28
call fcn.1401833f4
mov rsi, rax
mov qword [rax], 4
movups xmmword [rax + 8], xmm6
mov ecx, 0x2a0
call fcn.140183658
mov rdi, rax
movabs rcx, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14029be48]
je 0x140153f3e
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], 0
mov r14, qword [rsp + 0x58]
mov qword [r14 + 0x28], rsi
mov qword [r14 + 0x30], rsi
jmp 0x140153d03
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140153bd8
mov rcx, rdi
call fcn.1400dc910
mov r14, qword [rsp + 0x58]
mov r13, qword [r14 + 0x28]
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], 0
mov qword [r14 + 0x28], rsi
test r13, r13
je 0x140153f27
jmp 0x1401546b2
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsi + 0x38]
lea rcx, [rsp + 0x2f0]
mov qword [rcx], rax
call fcn.1400dc900
mov r14, qword [rsi + 0x30]
mov rax, qword [r14]
mov rcx, rax
shr rcx, 1
lea rdi, [rax + rcx]
add rdi, 2
mov ecx, 0x28
call fcn.1401833f4
mov rsi, rax
mov qword [rax], rdi
imul rcx, rdi, 0xa8
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
call fcn.140183658
mov rdi, rax
movabs rax, 0xfffffffc00000000
and rax, rdi
cmp rax, qword [0x14029be48]
je 0x140154010
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], 0
mov rdi, qword [r14 + 0x20]
mov qword [r14 + 0x20], rsi
test rdi, rdi
jne 0x140154200
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x30]
mov rsi, qword [rax + 0x20]
mov qword [rcx + 0x30], rsi
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x10]
inc rax
jmp 0x140153d30
mov rcx, rdi
call fcn.1400dc910
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + 0x30]
jmp 0x140153fd3
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
imul rdx, qword [rax + 0x10], 0xa8
add rdx, qword [rax + 0x18]
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x140153677
mov eax, 1
lock xadd dword [rsi], eax
test eax, eax
jle 0x140154671
cmp eax, 0x7fffffff
je 0x140154674
mov rax, qword [rdi + 8]
mov rax, qword [rax + 8]
mov rcx, rsi
call qword [0x1402c9008]
lock dec dword [rsi]
je 0x140154215
add rdi, 0x10
jmp 0x140153e41
mov rcx, rsi
call qword [0x1402c9008]
mov rax, qword [rsi]
jmp 0x140153c39
test byte [0x1402aa660], 9
je 0x140153e37
lea rsi, [rsp + 0x2d0]
mov qword [rsi], 0
mov rcx, r12
mov rdx, rsi
call fcn.140209e80
test al, al
je 0x1401540cd
test byte [0x1402aa660], 0x19
jne 0x140154227
mov r12, qword [rsp + 0x58]
jmp 0x140153e37
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x140153e9c
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140154107
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rdx, qword [rsp + 0x58]
mov rdi, qword [rdx + 0x38]
mov rax, qword [rdx + 0xb0]
mov rcx, qword [rdx + 0xb8]
mov rsi, qword [rcx + 0x10]
mov rbx, qword [rax + 0x10]
mov r14, qword [rdx + 0xd0]
mov r12, qword [rdx + 0xc8]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x1402aa720], 0x19
je 0x140153e9c
sub r14, r12
shr r14, 3
imul eax, r14d, 0x3cf3cf3d
add esi, edi
add ebx, eax
add ebx, esi
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax]
call fcn.1402017c0
mov rsi, rax
lea rdi, [rsp + 0x2d0]
mov rcx, rdi
call fcn.140106270
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movaps xmm0, xmmword [0x14026cc70]
lea r14, [rsp + 0x2f0]
movaps xmmword [r14], xmm0
movaps xmmword [r14 + 0x10], xmm0
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [r14 + 0x20], rcx
mov word [r14], 0x301
lea rcx, [0x1402755fe]
mov qword [r14 + 8], rcx
movsxd rcx, ebx
mov qword [r14 + 0x18], rcx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x1402aa720]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.14013ac20
mov rcx, r14
call fcn.1401741a0
jmp 0x140153e9c
mov rcx, rdi
call fcn.14014d050
mov rcx, rdi
call fcn.1401833ec
jmp 0x140153ff0
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1402c9008]
jmp 0x14015407b
add rdi, r14
lea rcx, [rsp + 0x2f0]
mov qword [rcx], rsi
mov qword [rcx + 8], rdi
call fcn.140209f20
jmp 0x1401540cd
mov rsi, r10
call fcn.1401833ec
mov r10, rsi
jmp 0x140152b71
mov rsi, r10
mov rdi, r11
call fcn.1401833ec
mov r11, rdi
mov r10, rsi
jmp 0x140152752
lea rsi, [rsp + 0x2f0]
mov rcx, rsi
call qword [0x1402c9008]
mov rax, qword [rsi]
jmp 0x140152171
int3
int3
int3
int3
int3
int3
int3
int3
int3
xor r9d, r9d
jmp 0x14015221c
int3
int3
int3
cmp r8, rdx
je 0x14015262a
movabs r9, 0x8000000000000001
add r8, r9
cmp r8, 1
ja 0x14015262a
int3
int3
int3
mov rcx, qword [rsp + 0x58]
inc dword [rcx + 0xe0]
jmp 0x1401524a7
int3
lea rdx, [rsp + 0x1f8]
mov rcx, rsi
call qword [0x1402c9008]
jmp 0x1401523bf
lock dec dword [rcx + 8]
jne 0x140152b37
mov rsi, r10
call fcn.14014bf60
mov r10, rsi
jmp 0x140152b37
int3
lock dec dword [rcx + 8]
jne 0x140152718
mov rsi, r10
mov rdi, r11
call fcn.14014bf60
mov r11, rdi
mov r10, rsi
jmp 0x140152718
mov rdx, qword [rdx + 8]
mov dl, byte [rdx + 0x51]
xor ebx, ebx
cmp dl, cl
setae bl
jmp 0x140152ce8
mov r14, qword [0x1402b4900]
lea rdi, [rsp + 0x130]
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1402aa220]
lea r9, str.SequenceManager_PostTask
mov rcx, rdi
mov dl, 0x49
call fcn.140138070
mov rcx, qword [rdi]
test rcx, rcx
je 0x140154407
add rsi, 0x1c0
shl rbx, 0x20
and esi, 0xfffffff8
or rsi, rbx
xor rsi, r14
mov al, byte [rsp + 0x148]
mov rdx, qword [rsp + 0x138]
lea rdi, [rsp + 0x2f0]
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rdx
xor ebx, ebx
mov qword [rdi + 0x18], rbx
mov byte [rdi + 0x20], al
mov edx, 0x2f
mov r8, rsi
call fcn.140170590
lea rcx, [rsp + 0x330]
mov qword [rcx], rbx
mov qword [rdi], rbx
movups xmm0, xmmword [rdi + 8]
movups xmm1, xmmword [rdi + 0x11]
movups xmmword [rcx + 8], xmm0
movups xmmword [rcx + 0x11], xmm1
call fcn.140138080
mov rcx, rdi
call fcn.140138080
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x14015231f
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1402c9008]
jmp 0x14015231f
mov rcx, qword [0x1402b6458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140152171
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x1c8], 0
je 0x1401523cd
test byte [0x1402aa660], 9
je 0x1401523cd
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x128], 0
jne 0x1401523cd
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x1e0], 0
je 0x1401523cd
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x2f0], rax
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x308]
lea rdx, [rsp + 0x330]
call fcn.1401564f0
cmp byte [rsi + 0x1c8], 0
je 0x14015453a
mov rax, qword [rsp + 0x330]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x1d0]
xor edx, edx
cmp rax, rcx
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
sub rax, rcx
cmovo rax, r8
mov qword [rsp + 0x2f0], rax
test byte [0x1402aa660], 0x19
je 0x1401523cd
lea rax, [rsp + 0x2f0]
lea rcx, [rsp + 0x330]
mov qword [rcx], rax
lea rax, [rsp + 0x1f8]
mov qword [rcx + 8], rax
call fcn.140209f20
jmp 0x1401523cd
call fcn.1401c7cd0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x140152e18
mov rax, qword [rsp + 0x58]
lea rsi, [rax + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140154578
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rdx, qword [rsp + 0x58]
mov r14, qword [rdx + 0x38]
mov rax, qword [rdx + 0xb0]
mov rcx, qword [rdx + 0xb8]
mov rdi, qword [rcx + 0x10]
mov rbx, qword [rax + 0x10]
mov r15, qword [rdx + 0xd0]
mov r12, qword [rdx + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x1402aa720], 0x19
je 0x140152e18
sub r15, r12
shr r15, 3
imul eax, r15d, 0x3cf3cf3d
add edi, r14d
add ebx, eax
add ebx, edi
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax]
call fcn.1402017c0
mov rsi, rax
lea rdi, [rsp + 0x2f0]
mov rcx, rdi
call fcn.140106270
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r14, [rsp + 0x330]
movaps xmmword [r14], xmm6
movaps xmmword [r14 + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [r14 + 0x20], rcx
mov word [r14], 0x301
lea rcx, [0x1402755fe]
mov qword [r14 + 8], rcx
movsxd rcx, ebx
mov qword [r14 + 0x18], rcx
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x1402aa720]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.14013ac20
mov rcx, r14
call fcn.1401741a0
jmp 0x140152e18
int3
int3
int3
int3
call fcn.14014bf60
jmp 0x140152e65
mov rcx, qword [0x1402b6458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140153c39
call fcn.1400dca60
jmp 0x14015304c
mov rcx, r13
call fcn.14014d050
mov rcx, r13
call fcn.1401833ec
mov rsi, qword [r14 + 0x28]
jmp 0x140153f27
xor ecx, ecx
jmp 0x1401532d9
xor ecx, ecx
jmp 0x14015328d
int3