Function at 0x140165ac0
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, 0x3d8
movaps xmmword [rsp + 0x3c0], xmm6
mov rbx, r8
mov r12, rdx
mov r14, rcx
mov rax, qword [0x1402e0038]
xor rax, rsp
mov qword [rsp + 0x3b8], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x138], rax
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdi, [rax + 0x220]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x120], xmm0
mov qword [rsp + 0x130], 0
mov rax, qword [rdi]
test rax, rax
jne 0x140165b4c
lea rcx, [rsp + 0x120]
mov qword [rdi], rcx
test rax, rax
sete byte [rsp + 0x138]
lea r15, [r14 + 8]
mov eax, 1
lock xadd dword [r14 + 8], eax
mov ecx, eax
shr ecx, 0x1e
and ecx, 1
test eax, eax
mov eax, 2
cmovns eax, ecx
cmp eax, 1
mov qword [rsp + 0xf8], rbx
jne 0x140168539
test r15, r15
je 0x140168568
movabs r13, 0xfffffffc00000000
mov ecx, 0x28
call fcn.14010cc14
mov rbp, rax
mov rsi, qword [r14 + 0x20]
lea rax, [0x14029e060]
mov qword [rbp], rax
mov rax, rsi
and rax, r13
cmp rax, qword [0x1402e3948]
jne 0x140165bcf
mov rcx, rsi
call fcn.140105e30
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], 0xffffffffffffffff
mov ecx, 8
call fcn.14010cc14
mov dword [rax], 0
mov byte [rax + 4], 0
mov qword [rbp + 0x18], rax
test rax, rax
je 0x1401660b7
mov ecx, 1
mov edx, 1
lock xadd dword [rax], edx
cmp edx, 0x7fffffff
je 0x140168787
mov qword [rbp + 0x20], rbp
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x14016878a
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0xc0], rdi
mov rcx, qword [rbx + 0x50]
mov qword [rbx + 0x50], rax
test rcx, rcx
je 0x140165c51
lock dec dword [rcx]
jne 0x140165c51
call fcn.14010cc0c
mov qword [rbx + 0x58], rbp
mov qword [rsp + 0xf0], r14
mov r13, qword [r14 + 0x20]
mov rax, qword [rbx]
mov qword [rsp + 0x60], rax
mov qword [rbx], 0
movups xmm0, xmmword [rbx + 0x18]
movaps xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rbx + 8]
movaps xmmword [rsp + 0x100], xmm0
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x70], rax
mov rdi, qword [rbx + 0x30]
mov rsi, qword [rbx + 0x38]
mov eax, dword [rbx + 0x40]
mov dword [rsp + 0x78], eax
mov r15, qword [rbx + 0x48]
xorps xmm0, xmm0
mov r14, qword [rbx + 0x50]
movups xmmword [rbx + 0x48], xmm0
mov rax, qword [r13 + 0x18]
mov ebx, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp rsi, 2
jae 0x14016876b
test rdi, rdi
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xb8], r12
jne 0x140166d90
mov qword [rsp + 0x68], r15
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x2b0], xmm1
movaps xmmword [rsp + 0x2a0], xmm0
cmp qword [rsp + 0x60], 0
je 0x140168770
lea r15, [r13 + 0x28]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140165d2a
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [r13 + 0x10]
mov ecx, dword [rax + 0x68]
test ecx, ecx
je 0x1401660d3
mov rax, qword [rax + 0x300]
mov rax, qword [fcn.14009a170]
lea rdi, [rsp + 0x310]
mov rcx, rdi
call qword [0x140318008]
mov r8, qword [rdi]
mov rax, qword [r13 + 0x10]
mov esi, 1
lock xadd qword [rax + 0x28], rsi
mov ebp, 1
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x90], rax
movaps xmm0, xmmword [rsp + 0x2a0]
movaps xmm1, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x2e0], xmm1
movaps xmmword [rsp + 0x2d0], xmm0
xorps xmm6, xmm6
movups xmmword [rsp + 0x1f4], xmm6
movups xmmword [rsp + 0x204], xmm6
mov dword [rsp + 0x214], 0
cmp qword [r13 + 0x30], 0
je 0x1401660e9
mov rdi, qword [r13 + 0x38]
mov r12, qword [rdi]
mov rbp, qword [rdi + 8]
mov rax, qword [rdi + 0x20]
inc rbp
xor ecx, ecx
cmp rbp, rax
cmovne rcx, rbp
cmp r12, rcx
jne 0x140165ec8
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0x80], r14
mov r14, r15
mov rax, qword [r13 + 0x40]
lea rcx, [rsp + 0x310]
mov qword [rcx], rax
call fcn.14008fa20
mov r12, qword [r13 + 0x38]
mov rax, qword [r12 + 0x20]
mov rcx, rax
shr rcx, 1
lea r15, [rax + rcx]
add r15, 2
mov ecx, 0x30
call fcn.14010cc14
mov rdi, rax
imul rbx, r15, 0xa8
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov rcx, rbx
call fcn.14010d000
mov rbp, rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.140111cd0
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], rbp
mov qword [rdi + 0x20], r15
mov qword [rdi + 0x28], 0
movabs rax, 0x186186186186186
cmp r15, rax
jae 0x14016878d
mov rbx, qword [r12 + 0x28]
mov qword [r12 + 0x28], rdi
test rbx, rbx
je 0x140165e9e
mov rcx, rbx
call fcn.1400913c0
mov rcx, rbx
call fcn.14010cc0c
mov rax, qword [r13 + 0x38]
mov rdi, qword [rax + 0x28]
mov qword [r13 + 0x38], rdi
mov rbp, qword [rdi + 8]
mov rax, qword [rdi + 0x20]
inc rbp
mov r15, r14
mov r14, qword [rsp + 0x80]
mov r8, qword [rsp + 0xb0]
xor ecx, ecx
cmp rbp, rax
cmovne rcx, rbp
mov qword [rdi + 8], rcx
cmp rax, rcx
jbe 0x140168773
mov r9, qword [rsp + 0x70]
mov eax, r9d
shr eax, 8
mov rdx, qword [rdi + 0x18]
imul rcx, rcx, 0xa8
movaps xmm0, xmmword [rsp + 0x2d0]
movaps xmm1, xmmword [rsp + 0x2e0]
movups xmmword [rdx + rcx + 0x10], xmm1
movups xmmword [rdx + rcx], xmm0
mov qword [rdx + rcx + 0x20], r8
xorps xmm0, xmm0
movups xmmword [rdx + rcx + 0x28], xmm0
mov r8d, dword [rsp + 0x78]
mov dword [rdx + rcx + 0x38], r8d
movups xmm0, xmmword [rsp + 0x1f0]
movups xmm1, xmmword [rsp + 0x200]
movups xmmword [rdx + rcx + 0x3c], xmm0
movups xmmword [rdx + rcx + 0x4c], xmm1
mov r8, qword [rsp + 0x210]
mov qword [rdx + rcx + 0x5c], r8
mov qword [rdx + rcx + 0x68], 0
mov dword [rdx + rcx + 0x70], esi
xor r8d, r8d
mov byte [rdx + rcx + 0x74], r8b
mov r10, qword [rsp + 0x60]
mov qword [rdx + rcx + 0x78], r10
mov byte [rdx + rcx + 0x80], r9b
mov byte [rdx + rcx + 0x81], r8b
mov byte [rdx + rcx + 0x82], al
mov rax, qword [rsp + 0x68]
mov qword [rdx + rcx + 0x88], rax
mov qword [rdx + rcx + 0x90], rsi
mov qword [rdx + rcx + 0x98], r14
mov rbp, qword [rsp + 0x98]
mov qword [rdx + rcx + 0xa0], rbp
mov rax, qword [r13 + 0x38]
mov rcx, qword [r13 + 0x40]
inc rcx
mov qword [r13 + 0x40], rcx
mov rdx, qword [r13 + 0x48]
cmp rdx, rcx
cmova rcx, rdx
mov qword [r13 + 0x48], rcx
mov rcx, qword [rax + 8]
cmp qword [rax + 0x20], rcx
mov r12, qword [rsp + 0xb8]
jbe 0x140168776
mov r8, qword [r13 + 0x10]
imul rdx, rcx, 0xa8
add rdx, qword [rax + 0x18]
mov rcx, qword [r8 + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea r8, [0x140076d70]
cmp rax, r8
jne 0x140168779
cmp qword [rdx + 0x40], 0
jne 0x14016607e
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x210]
test rax, rax
jne 0x1401660c0
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x14016607e
mov rcx, qword [rax + 0x18]
mov qword [rdx + 0x40], rcx
movups xmm0, xmmword [rax + 0x40]
mov rcx, qword [rax + 0x50]
mov qword [rdx + 0x58], rcx
movups xmmword [rdx + 0x48], xmm0
cmp byte [rax + 0x74], 0
jne 0x1401660b3
cmp qword [rax + 0x58], 0
setne al
mov byte [rdx + 0x74], al
mov rax, qword [r13 + 0x38]
mov rcx, qword [rax + 8]
cmp qword [rax + 0x20], rcx
jbe 0x140168784
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
cmp dword [rax + rcx + 0x60], 0
jne 0x140168793
mov rsi, qword [r13 + 0x60]
mov rbx, qword [r13 + 0x68]
jmp 0x140166176
mov al, 1
jmp 0x14016607b
mov qword [rbp + 0x20], rbp
jmp 0x140165c2a
mov rcx, qword [rax + 0x18]
mov qword [rdx + 0x68], rcx
mov eax, dword [rax + 0x10]
mov dword [rdx + 0x60], eax
jmp 0x140166036
cmp byte [r13 + 0x1e2], 0
jne 0x140165d39
xor r8d, r8d
jmp 0x140165d5f
mov ecx, 0x30
mov qword [rsp + 0x80], r13
mov r13, r14
mov r14, r15
mov r15, r8
call fcn.14010cc14
mov rdi, rax
movups xmmword [rax], xmm6
mov ecx, 0x2a0
call fcn.14010d000
mov rbx, rax
xor r12d, r12d
mov r8d, 0x2a0
mov rcx, rax
xor edx, edx
call fcn.140111cd0
mov r8, r15
mov r15, r14
mov r14, r13
mov r13, qword [rsp + 0x80]
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbx
mov qword [rdi + 0x20], 4
mov qword [rdi + 0x28], 0
mov qword [r13 + 0x30], rdi
mov qword [r13 + 0x38], rdi
mov eax, 4
jmp 0x140165dd6
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x140318008]
add rsi, 0x10
cmp rsi, rbx
je 0x1401661d9
mov rax, qword [r13 + 0x38]
mov rcx, qword [rax + 8]
cmp qword [rax + 0x20], rcx
jbe 0x140168749
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x14016874c
imul rdx, rcx, 0xa8
add rdx, qword [rax + 0x18]
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x14016874f
cmp eax, 0x7fffffff
je 0x140168752
mov rax, qword [rsi + 8]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [0x140318008]
lock dec dword [rdi]
jne 0x140166172
jmp 0x140166165
cmp qword [rsp + 0x90], 0
je 0x1401662d2
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x1402e3230], 9
jne 0x140168866
mov rdi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
mov qword [r12], rbp
mov eax, 0xffffffff
lock xadd dword [rbx], eax
and eax, 0xbfffffff
cmp eax, 0x80000001
je 0x1401686cb
cmp byte [rsp + 0x138], 0
je 0x1401683ca
mov qword [rdi], 0
mov rdi, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x128]
cmp rdi, rbx
jne 0x14016838b
test rdi, rdi
mov rbx, qword [rsp + 0xf8]
jne 0x1401682c4
mov rcx, qword [rbx + 0x50]
test rcx, rcx
je 0x14016627d
lock dec dword [rcx]
jne 0x14016627d
call fcn.14010cc0c
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x140168619
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1401662c1
mov rcx, qword [rsp + 0x3b8]
xor rcx, rsp
call fcn.14010fba0
mov rax, r12
movaps xmm6, xmmword [rsp + 0x3c0]
add rsp, 0x3d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rcx]
jne 0x140166292
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x140166292
cmp byte [r13 + 0x58], 0
je 0x1401661e8
mov rax, qword [r13 + 0x1d0]
mov rcx, qword [r13 + 0x1d8]
lock or qword [rax], rcx
mov bl, byte [r13 + 0x59]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bl, bl
je 0x1401661f1
mov rax, qword [r13 + 0x10]
mov rdi, qword [rax + 0x30]
mov rax, qword [rdi]
mov rax, qword [rax + 0x18]
lea rcx, [0x1400770c0]
cmp rax, rcx
jne 0x1401687f6
mov eax, dword [rdi + 0x190]
mov ecx, eax
or ecx, 2
lock cmpxchg dword [rdi + 0x190], ecx
jne 0x140166329
cmp eax, 4
jne 0x1401661f1
mov rax, qword [rdi + 8]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x140166381
mov rax, qword [rdi + 0xa8]
test rax, rax
je 0x140168831
mov rax, qword [rax + 8]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x140166381
mov al, byte [0x1402e2d90]
and al, 0x19
jne 0x140168686
mov rdi, qword [rdi + 0x210]
mov rax, qword [rdi]
mov rax, qword [rax + 0x18]
lea rcx, [fcn.14010ab00]
cmp rax, rcx
je 0x1401663c7
lea rcx, [0x1400c2fd0]
cmp rax, rcx
jne 0x14016816d
lea rsi, [rdi + 0x10]
cmp byte [rdi + 0x18], 0
je 0x1401683d7
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x1401661f1
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 8], cl
jne 0x1401661f1
mov rcx, qword [rdi + 0x20]
mov edx, 0x401
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
jne 0x1401661f1
xor eax, eax
xchg byte [rdi + 8], al
test byte [0x1402e21a0], 0x19
je 0x1401661f1
jmp 0x140168200
mov ecx, 0x30
mov qword [rsp + 0x68], r15
mov r15, rdx
call fcn.14010cc14
mov rdi, rax
movups xmmword [rax], xmm6
mov ecx, 0x2a0
call fcn.14010d000
mov rbx, rax
xor r14d, r14d
mov r8d, 0x2a0
mov rcx, rax
xor edx, edx
call fcn.140111cd0
mov rdx, r15
mov r15, qword [rsp + 0x68]
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbx
mov qword [rdi + 0x20], 4
mov qword [rdi + 0x28], 0
mov qword [r13 + 0x30], rdi
mov qword [r13 + 0x38], rdi
mov eax, 4
jmp 0x1401668e6
mov rcx, rdi
jmp 0x140166490
lea rdx, [rax + rdi]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, rax
add rcx, rdi
cmovo rcx, rdx
mov r14, r15
mov r15, qword [rsp + 0x68]
jmp 0x140166515
cmp byte [r13 + 0x1e2], 0
jne 0x14016684b
xor edx, edx
jmp 0x140166871
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x378], rcx
mov edx, dword [rax + 0x10]
mov dword [rsp + 0x370], edx
jmp 0x14016662b
mov al, 1
jmp 0x140166680
cmp rsi, 1
jne 0x140168534
mov rax, qword [fcn.14009a170]
lea rsi, [rsp + 0x310]
mov rcx, rsi
call qword [0x140318008]
mov rax, qword [rsi]
xor ecx, ecx
cmp rdi, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
mov rcx, rdi
sub rdi, rax
cmovo rdi, rdx
xor edx, edx
cmp rdi, 0x8ca0
mov r9d, dword [rsp + 0x78]
mov r8d, r9d
cmovge r8d, edx
cmp r9d, 2
cmovne r8d, r9d
movaps xmm0, xmmword [rsp + 0x160]
movaps xmm1, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x320], xmm1
movaps xmmword [rsp + 0x310], xmm0
mov qword [rsp + 0x330], rax
mov qword [rsp + 0x338], rcx
mov qword [rsp + 0x340], rdx
mov dword [rsp + 0x348], r8d
mov qword [rsp + 0x378], rdx
mov byte [rsp + 0x384], dl
xorps xmm0, xmm0
movaps xmmword [rsp + 0x350], xmm0
movaps xmmword [rsp + 0x360], xmm0
mov dword [rsp + 0x370], edx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x388], rax
mov rax, qword [rsp + 0x70]
mov byte [rsp + 0x390], al
mov byte [rsp + 0x392], ah
mov qword [rsp + 0x398], r15
mov qword [rsp + 0x3a0], rdx
mov qword [rsp + 0x3a8], r14
mov qword [rsp + 0x3b0], rbp
mov dword [rsp + 0x380], ebx
mov byte [rsp + 0x391], dl
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea r8, [0x140076d70]
cmp rax, r8
jne 0x14016884d
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x210]
test rax, rax
jne 0x1401664af
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x140166687
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x350], rcx
movups xmm0, xmmword [rax + 0x40]
mov rcx, qword [rax + 0x50]
mov qword [rsp + 0x368], rcx
movups xmmword [rsp + 0x358], xmm0
cmp byte [rax + 0x74], 0
jne 0x1401664ca
cmp qword [rax + 0x58], 0
setne al
mov byte [rsp + 0x384], al
test edx, edx
jne 0x140168a87
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x1401666b1
mov eax, 1
lock xadd dword [rcx + 8], eax
cmp eax, 0x7fffffff
je 0x1401687f3
mov qword [rsp + 0x70], rcx
lea rbx, [rsp + 0x330]
mov al, byte [rbx + 0x62]
mov byte [rsp + 0x78], al
lea rdx, str.PushOntoDelayedIncomingQueue
lea r8, str....._base_task_sequence_manager_task_queue_impl.cc
lea rcx, [rsp + 0x1a0]
mov r9d, 0x1f9
call fcn.14009b140
movabs rax, 0xfffffffc00000000
and rax, r13
cmp rax, qword [0x1402e3948]
jne 0x140166704
mov rcx, r13
call fcn.140105e30
mov ecx, 0xd8
call fcn.14010cc14
mov rbp, rax
mov dword [rax], 1
lea rax, [0x1400e5b50]
mov qword [rbp + 8], rax
lea rax, [0x1400e5c50]
mov qword [rbp + 0x10], rax
lea rax, [0x1401ce200]
mov qword [rbp + 0x18], rax
lea rax, [0x140178b40]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], r13
movaps xmm0, xmmword [rsp + 0x310]
movaps xmm1, xmmword [rsp + 0x320]
movups xmmword [rbp + 0x40], xmm1
movups xmmword [rbp + 0x30], xmm0
lea rdi, [rbp + 0x50]
mov ecx, 0xa
mov rsi, rbx
rep movsq qword [rdi], qword [rsi]
mov eax, dword [rbx + 0x50]
mov dword [rbp + 0xa0], eax
mov al, byte [rbx + 0x54]
mov byte [rbp + 0xa4], al
mov rax, qword [rsp + 0x388]
mov qword [rbp + 0xa8], rax
xor eax, eax
mov qword [rsp + 0x388], rax
mov cl, byte [rbx + 0x62]
mov byte [rbp + 0xb2], cl
movzx ecx, word [rbx + 0x60]
mov word [rbp + 0xb0], cx
mov rcx, qword [rsp + 0x398]
mov qword [rbp + 0xb8], rcx
mov qword [rsp + 0x398], rax
mov rcx, qword [rsp + 0x3a0]
mov qword [rbp + 0xc0], rcx
mov rcx, qword [rsp + 0x3a8]
mov qword [rbp + 0xc8], rcx
mov qword [rsp + 0x3a8], rax
mov rax, qword [rsp + 0x3b0]
mov qword [rbp + 0xd0], rax
movups xmm0, xmmword [rsp + 0x1a0]
movups xmm1, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmmword [rsp + 0x1c0], xmm0
test rbp, rbp
je 0x1401687d9
lea r15, [r13 + 0x28]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14016683c
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [r13 + 0x10]
mov ecx, dword [rax + 0x68]
test ecx, ecx
je 0x14016649a
mov rax, qword [rax + 0x300]
mov rax, qword [fcn.14009a170]
lea rdi, [rsp + 0x1f0]
mov rcx, rdi
call qword [0x140318008]
mov rdx, qword [rdi]
mov rax, qword [r13 + 0x10]
mov r12d, 1
lock xadd qword [rax + 0x28], r12
mov esi, 1
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x2b0], xmm1
movaps xmmword [rsp + 0x2a0], xmm0
xorps xmm6, xmm6
movups xmmword [rsp + 0x2d4], xmm6
movups xmmword [rsp + 0x2e4], xmm6
mov dword [rsp + 0x2f4], 0
cmp qword [r13 + 0x30], 0
je 0x14016640a
mov rdi, qword [r13 + 0x38]
mov r14, qword [rdi]
mov rsi, qword [rdi + 8]
mov rax, qword [rdi + 0x20]
inc rsi
xor ecx, ecx
cmp rsi, rax
cmovne rcx, rsi
cmp r14, rcx
jne 0x1401669c9
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x68], r15
mov rax, qword [r13 + 0x40]
lea rcx, [rsp + 0x1f0]
mov qword [rcx], rax
call fcn.14008fa20
mov r14, qword [r13 + 0x38]
mov rax, qword [r14 + 0x20]
mov rcx, rax
shr rcx, 1
lea r15, [rax + rcx]
add r15, 2
mov ecx, 0x30
call fcn.14010cc14
mov rdi, rax
imul rbx, r15, 0xa8
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov rcx, rbx
call fcn.14010d000
mov rsi, rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.140111cd0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov qword [rdi + 0x20], r15
mov qword [rdi + 0x28], 0
movabs rax, 0x186186186186186
cmp r15, rax
jae 0x14016882e
mov rbx, qword [r14 + 0x28]
mov qword [r14 + 0x28], rdi
test rbx, rbx
je 0x1401669a5
mov rcx, rbx
call fcn.1400913c0
mov rcx, rbx
call fcn.14010cc0c
mov rax, qword [r13 + 0x38]
mov rdi, qword [rax + 0x28]
mov qword [r13 + 0x38], rdi
mov rsi, qword [rdi + 8]
mov rax, qword [rdi + 0x20]
inc rsi
mov r15, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x90]
xor ecx, ecx
cmp rsi, rax
cmovne rcx, rsi
mov qword [rdi + 8], rcx
cmp rax, rcx
jbe 0x1401687dc
mov rax, qword [rdi + 0x18]
imul rcx, rcx, 0xa8
movaps xmm0, xmmword [rsp + 0x2a0]
movaps xmm1, xmmword [rsp + 0x2b0]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
mov qword [rax + rcx + 0x20], rdx
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x28], xmm0
mov dword [rax + rcx + 0x38], 0
movups xmm1, xmmword [rsp + 0x2d0]
movups xmm2, xmmword [rsp + 0x2e0]
movups xmmword [rax + rcx + 0x3c], xmm1
movups xmmword [rax + rcx + 0x4c], xmm2
mov rdx, qword [rsp + 0x2f0]
mov qword [rax + rcx + 0x5c], rdx
mov qword [rax + rcx + 0x68], 0
mov dword [rax + rcx + 0x70], r12d
mov byte [rax + rcx + 0x74], 0
mov qword [rax + rcx + 0x78], rbp
mov word [rax + rcx + 0x80], 0
mov dl, byte [rsp + 0x78]
mov byte [rax + rcx + 0x82], dl
mov rdx, qword [rsp + 0x70]
mov qword [rax + rcx + 0x88], rdx
mov qword [rax + rcx + 0x90], r12
movups xmmword [rax + rcx + 0x98], xmm0
mov rax, qword [r13 + 0x38]
mov rcx, qword [r13 + 0x40]
inc rcx
mov qword [r13 + 0x40], rcx
mov rdx, qword [r13 + 0x48]
cmp rdx, rcx
cmova rcx, rdx
mov qword [r13 + 0x48], rcx
mov rcx, qword [rax + 8]
cmp qword [rax + 0x20], rcx
jbe 0x1401687df
mov r8, qword [r13 + 0x10]
imul rdx, rcx, 0xa8
add rdx, qword [rax + 0x18]
mov rcx, qword [r8 + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea r8, [0x140076d70]
cmp rax, r8
mov r12, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0x98]
jne 0x1401687e2
cmp qword [rdx + 0x40], 0
jne 0x140166b5d
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x210]
test rax, rax
jne 0x140166b93
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x140166b5d
mov rcx, qword [rax + 0x18]
mov qword [rdx + 0x40], rcx
movups xmm0, xmmword [rax + 0x40]
mov rcx, qword [rax + 0x50]
mov qword [rdx + 0x58], rcx
movups xmmword [rdx + 0x48], xmm0
cmp byte [rax + 0x74], 0
jne 0x140166b8f
cmp qword [rax + 0x58], 0
setne al
mov byte [rdx + 0x74], al
mov rax, qword [r13 + 0x38]
mov rcx, qword [rax + 8]
cmp qword [rax + 0x20], rcx
jbe 0x1401687ed
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
cmp dword [rax + rcx + 0x60], 0
jne 0x1401689b3
mov rsi, qword [r13 + 0x60]
mov rbx, qword [r13 + 0x68]
jmp 0x140166bb7
mov al, 1
jmp 0x140166b5a
mov rcx, qword [rax + 0x18]
mov qword [rdx + 0x68], rcx
mov eax, dword [rax + 0x10]
mov dword [rdx + 0x60], eax
jmp 0x140166b15
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x140318008]
add rsi, 0x10
cmp rsi, rbx
je 0x140166c1a
mov rax, qword [r13 + 0x38]
mov rcx, qword [rax + 8]
cmp qword [rax + 0x20], rcx
jbe 0x14016875f
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x140168762
imul rdx, rcx, 0xa8
add rdx, qword [rax + 0x18]
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x140168765
cmp eax, 0x7fffffff
je 0x140168768
mov rax, qword [rsi + 8]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [0x140318008]
lock dec dword [rdi]
jne 0x140166bb3
jmp 0x140166ba6
cmp qword [rsp + 0x60], 0
je 0x140166ca6
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x1402e3230], 9
jne 0x140168ad2
mov rcx, qword [rsp + 0x3a8]
test rcx, rcx
je 0x140166c53
lock dec dword [rcx]
jne 0x140166c53
call fcn.14010cc0c
mov rsi, qword [rsp + 0x398]
test rsi, rsi
mov rdi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
jne 0x140166c9b
mov rsi, qword [rsp + 0x388]
mov qword [rsp + 0x388], 0
test rsi, rsi
je 0x14016620e
lock dec dword [rsi]
je 0x140167f08
jmp 0x140167eb5
lock dec dword [rsi + 8]
jne 0x140166c70
jmp 0x140168464
cmp byte [r13 + 0x58], 0
je 0x140166c26
mov rax, qword [r13 + 0x1d0]
mov rcx, qword [r13 + 0x1d8]
lock or qword [rax], rcx
mov bl, byte [r13 + 0x59]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bl, bl
je 0x140166c2f
mov rcx, qword [r13 + 0x10]
call fcn.140076e00
jmp 0x140166c2f
mov al, 1
jmp 0x1401671e8
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x258], rcx
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x250], eax
jmp 0x140167193
mov rax, qword [fcn.14009a170]
lea rsi, [rsp + 0x310]
mov rcx, rsi
call qword [0x140318008]
cmp byte [rsp + 0x188], 0
mov rax, qword [rsi]
jne 0x140166d35
mov byte [rsp + 0x188], 1
mov qword [rsp + 0x180], rax
movabs r11, 0x8000000000000001
jmp 0x140166fd6
mov rax, qword [fcn.14009a170]
lea rsi, [rsp + 0x310]
mov rcx, rsi
call qword [0x140318008]
cmp byte [rsp + 0x188], 0
mov rax, qword [rsi]
jne 0x140166d79
mov byte [rsp + 0x188], 1
mov qword [rsp + 0x180], rax
movabs r11, 0x8000000000000001
jmp 0x140166f77
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x150], xmm1
movaps xmmword [rsp + 0x140], xmm0
cmp qword [rsp + 0x60], 0
je 0x140168790
cmp ebx, eax
je 0x140166e90
mov rax, qword [r13 + 0x10]
mov rax, qword [rax + 0x300]
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x170], xmm1
movaps xmmword [rsp + 0x160], xmm0
mov rax, qword [r13 + 0x10]
mov ebx, 1
lock xadd qword [rax + 0x28], rbx
cmp byte [0x140301de4], 0
jne 0x140166e26
cmp qword [0x1402f40a0], 0
je 0x140166e26
lea rcx, str.msDisableHighResolutionTimers
xor edx, edx
call fcn.140095920
mov byte [0x140301de4], 1
test rsi, rsi
jne 0x1401664d1
mov qword [rsp + 0x68], r15
mov r15, r14
movabs r14, 0x8000000000000001
mov rax, qword [fcn.14009a170]
lea rsi, [rsp + 0x310]
mov rcx, rsi
call qword [0x140318008]
mov rax, qword [rsi]
lea rcx, [rdi + r14]
cmp rcx, 2
jae 0x140166479
cmp rax, rdi
je 0x140166474
add r14, rax
mov rcx, rdi
cmp r14, 1
mov r14, r15
mov r15, qword [rsp + 0x68]
ja 0x140166515
jmp 0x1401689f0
movabs rdx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x190], rdx
movaps xmm6, xmmword [0x14029bb90]
movaps xmmword [rsp + 0x180], xmm6
mov rax, qword [r13 + 0x10]
mov rax, qword [rax + 0x300]
xor ecx, ecx
mov byte [rsp + 0x180], cl
mov byte [rsp + 0x188], cl
mov qword [rsp + 0x190], rax
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x2a0], xmm6
movaps xmmword [rsp + 0x2b0], xmm6
mov qword [rsp + 0x2c0], rdx
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x170], xmm1
mov rax, qword [r13 + 0x10]
mov ebx, 1
lock xadd qword [rax + 0x28], rbx
cmp byte [0x140301de4], cl
jne 0x140166f52
cmp qword [0x1402f40a0], 0
je 0x140166f52
lea rcx, str.msDisableHighResolutionTimers
xor edx, edx
call fcn.140095920
mov byte [0x140301de4], 1
movabs r11, 0x8000000000000001
test rsi, rsi
jne 0x140166fb6
cmp byte [rsp + 0x188], 0
je 0x140166d4c
mov rax, qword [rsp + 0x180]
lea rcx, [rdi + r11]
cmp rcx, 2
jae 0x140166f9d
cmp rax, rdi
jne 0x140166f8b
mov rcx, rdi
jmp 0x140166ff5
lea rdx, [rax + r11]
mov rcx, rdi
cmp rdx, 1
ja 0x140166ff5
jmp 0x1401689ed
lea rdx, [rax + rdi]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, rax
add rcx, rdi
cmovo rcx, rdx
jmp 0x140166ff5
cmp rsi, 1
jne 0x140168534
cmp byte [rsp + 0x188], 0
je 0x140166d08
mov rax, qword [rsp + 0x180]
xor ecx, ecx
cmp rdi, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
mov rcx, rdi
sub rdi, rax
cmovo rdi, rdx
xor r9d, r9d
cmp rdi, 0x8ca0
mov edx, dword [rsp + 0x78]
mov r8d, edx
cmovge r8d, r9d
cmp edx, 2
cmovne r8d, edx
mov r10, qword [r13 + 0x10]
movaps xmm0, xmmword [rsp + 0x160]
movaps xmm1, xmmword [rsp + 0x170]
mov rdx, qword [rsp + 0x70]
shr edx, 8
cmp qword [r10 + 0x228], 0
movaps xmmword [rsp + 0x1b0], xmm1
movaps xmmword [rsp + 0x1a0], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x2a4], xmm0
movups xmmword [rsp + 0x2b4], xmm0
mov dword [rsp + 0x2c4], 0
jne 0x14016706c
mov r9, qword [0x1402efc58]
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmm1, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x1f0], xmm0
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], rcx
mov qword [rsp + 0x220], r9
mov dword [rsp + 0x228], r8d
movaps xmm0, xmmword [rsp + 0x2a0]
movaps xmm1, xmmword [rsp + 0x2b0]
movups xmmword [rsp + 0x22c], xmm0
movups xmmword [rsp + 0x23c], xmm1
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x24c], rax
mov dword [rsp + 0x254], 0xaaaaaaaa
xor eax, eax
mov qword [rsp + 0x258], rax
mov dword [rsp + 0x260], ebx
mov byte [rsp + 0x264], al
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x268], rcx
mov rcx, qword [rsp + 0x70]
mov byte [rsp + 0x270], cl
mov byte [rsp + 0x271], al
mov byte [rsp + 0x272], dl
mov qword [rsp + 0x278], r15
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], r14
mov qword [rsp + 0x290], rbp
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [0x140076d70]
cmp rax, rdx
jne 0x140168834
cmp qword [rsp + 0x230], 0
jne 0x1401671ef
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x210]
test rax, rax
jne 0x140166ced
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x1401671ef
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x230], rcx
movups xmm0, xmmword [rax + 0x40]
mov rcx, qword [rax + 0x50]
mov qword [rsp + 0x248], rcx
movups xmmword [rsp + 0x238], xmm0
cmp byte [rax + 0x74], 0
jne 0x140166ce6
cmp qword [rax + 0x58], 0
setne al
mov byte [rsp + 0x264], al
cmp dword [rsp + 0x250], 0
jne 0x1401689f3
mov rdi, qword [rsp + 0x210]
mov r15, qword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x228]
mov dword [rsp + 0x70], eax
mov esi, dword [rsp + 0x260]
mov r8b, byte [rsp + 0x264]
mov rcx, qword [rsp + 0x268]
xor eax, eax
mov qword [rsp + 0x268], rax
mov r9b, byte [rsp + 0x270]
mov r10b, byte [rsp + 0x271]
mov bl, byte [rsp + 0x272]
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x278], rax
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0x288]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x288], rax
test rcx, rcx
je 0x1401687cd
mov qword [rsp + 0xe8], rdi
mov byte [rsp + 0x5c], bl
mov byte [rsp + 0x5e], r9b
mov byte [rsp + 0x5f], r8b
lea rax, [rsp + 0x22c]
mov byte [rsp + 0x5d], r10b
test r10b, r10b
je 0x1401672d5
inc dword [r13 + 0xd8]
mov qword [rsp + 0x80], rcx
mov rdi, qword [rsp + 0x290]
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmm1, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmmword [rsp + 0x1c0], xmm0
mov ecx, dword [rax + 0x30]
mov dword [rsp + 0x300], ecx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x2f0], xmm2
movaps xmmword [rsp + 0x2e0], xmm1
movaps xmmword [rsp + 0x2d0], xmm0
lea r14, [r13 + 0xc0]
mov r12, qword [r13 + 0xc8]
mov rbx, r12
movabs r10, 0xcf3cf3cf3cf3cf3d
sub rbx, qword [r13 + 0xc0]
je 0x140168755
mov r8, qword [rsp + 0x60]
lea rax, [r15 + r8]
sar rax, 0x3f
btc rax, 0x3f
mov r9, r15
add r9, r8
cmovo r9, rax
sar rbx, 3
imul rbx, r10
lea rax, [r8 + r11]
add rax, 0xfffffffffffffffe
lea rcx, [r15 + r11]
add rcx, 0xfffffffffffffffe
cmp rcx, 0xfffffffffffffffe
setb cl
cmp r15, r8
sete dl
or dl, cl
cmp rax, 0xfffffffffffffffe
cmovae r9, r8
setb al
cmp dword [rsp + 0x70], 0
cmovne r9, r15
mov qword [rsp + 0x68], r9
setne cl
or cl, al
or cl, dl
mov byte [rsp + 0x90], cl
mov qword [rsp + 0x78], r15
mov r15, rbx
dec rbx
mov qword [rsp + 0xe0], rbx
shr rbx, 1
mov r12, qword [r13 + 0xc0]
mov rax, qword [r13 + 0xc8]
mov rcx, rax
sub rcx, r12
sar rcx, 3
imul rcx, r10
cmp rcx, rbx
jbe 0x1401687d0
imul rdx, rbx, 0xa8
lea rbp, [r12 + rdx]
cmp dword [r12 + rdx + 0x38], 0
je 0x140167f82
mov rdx, qword [rbp + 0x28]
cmp byte [rsp + 0x90], 0
je 0x1401687b5
xor r8d, r8d
cmp dword [rbp + 0x70], esi
setg r8b
xor r9d, r9d
cmp rdx, qword [rsp + 0x68]
setge r9b
cmovne r8d, r9d
cmp r8b, 1
jne 0x140167696
cmp rcx, r15
mov dword [rsp + 0x8c], esi
je 0x14016809c
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], r14
jbe 0x1401687be
imul r14, r15, 0xa8
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
lea rax, [r12 + r14]
add 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 0x140168446
add r12, r14
mov al, byte [rbp + 0x82]
mov byte [r12 + 0x82], al
movzx eax, word [rbp + 0x80]
mov word [r12 + 0x80], ax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x88], 0
mov rcx, qword [r12 + 0x88]
mov qword [r12 + 0x88], rax
test rcx, rcx
mov esi, dword [rsp + 0x8c]
jne 0x140168a66
mov rax, qword [rbp + 0x90]
mov qword [r12 + 0x90], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x98], 0
mov rcx, qword [r12 + 0x98]
mov qword [r12 + 0x98], rax
test rcx, rcx
movabs r11, 0x8000000000000001
mov rdi, qword [rsp + 0xd0]
je 0x140167589
lock dec dword [rcx]
jne 0x140167589
mov rsi, r10
mov rdi, r11
call fcn.14010cc0c
mov r11, rdi
mov rdi, qword [rsp + 0xd0]
mov r10, rsi
mov esi, dword [rsp + 0x8c]
mov rax, qword [rbp + 0xa0]
mov qword [r12 + 0xa0], rax
mov rax, qword [r13 + 0xc8]
mov r14, qword [rsp + 0xd8]
mov rcx, qword [r14]
sub rax, rcx
sar rax, 3
imul rax, r10
cmp rax, r15
jbe 0x1401687c1
imul rax, r15, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x14016760c
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14016760c
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14016760c
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x1401687ca
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1401687ca
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], r15
mov rcx, qword [r13 + 0xc0]
mov rdx, qword [r13 + 0xc8]
sub rdx, rcx
sar rdx, 3
imul rdx, r10
cmp rdx, r15
jbe 0x1401687c4
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
mov r15, qword [rsp + 0x78]
je 0x14016766f
mov dl, byte [rdx + 4]
test dl, dl
jne 0x14016766f
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x14016766f
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x1401687b8
mov al, byte [rax + 4]
test al, al
jne 0x1401687b8
cmp qword [rsp + 0xe0], 1
ja 0x1401673c9
mov r12, qword [r13 + 0xc0]
mov rax, qword [r13 + 0xc8]
mov rdx, qword [rsp + 0x80]
jmp 0x1401676a6
mov rbx, r15
mov rdx, qword [rsp + 0x80]
mov r15, qword [rsp + 0x78]
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
lea rbp, [rsp + 0x330]
movaps xmmword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
mov rcx, qword [rsp + 0xe8]
mov qword [rbp], rcx
mov qword [rbp + 8], r15
mov rcx, qword [rsp + 0x60]
mov qword [rbp + 0x10], rcx
mov ecx, dword [rsp + 0x70]
mov dword [rbp + 0x18], ecx
mov ecx, dword [rsp + 0x300]
mov dword [rbp + 0x4c], ecx
movaps xmm0, xmmword [rsp + 0x2d0]
movaps xmm1, xmmword [rsp + 0x2e0]
movaps xmm2, xmmword [rsp + 0x2f0]
movups xmmword [rbp + 0x1c], xmm0
movups xmmword [rbp + 0x2c], xmm1
movups xmmword [rbp + 0x3c], xmm2
mov dword [rbp + 0x50], esi
mov cl, byte [rsp + 0x5f]
mov byte [rbp + 0x54], cl
mov qword [rbp + 0x58], rdx
mov cl, byte [rsp + 0x5e]
mov byte [rbp + 0x60], cl
mov cl, byte [rsp + 0x5d]
mov byte [rbp + 0x61], cl
mov cl, byte [rsp + 0x5c]
mov byte [rbp + 0x62], cl
mov r8, qword [rsp + 0xb0]
mov qword [rbp + 0x68], r8
mov r9, qword [rsp + 0xa8]
mov qword [rbp + 0x70], r9
mov r11, qword [rsp + 0xa0]
mov qword [rbp + 0x78], r11
mov qword [rbp + 0x80], rdi
mov rcx, rax
sub rcx, r12
sar rcx, 3
imul rcx, r10
cmp rcx, rbx
je 0x140167fe6
jbe 0x1401687f0
mov r15, r14
imul rax, rbx, 0xa8
lea r14, [r12 + rax]
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
add rax, r12
add rax, 0x20
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
mov ecx, 0xa
mov rdi, rax
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rbp + 0x50]
mov dword [rax + 0x50], ecx
mov cl, byte [rbp + 0x54]
mov byte [rax + 0x54], cl
mov qword [rsp + 0x388], 0
mov rcx, qword [rax + 0x58]
mov qword [rax + 0x58], rdx
test rcx, rcx
jne 0x140168428
mov al, byte [rbp + 0x62]
mov byte [r14 + 0x82], al
movzx eax, word [rbp + 0x60]
mov word [r14 + 0x80], ax
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
mov rcx, qword [r14 + 0x88]
mov qword [r14 + 0x88], rax
test rcx, rcx
jne 0x140168999
mov rax, qword [rsp + 0x3a0]
mov qword [r14 + 0x90], rax
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x3a8], 0
mov rcx, qword [r14 + 0x98]
mov qword [r14 + 0x98], rax
test rcx, rcx
je 0x14016786a
lock dec dword [rcx]
jne 0x14016786a
mov rsi, r10
call fcn.14010cc0c
mov r10, rsi
mov rax, qword [rsp + 0x3b0]
mov qword [r14 + 0xa0], rax
mov rax, qword [r13 + 0xc8]
mov r14, r15
mov rcx, qword [r14]
sub rax, rcx
sar rax, 3
imul rax, r10
cmp rax, rbx
jbe 0x1401687d3
imul rax, rbx, 0xa8
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x1401678e8
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1401678e8
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x1401678e8
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x140168996
mov dl, byte [rdx + 4]
test dl, dl
jne 0x140168996
mov rcx, qword [rcx + 0xa0]
mov qword [rcx + 0x10], rbx
mov rcx, qword [r13 + 0xc0]
mov rdx, qword [r13 + 0xc8]
sub rdx, rcx
sar rdx, 3
imul rdx, r10
cmp rdx, rbx
jbe 0x1401687d6
mov rdx, qword [rcx + rax + 0x98]
test rdx, rdx
je 0x140167946
mov dl, byte [rdx + 4]
test dl, dl
jne 0x140167946
add rcx, rax
cmp qword [rcx + 0xa0], 0
je 0x140167946
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x140168993
mov al, byte [rax + 4]
test al, al
jne 0x140168993
mov rcx, qword [rsp + 0x3a8]
test rcx, rcx
je 0x14016795d
lock dec dword [rcx]
jne 0x14016795d
call fcn.14010cc0c
mov rsi, qword [rsp + 0x398]
test rsi, rsi
jne 0x140168255
mov rsi, qword [rsp + 0x388]
mov qword [rsp + 0x388], 0
test rsi, rsi
jne 0x140168314
mov rax, qword [r13]
lea rcx, [fcn.1400b15d0]
cmp qword [rax + 0x98], rcx
jne 0x140168804
movaps xmmword [rsp + 0x2e0], xmm6
movaps xmmword [rsp + 0x2d0], xmm6
lea rcx, [fcn.1401ff450]
cmp qword [rax + 0x30], rcx
jne 0x140168819
mov rax, qword [r13 + 0xc0]
cmp rax, qword [r13 + 0xc8]
je 0x14016808d
cmp byte [r13 + 0x120], 0
je 0x14016808d
cmp dword [r13 + 0xd8], 0
mov rcx, qword [r13 + 0xb0]
mov rcx, qword [rcx + 0x38]
jne 0x1401689d5
mov rdx, qword [r13 + 0x10]
mov r8b, byte [rdx + 0x51]
xor edx, edx
mov r9d, dword [rax + 0x38]
xor r10d, r10d
cmp r9d, 2
cmovne r10d, r9d
cmp r8b, cl
cmovae r10d, r9d
movups xmm0, xmmword [rax + 0x28]
movaps xmmword [rsp + 0x2d0], xmm0
mov dword [rsp + 0x2e0], edx
mov dword [rsp + 0x2e4], r10d
mov al, 1
mov byte [rsp + 0x2e8], al
mov rsi, qword [r13 + 0xa0]
test rsi, rsi
jne 0x1401685bf
mov rbx, qword [rsp + 0x2d0]
mov rbp, qword [rsp + 0x2d8]
mov edx, dword [rsp + 0x2e0]
mov r14d, dword [rsp + 0x2e4]
mov r15b, byte [rsp + 0x2e8]
mov al, byte [r13 + 0x198]
test r15b, r15b
je 0x140167e88
test al, al
je 0x140167e88
cmp qword [r13 + 0x180], rbx
je 0x140167c7e
lea rax, [rsp + 0x2e9]
mov qword [r13 + 0x180], rbx
mov qword [r13 + 0x188], rbp
mov dword [r13 + 0x190], edx
mov dword [r13 + 0x194], r14d
mov byte [r13 + 0x198], r15b
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [r13 + 0x199], ecx
mov dword [r13 + 0x19c], eax
mov rsi, qword [r13 + 0x98]
mov r12, qword [rsi + 0x10]
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x60], rax
cmp r12, rax
je 0x140167e64
mov r8, qword [r12]
mov r9, qword [r12 + 8]
mov ecx, dword [r12 + 0x14]
xor r10d, r10d
mov rdi, qword [r13 + 0x118]
cmp rdi, 0xffffffffffffffff
mov dword [rsp + 0xb0], ecx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x80], r9
mov dword [rsp + 0x68], r10d
je 0x140167dc7
mov rax, qword [rsp + 0x60]
sub rax, r12
sar rax, 5
cmp rax, rdi
jbe 0x14016873d
mov rax, rdi
shl rax, 5
mov eax, dword [r12 + rax + 0x10]
mov dword [rsp + 0x78], eax
and eax, 0xffffff00
mov dword [rsp + 0x70], eax
lea r11, [rsi + 8]
test r15b, r15b
je 0x140167e52
movabs rax, 0xfffffffc00000000
and rax, r13
mov r8, rdi
cmp rax, qword [0x1402e3948]
jne 0x140167bb9
mov rcx, r13
mov dword [rsp + 0xa8], edx
mov qword [rsp + 0xa0], r11
call fcn.140103420
mov r11, qword [rsp + 0xa0]
mov edx, dword [rsp + 0xa8]
mov r8, qword [r13 + 0x118]
lea r9, [rsp + 0x310]
mov qword [r9], rbx
mov qword [r9 + 8], rbp
mov ebx, edx
mov dword [r9 + 0x10], edx
mov dword [r9 + 0x14], r14d
mov qword [r9 + 0x18], r13
lea rdx, [rsp + 0x1e8]
mov rcx, r11
call fcn.140108b20
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
cmp rax, rcx
movabs r11, 0xaaaaaaaaaaaaaaaa
je 0x140167da4
mov r8, qword [rax]
mov r11, qword [rax + 8]
mov edx, dword [rax + 0x14]
xor r9d, r9d
cmp rdi, 0xffffffffffffffff
je 0x140167c28
movzx r10d, byte [rsp + 0x78]
or r10d, dword [rsp + 0x70]
cmp r10d, 1
jne 0x140167c28
dec dword [rsi + 0x28]
test r15b, r15b
je 0x140167c35
cmp ebx, 1
jne 0x140167c35
inc dword [rsi + 0x28]
cmp r12, qword [rsp + 0x60]
je 0x140167d2d
cmp rax, rcx
je 0x140167d2d
cmp r9d, dword [rsp + 0x68]
jne 0x140167d45
cmp r8, qword [rsp + 0x90]
jne 0x140167d45
cmp r11, qword [rsp + 0x80]
jne 0x140167d45
cmp edx, dword [rsp + 0xb0]
je 0x140167ca5
jmp 0x140167d45
cmp qword [r13 + 0x188], rbp
jne 0x140167a9f
cmp dword [r13 + 0x190], edx
jne 0x140167a9f
cmp dword [r13 + 0x194], r14d
jne 0x140167a9f
test byte [0x1402e3230], 9
mov rbp, qword [rsp + 0x98]
jne 0x140168bf7
mov rcx, qword [rsp + 0x288]
test rcx, rcx
je 0x140167cd1
lock dec dword [rcx]
jne 0x140167cd1
call fcn.14010cc0c
mov rsi, qword [rsp + 0x278]
test rsi, rsi
mov r12, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
jne 0x140167d95
mov rsi, qword [rsp + 0x268]
mov qword [rsp + 0x268], 0
test rsi, rsi
je 0x14016620e
lock dec dword [rsi]
je 0x140167ede
mov rcx, qword [rsp + 0x268]
jmp 0x140167ebd
cmp rax, rcx
setne dl
cmp r12, qword [rsp + 0x60]
setne r8b
cmp r8b, dl
je 0x140167ca5
cmp rax, rcx
je 0x140167dbb
movups xmm0, xmmword [rax]
mov eax, dword [rax + 0x14]
movups xmmword [rsp + 0x310], xmm0
mov dword [rsp + 0x320], 0
mov dword [rsp + 0x324], eax
mov al, 1
lea r8, [rsp + 0x310]
mov byte [r8 + 0x18], al
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
lea rdx, [rsp + 0x180]
mov rcx, rsi
call qword [0x140318008]
jmp 0x140167ca5
lock dec dword [rsi + 8]
jne 0x140167cfa
jmp 0x1401684cc
lea r8, [r11 - 0xaa]
mov edx, 0xaaaaaaaa
mov r9d, 0xaaaaaaaa
jmp 0x140167c0e
mov byte [rsp + 0x310], 0
xor eax, eax
jmp 0x140167d6c
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x70], 0xaaaaaa00
test r15b, r15b
je 0x140167e4b
lea rcx, [rsi + 8]
movabs rax, 0xfffffffc00000000
and rax, r13
cmp rax, qword [0x1402e3948]
jne 0x140167e1c
mov qword [rsp + 0xa0], rcx
mov rcx, r13
mov dword [rsp + 0xa8], edx
call fcn.140103420
mov rcx, qword [rsp + 0xa0]
mov edx, dword [rsp + 0xa8]
lea r8, [rsp + 0x310]
mov qword [r8], rbx
mov qword [r8 + 8], rbp
mov ebx, edx
mov dword [r8 + 0x10], edx
mov dword [r8 + 0x14], r14d
mov qword [r8 + 0x18], r13
lea rdx, [rsp + 0x1e8]
call fcn.140109e40
jmp 0x140167be6
mov ebx, edx
jmp 0x140167be6
mov ebx, edx
mov rcx, r11
mov rdx, rdi
call fcn.140109690
jmp 0x140167be6
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r8, [rax - 0xaa]
mov r10d, 0xaaaaaaaa
mov r9, rax
mov ecx, 0xaaaaaaaa
jmp 0x140167b0b
test r15b, r15b
setne cl
test al, al
setne al
cmp cl, al
je 0x140167ca5
jmp 0x140167a9f
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x14016864c
mov rcx, rsi
call fcn.14010cc0c
mov rcx, qword [rsp + 0x388]
test rcx, rcx
je 0x14016620e
lock dec dword [rcx]
jne 0x14016620e
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14016620e
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x140167f6d
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x140167f53
mov rcx, rsi
call qword [0x140318008]
jmp 0x140167d20
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x140167f33
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x140167ea0
mov rcx, rsi
call qword [0x140318008]
jmp 0x140167eb5
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x140167ead
lock dec dword [rcx]
jne 0x140167ead
call fcn.14010cc0c
jmp 0x140167ead
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x140168664
mov rcx, rsi
call fcn.14010cc0c
jmp 0x140167d20
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x140167f60
lock dec dword [rcx]
jne 0x140167f60
call fcn.14010cc0c
jmp 0x140167f60
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
lea r9, [rdx + r11]
cmp r9, 2
jae 0x140167faf
cmp r8, rdx
je 0x14016741a
add r8, r11
cmp r8, 1
ja 0x14016741a
jmp 0x1401687bb
lea r9, [r8 + rdx]
sar r9, 0x3f
btc r9, 0x3f
add r8, rdx
cmovo r8, r9
mov rdx, r8
jmp 0x14016741a
lea rdx, [rsp + 0x310]
mov rcx, r14
mov rsi, r10
call fcn.1400a7720
mov r10, rsi
jmp 0x140168081
cmp rax, qword [r13 + 0xd0]
jae 0x140167fcb
test rax, rax
je 0x1401689ea
mov r15, rdi
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
lea rdi, [rax + 0x20]
mov ecx, 0xa
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rbp + 0x50]
mov dword [rax + 0x70], ecx
mov cl, byte [rbp + 0x54]
mov byte [rax + 0x74], cl
mov qword [rax + 0x78], rdx
xor ecx, ecx
mov qword [rsp + 0x388], rcx
mov dl, byte [rbp + 0x62]
mov byte [rax + 0x82], dl
movzx edx, word [rbp + 0x60]
mov word [rax + 0x80], dx
mov qword [rax + 0x88], r8
mov qword [rsp + 0x398], rcx
mov qword [rax + 0x90], r9
mov qword [rax + 0x98], r11
mov qword [rsp + 0x3a8], rcx
mov qword [rax + 0xa0], r15
add rax, 0xa8
mov qword [r13 + 0xc8], rax
jmp 0x140167883
mov byte [rsp + 0x2d0], 0
xor eax, eax
jmp 0x140167a3c
cmp rax, qword [r13 + 0xd0]
jae 0x14016862d
test rax, rax
je 0x1401687c7
mov r12, 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
mov edx, 0
mov qword [rbp + 0x78], rdx
movzx ecx, word [rbp + 0x80]
mov word [rax + 0x80], cx
mov cl, byte [rbp + 0x82]
mov byte [rax + 0x82], cl
mov rcx, qword [rbp + 0x88]
mov qword [rax + 0x88], rcx
mov qword [rbp + 0x88], rdx
mov rcx, qword [rbp + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [rbp + 0x98]
mov qword [rax + 0x98], rcx
mov qword [rbp + 0x98], rdx
mov rcx, qword [rbp + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [r13 + 0xc8], rax
mov rdi, r12
mov esi, dword [rsp + 0x8c]
jmp 0x1401675a7
lea rcx, [0x14005f6c0]
cmp rax, rcx
jne 0x1401687f6
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 8], cl
jne 0x1401661f1
mov rcx, qword [rdi + 0x18]
xor edx, edx
mov r8, rdi
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x1401661f1
xor eax, eax
xchg byte [rdi + 8], al
test byte [0x1402e21a0], 0x19
je 0x1401661f1
lea rdi, [rsp + 0x310]
mov rcx, rdi
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x1402e21a0]
lea r8, str.Chrome.MessageLoopProblem.COMPLETION_POST_ERROR
jmp 0x140168246
lea rdi, [rsp + 0x310]
mov rcx, rdi
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x1402e21a0]
lea r8, str.Chrome.MessageLoopProblem.MESSAGE_POST_ERROR
mov cl, 0x49
xor r9d, r9d
call fcn.14016b830
jmp 0x1401661f1
lock dec dword [rsi + 8]
jne 0x14016796e
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x14016827f
lea rcx, [0x140200ce0]
cmp rax, rcx
je 0x140168292
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x14016796e
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1401682a5
lock dec dword [rcx]
jne 0x1401682a5
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1401682b7
lock dec dword [rcx]
je 0x14016867c
mov rcx, rsi
call fcn.14010cc0c
jmp 0x14016796e
mov rsi, qword [rsp + 0x128]
mov rcx, rdi
cmp rsi, rdi
je 0x1401682ed
add rsi, 0xffffffffffffffc8
mov rcx, rsi
call fcn.140231670
cmp rsi, rdi
jne 0x1401682d4
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rdi
call fcn.14010cc0c
jmp 0x14016626a
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x140168349
lock dec dword [rcx]
jne 0x140168349
call fcn.14010cc0c
jmp 0x140168349
lock dec dword [rsi]
jne 0x140168351
mov rax, qword [rsi + 0x10]
lea rcx, [0x14008faa0]
cmp rax, rcx
je 0x1401682ff
lea rcx, [0x1400f5350]
cmp rax, rcx
je 0x140168340
mov rcx, rsi
call qword [0x140318008]
jmp 0x140168351
mov rcx, qword [rsi + 0x28]
test rcx, rcx
jne 0x14016837a
mov rcx, rsi
call fcn.14010cc0c
mov rcx, qword [rsp + 0x388]
test rcx, rcx
je 0x14016798b
lock dec dword [rcx]
jne 0x14016798b
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x14016798b
lock dec dword [rcx]
jne 0x140168349
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x140168349
lea rsi, [rsp + 0x310]
mov r9, qword [rdi + 0x30]
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x310], rax
mov qword [rdi + 0x28], 0
mov rax, qword [rcx]
mov rax, qword [rax]
lea rdx, [rdi + 8]
mov r8, rsi
call qword [0x140318008]
add rdi, 0x38
cmp rdi, rbx
jne 0x140168393
mov rdi, qword [rsp + 0x120]
jmp 0x140166259
test byte [0x1402e2d90], 0x19
je 0x1401663b9
mov rax, qword [0x1402f2300]
xor rax, rsi
lea rcx, [rsp + 0x310]
mov qword [rcx], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
lea rdx, [0x1402e2d90]
lea r8, str.WaitableEvent::Signal
lea r9, [0x1402a8a58]
mov cl, 0x49
call sym.msedge.exe_OQS_destroy
jmp 0x1401663b9
lock dec dword [rcx]
jne 0x1401677e3
mov rax, qword [rcx + 0x10]
mov rsi, r10
call qword [0x140318008]
mov r10, rsi
jmp 0x1401677e3
lock dec dword [rcx]
jne 0x1401674c9
mov rax, qword [rcx + 0x10]
mov rsi, r10
call qword [0x140318008]
mov r10, rsi
jmp 0x1401674c9
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x140168484
lea rcx, [0x140200ce0]
cmp rax, rcx
je 0x140168497
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x140166c70
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1401684aa
lock dec dword [rcx]
jne 0x1401684aa
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1401684b8
lock dec dword [rcx]
je 0x1401684c5
mov rcx, rsi
call fcn.14010cc0c
jmp 0x140166c70
call fcn.1400c4aa0
jmp 0x1401684b8
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401cab90]
cmp qword [rcx + 0x10], rdx
jne 0x1401684ec
lea rcx, [0x140200ce0]
cmp rax, rcx
je 0x1401684ff
mov rcx, rsi
mov edx, 1
call qword [0x140318008]
jmp 0x140167cfa
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140168512
lock dec dword [rcx]
jne 0x140168512
call fcn.14010cc0c
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x140168520
lock dec dword [rcx]
je 0x14016852d
mov rcx, rsi
call fcn.14010cc0c
jmp 0x140167cfa
call fcn.1400c4aa0
jmp 0x140168520
call fcn.140200d90
cmp eax, 2
jne 0x140168568
mov eax, 0xffffffff
lock xadd dword [r15], eax
and eax, 0xbfffffff
cmp eax, 0x80000001
jne 0x140168568
lea rsi, [r14 + 0x10]
cmp byte [r14 + 0x18], 0
je 0x140168575
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, r12
call fcn.1400e7c00
jmp 0x14016622b
test byte [0x1402e2d90], 0x19
je 0x14016855f
mov rax, qword [0x1402f2300]
xor rax, rsi
lea rcx, [rsp + 0x310]
mov qword [rcx], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
lea rdx, [0x1402e2d90]
lea r8, str.WaitableEvent::Signal
lea r9, [0x1402a8a58]
mov cl, 0x49
call sym.msedge.exe_OQS_destroy
jmp 0x14016855f
cmp byte [r13 + 0x120], 0
je 0x140167a53
mov rcx, r13
call fcn.1400ce890
lea rdx, [rsp + 0x2d0]
movaps xmm0, xmmword [rdx]
movaps xmm1, xmmword [rdx + 0x10]
lea r9, [rsp + 0x1c0]
movaps xmmword [r9], xmm0
movaps xmmword [r9 + 0x10], xmm1
mov rcx, qword [rsi]
mov r10, qword [rcx + 0x10]
mov byte [rsp + 0x20], al
lea r8, [rsp + 0x180]
mov rcx, rsi
mov rax, r10
call qword [0x140318008]
jmp 0x140167a53
lock dec dword [rcx + 8]
jne 0x14016628a
call fcn.14005fb30
jmp 0x14016628a
mov r12, rdi
mov rcx, r14
mov rdx, rbp
mov rsi, r10
mov rdi, r11
call fcn.1400a7720
mov r11, rdi
mov r10, rsi
jmp 0x140168157
lock dec dword [rcx]
jne 0x140167ead
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x140167ead
lock dec dword [rcx]
jne 0x140167f60
mov rax, qword [rcx + 0x10]
call qword [0x140318008]
jmp 0x140167f60
call fcn.1400c4aa0
jmp 0x1401682b7
lea rax, [rdi + 0x18]
xor rax, qword [0x1402f2300]
lea rcx, [rsp + 0x310]
mov qword [rcx], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
lea rdx, [0x1402e2d90]
lea r8, str.ScheduleWork
lea r9, [0x1402a8a58]
mov cl, 0x49
call sym.msedge.exe_OQS_destroy
jmp 0x140166381
mov rax, qword [rsp + 0xf0]
lea rsi, [rax + 0x10]
cmp byte [rax + 0x18], 0
je 0x1401686f3
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rdi, qword [rsp + 0xc0]
jmp 0x14016622b
test byte [0x1402e2d90], 0x19
je 0x1401686dd
mov rax, qword [0x1402f2300]
xor rax, rsi
lea rcx, [rsp + 0x310]
mov qword [rcx], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
lea rdx, [0x1402e2d90]
lea r8, str.WaitableEvent::Signal
lea r9, [0x1402a8a58]
mov cl, 0x49
call sym.msedge.exe_OQS_destroy
jmp 0x1401686dd
add rsi, 0x10
mov rcx, rsi
call fcn.140165620
int3
int3
int3
int3
xor ebx, ebx
mov rax, r12
jmp 0x14016768c
int3
int3
int3
int3
call fcn.140200d90
int3
int3
int3
call qword [0x140318008]
jmp 0x14016607e
int3
int3
int3
int3
int3
test byte [0x1402e3170], 9
je 0x1401660a6
lea rdx, [rsp + 0x310]
mov rcx, r13
call fcn.140200bd0
jmp 0x1401660a6
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
call qword [0x140318008]
jmp 0x140166b5d
int3
int3
int3
mov rcx, rdi
call qword [0x140318008]
jmp 0x1401661f1
lea rdx, [rsp + 0x180]
mov rcx, r13
call fcn.1400b15d0
jmp 0x140167ca5
lea rdx, [rsp + 0x2d0]
mov rcx, r13
call fcn.1401ff450
jmp 0x140167a43
int3
int3
lea rdx, [rsp + 0x1f0]
mov rsi, r11
call qword [0x140318008]
mov r11, rsi
jmp 0x1401671ef
lea rsi, [rsp + 0x310]
mov rdx, rsi
call qword [0x140318008]
mov edx, dword [rsi + 0x60]
jmp 0x140166687
mov rax, qword [r13 + 0x18]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1401661fe
mov r12, r15
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140168894
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rdi, qword [r13 + 0x40]
mov rax, qword [r13 + 0xa8]
mov rcx, qword [r13 + 0xb0]
mov rsi, qword [rcx + 0x10]
mov r14, qword [rax + 0x10]
mov rbx, qword [r13 + 0xc8]
mov r15, qword [r13 + 0xc0]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x1402e3230], 0x19
mov r12, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0x98]
je 0x1401661fe
sub rbx, r15
shr rbx, 3
imul eax, ebx, 0x3cf3cf3d
add esi, edi
add r14d, eax
add r14d, esi
mov ecx, dword [r13 + 8]
call fcn.1400c4b10
mov rsi, rax
lea rdi, [rsp + 0x1c0]
mov rcx, rdi
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movaps xmm0, xmmword [0x14029bb90]
lea rbx, [rsp + 0x310]
movaps xmmword [rbx], xmm0
movaps xmmword [rbx + 0x10], xmm0
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rbx + 0x20], rcx
mov word [rbx], 0x301
lea rcx, [0x1402a3151]
mov qword [rbx + 8], rcx
movsxd rcx, r14d
mov qword [rbx + 0x18], rcx
mov qword [rsp + 0x40], rbx
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, [0x1402e3230]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.14016b830
mov rcx, rbx
call fcn.140090d24
jmp 0x1401661fe
int3
int3
lock dec dword [rcx + 8]
jne 0x140167824
mov rsi, r10
call fcn.14005fb30
mov r10, rsi
jmp 0x140167824
test byte [0x1402e3170], 9
je 0x140166b85
lea rdx, [rsp + 0x1f0]
mov rcx, r13
call fcn.140200bd0
jmp 0x140166b85
mov rdx, qword [r13 + 0x10]
mov r8b, byte [rdx + 0x51]
xor edx, edx
cmp r8b, cl
setae dl
jmp 0x140167a09
int3
int3
int3
cmp byte [r13 + 0x1b0], 0
je 0x1401671fd
test byte [0x1402e3170], 9
je 0x1401671fd
cmp byte [r13 + 0x120], 0
jne 0x1401671fd
cmp byte [r13 + 0x1b8], 0
je 0x1401671fd
mov r14, r11
mov rax, qword [r13 + 0x10]
mov rax, qword [rax + 0x300]
mov rax, qword [fcn.14009a170]
lea rcx, [rsp + 0x310]
call qword [0x140318008]
cmp byte [r13 + 0x1b0], 0
je 0x140168d1d
mov rax, r13
mov r11, r14
jmp 0x1401671fd
lock dec dword [rcx + 8]
jne 0x14016751c
mov rsi, r10
call fcn.14005fb30
mov r10, rsi
mov esi, dword [rsp + 0x8c]
jmp 0x14016751c
test byte [0x1402e3170], 9
je 0x14016668f
mov rdi, r13
lea rsi, [r13 + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140168ab1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rdx, [rsp + 0x1f0]
mov r13, rdi
mov rcx, rdi
call fcn.140200bd0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14016668f
mov rax, qword [r13 + 0x18]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x140166c3c
mov rbp, r15
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140168b00
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rdi, qword [r13 + 0x40]
mov rax, qword [r13 + 0xa8]
mov rcx, qword [r13 + 0xb0]
mov rsi, qword [rcx + 0x10]
mov r14, qword [rax + 0x10]
mov rbx, qword [r13 + 0xc8]
mov r15, qword [r13 + 0xc0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x1402e3230], 0x19
mov rbp, qword [rsp + 0x98]
je 0x140166c3c
sub rbx, r15
shr rbx, 3
imul eax, ebx, 0x3cf3cf3d
add esi, edi
add r14d, eax
add r14d, esi
mov ecx, dword [r13 + 8]
call fcn.1400c4b10
mov rsi, rax
lea rdi, [rsp + 0x180]
mov rcx, rdi
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movaps xmm0, xmmword [0x14029bb90]
lea rbx, [rsp + 0x1f0]
movaps xmmword [rbx], xmm0
movaps xmmword [rbx + 0x10], xmm0
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rbx + 0x20], rcx
mov word [rbx], 0x301
lea rcx, [0x1402a3151]
mov qword [rbx + 8], rcx
movsxd rcx, r14d
mov qword [rbx + 0x18], rcx
mov qword [rsp + 0x40], rbx
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, [0x1402e3230]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.14016b830
mov rcx, rbx
call fcn.140090d24
jmp 0x140166c3c
mov rax, qword [r13 + 0x18]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x140167cba
mov rdi, r13
lea rsi, [r13 + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140168c29
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov r13, rdi
mov rbx, qword [rdi + 0x40]
mov rax, qword [rdi + 0xa8]
mov rcx, qword [rdi + 0xb0]
mov rdi, qword [rcx + 0x10]
mov r14, qword [rax + 0x10]
mov r15, qword [r13 + 0xc8]
mov r12, qword [r13 + 0xc0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x1402e3230], 0x19
mov rbp, qword [rsp + 0x98]
je 0x140167cba
sub r15, r12
shr r15, 3
imul eax, r15d, 0x3cf3cf3d
add edi, ebx
add r14d, eax
add r14d, edi
mov ecx, dword [r13 + 8]
call fcn.1400c4b10
mov rsi, rax
lea rdi, [rsp + 0x2d0]
mov rcx, rdi
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rbx, [rsp + 0x310]
movaps xmmword [rbx], xmm6
movaps xmmword [rbx + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rbx + 0x20], rcx
mov word [rbx], 0x301
lea rcx, [0x1402a3151]
mov qword [rbx + 8], rcx
movsxd rcx, r14d
mov qword [rbx + 0x18], rcx
mov qword [rsp + 0x40], rbx
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, [0x1402e3230]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.14016b830
mov rcx, rbx
call fcn.140090d24
jmp 0x140167cba
int3