Function at 0x140104730
Capabilities:
Check for time delay via queryperformancecounter
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x578
movaps xmmword [rsp + 0x560], xmm6
mov r15, rdx
mov rsi, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x558], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb8], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xa9], xmm0
mov eax, dword [0x14022b9e8]
mov ecx, dword [0x140222a94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14010621b
mov ecx, dword [0x14021aed0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401047e1
movsxd rcx, dword [0x14022b9e0]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14022b9e4]
jne 0x1401047e1
cmp qword [rax + rcx], 0
jne 0x140106465
mov eax, dword [0x14022b9e8]
mov ecx, dword [0x140222a94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14010625e
mov ecx, dword [0x14021aed0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1401061d5
movsxd rcx, dword [0x14022b9e0]
shl rcx, 4
lea rdx, [rsp + 0xa0]
mov qword [rax + rcx], rdx
mov ecx, dword [0x14022b9e4]
movsxd rdx, dword [0x14022b9e0]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov al, 1
mov byte [rsp + 0xb8], al
mov eax, 1
lock xadd dword [rsi + 8], eax
lea rdx, [rsi + 8]
mov ecx, eax
shr ecx, 0x1e
and ecx, 1
test eax, eax
mov eax, 2
cmovns eax, ecx
cmp eax, 1
mov qword [rsp + 0x70], rsi
jne 0x1401060a3
mov qword [rsp + 0x68], rdx
test rdx, rdx
je 0x14010645e
mov r12, qword [rsi + 0x20]
mov r14, qword [r15]
mov qword [r15], 0
movups xmm0, xmmword [r15 + 0x18]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [r15 + 8]
movaps xmmword [rsp + 0x80], xmm0
mov r13, qword [r15 + 0x28]
mov rsi, qword [r15 + 0x30]
mov rdi, qword [r15 + 0x38]
mov eax, dword [r15 + 0x48]
mov dword [rsp + 0x138], eax
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0x130], rax
mov rbx, qword [r15 + 0x50]
mov rax, qword [r15 + 0x58]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [r15 + 0x50], xmm0
mov rax, qword [r15 + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [r12 + 0x10]
mov ebp, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp rdi, 2
jae 0x14010646c
test rsi, rsi
jne 0x140104f7b
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x2c0], xmm1
movaps xmmword [rsp + 0x2b0], xmm0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x1e8], rax
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x1f0], eax
test r14, r14
je 0x140106471
lea rcx, [r12 + 0x20]
mov qword [rsp + 0x58], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140105f3f
mov rcx, qword [r12 + 8]
mov eax, dword [rcx + 0x58]
test eax, eax
jne 0x140104991
cmp byte [r12 + 0x20a], 0
jne 0x140104991
xor eax, eax
jmp 0x1401049f2
mov rax, qword [rcx + 0x4c8]
mov rax, qword [fcn.1401122d0]
lea rcx, [0x14011c810]
lea rsi, [rsp + 0x4b0]
cmp rax, rcx
jne 0x1401063cc
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 0x1401065a2
imul rax, rax, 0xf4240
cqo
idiv qword [0x140227198]
mov rcx, qword [r12 + 8]
mov r8d, 1
lock xadd qword [rcx + 0x28], r8
mov rcx, qword [r12 + 0x38]
mov qword [rsp + 0x78], rcx
lea rdx, [rsp + 0x408]
mov qword [rdx], r14
movaps xmm0, xmmword [rsp + 0x2b0]
movaps xmm1, xmmword [rsp + 0x2c0]
movups xmmword [rdx + 8], xmm0
movups xmmword [rdx + 0x18], xmm1
mov qword [rdx + 0x28], r13
xor esi, esi
mov qword [rdx + 0x30], rsi
mov qword [rdx + 0x38], rdi
mov rcx, qword [rsp + 0x1e8]
mov qword [rdx + 0x40], rcx
mov ecx, dword [rsp + 0x1f0]
mov dword [rdx + 0x48], ecx
mov qword [rdx + 0x50], rbx
mov rcx, qword [rsp + 0x50]
mov qword [rdx + 0x58], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rdx + 0x60], rcx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
lea rcx, [rsp + 0x4b0]
mov r9, r8
call fcn.1400f94d0
cmp qword [r12 + 0x28], rsi
je 0x140105e25
mov rsi, qword [r12 + 0x30]
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 0x140105e82
xor ebp, ebp
cmp rax, rcx
cmove rax, rbp
mov qword [rsi + 0x10], rax
mov rcx, qword [rsi + 0x18]
imul rdx, rax, 0xa8
lea rax, [rsp + 0x4d8]
mov rdi, qword [rax - 0x28]
add rdx, rcx
add rdx, 0x28
mov qword [rdx - 0x28], rdi
mov qword [rax - 0x28], rbp
movups xmm0, xmmword [rax - 0x20]
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx - 0x10], xmm1
movups xmmword [rdx - 0x20], xmm0
mov ecx, 8
mov rdi, rdx
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rax + 0x44]
mov byte [rdx + 0x44], cl
mov ecx, dword [rax + 0x40]
mov dword [rdx + 0x40], ecx
mov rcx, qword [rax + 0x56]
mov qword [rdx + 0x56], rcx
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rdx + 0x48], xmm0
mov rcx, qword [rax + 0x60]
mov qword [rdx + 0x60], rcx
mov qword [rax + 0x60], rbp
mov rcx, qword [rax + 0x68]
mov qword [rdx + 0x68], rcx
mov rcx, qword [rax + 0x70]
mov qword [rdx + 0x70], rcx
mov qword [rax + 0x70], rbp
mov rcx, qword [rax + 0x78]
mov qword [rdx + 0x78], rcx
mov rcx, qword [r12 + 0x38]
mov rdx, qword [r12 + 0x40]
inc rcx
mov qword [r12 + 0x38], rcx
cmp rdx, rcx
cmovae rcx, rdx
mov qword [r12 + 0x40], rcx
mov rcx, qword [rax + 0x70]
test rcx, rcx
jne 0x140104d70
mov rdi, qword [rsp + 0x538]
test rdi, rdi
jne 0x140104d83
mov rcx, qword [rsp + 0x4b0]
test rcx, rcx
jne 0x140104ef3
mov r9, qword [r12]
mov rax, qword [r12 + 0x30]
imul r8, qword [rax + 0x10], 0xa8
mov rcx, qword [r12 + 8]
add r8, qword [rax + 0x18]
mov rcx, qword [rcx + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [0x1400cd4b0]
cmp rax, rdx
jne 0x140106474
add rcx, 0x110
lea rdx, str.SequenceManager_PostTask
call fcn.1400cd4d0
mov rax, qword [r12 + 0x30]
mov rdi, qword [rax + 0x18]
imul rbp, qword [rax + 0x10], 0xa8
cmp dword [rdi + rbp + 0x58], 0
jne 0x140104f0b
mov rsi, qword [r12 + 0x60]
mov rdi, qword [r12 + 0x68]
cmp rsi, rdi
jne 0x14010615a
cmp qword [rsp + 0x78], 0
jne 0x140104cce
cmp byte [r12 + 0x50], 0
je 0x140104cce
mov rax, qword [r12 + 0x1f8]
mov rcx, qword [r12 + 0x200]
lock or qword [rax], rcx
mov bl, byte [r12 + 0x51]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bl, bl
je 0x140104cd9
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [0x1400fb020]
cmp rax, rdx
jne 0x140106879
mov eax, dword [rcx + 0xe8]
nop word [rax + rax]
mov edx, eax
or edx, 2
lock cmpxchg dword [rcx + 0xe8], edx
jne 0x140104c80
cmp eax, 4
jne 0x140104cd9
mov rsi, qword [rcx + 0x108]
mov rax, qword [rsi]
mov rax, qword [rax + 0x18]
lea rcx, [0x14010e5c0]
cmp rax, rcx
je 0x140104def
lea rcx, [0x14010e4b0]
cmp rax, rcx
jne 0x140105a20
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x140104cd9
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x14021bc40], 9
jne 0x140106485
mov rcx, qword [rsp + 0x68]
mov eax, 0xffffffff
lock xadd dword [rcx], eax
and eax, 0xbfffffff
mov sil, 1
cmp eax, 0x80000001
je 0x1401060c1
lea rcx, [rsp + 0xa0]
call fcn.1400f9620
mov rcx, qword [r15 + 0x58]
test rcx, rcx
jne 0x140104d64
mov rcx, qword [r15 + 0x50]
test rcx, rcx
jne 0x1401061b9
mov rcx, qword [r15]
test rcx, rcx
jne 0x140104edb
mov rcx, qword [rsp + 0x558]
xor rcx, rsp
call fcn.14011fe20
mov eax, esi
movaps xmm6, xmmword [rsp + 0x560]
add rsp, 0x578
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rcx]
jne 0x140104d1d
call fcn.14011d780
jmp 0x140104d1d
lock dec dword [rcx]
jne 0x140104b74
call fcn.14011d780
jmp 0x140104b74
lock dec dword [rdi + 8]
jne 0x140104b85
add rdi, 8
lea rsi, [rdi - 8]
mov rcx, qword [rdi - 8]
mov rax, qword [rcx + 8]
lea rdx, [0x140171950]
cmp qword [rcx + 0x10], rdx
jne 0x140106090
lea rcx, [0x1401a2a40]
cmp rax, rcx
jne 0x140106090
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140104dd0
lock dec dword [rcx]
je 0x1401063e5
mov rdi, qword [rdi + 8]
test rdi, rdi
je 0x140104de2
lock dec dword [rdi]
je 0x1401061df
mov rcx, rsi
call fcn.14011d780
jmp 0x140104b85
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 8], cl
jne 0x140104cd9
mov rcx, qword [rsi + 0x18]
xor edx, edx
mov r8, rsi
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x140104cd9
xor eax, eax
xchg byte [rsi + 8], al
mov rcx, qword [0x14022b100]
test rcx, rcx
jne 0x140104e58
mov dword [rsp + 0x20], 1
lea rcx, str.Chrome.MessageLoopProblem
mov edx, 1
mov r8d, 4
mov r9d, 5
call fcn.140103760
mov rcx, rax
mov qword [0x14022b100], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
mov edx, 1
call qword [0x14023a010]
test byte [0x14021afd0], 0x19
je 0x140104cd9
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rdi, [rsp + 0x360]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
mov rcx, rdi
call fcn.1401122d0
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], esi
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x14021afd0]
lea r8, str.Chrome.MessageLoopProblem.COMPLETION_POST_ERROR
mov cl, 0x49
xor r9d, r9d
call fcn.1400ff7a0
jmp 0x140104cd9
lock dec dword [rcx]
jne 0x140104d36
mov rax, qword [rcx + 0x10]
call qword [0x14023a010]
jmp 0x140104d36
lock dec dword [rcx]
jne 0x140104b96
mov rax, qword [rcx + 0x10]
call qword [0x14023a010]
jmp 0x140104b96
test byte [0x14021bb70], 9
je 0x140104bfa
mov rsi, qword [r12]
lea r14, [rsp + 0x290]
mov qword [r14], 0
mov rcx, r12
mov rdx, r14
call fcn.1401a2820
test al, al
je 0x140104bfa
mov qword [rsp + 0x140], rsi
test byte [0x14021bb70], 0x19
je 0x140104bfa
add rdi, rbp
lea rax, [rsp + 0x140]
lea rcx, [rsp + 0x360]
mov qword [rcx], rax
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
call fcn.1401a28b0
jmp 0x140104bfa
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x110], rcx
mov ecx, dword [rsp + 0x138]
mov dword [rsp + 0x118], ecx
test r14, r14
je 0x14010661d
cmp ebp, eax
jne 0x140105fae
movaps xmm6, xmmword [0x1401efb80]
movaps xmmword [rsp + 0x2a0], xmm6
movaps xmmword [rsp + 0x290], xmm6
mov rax, qword [r12 + 8]
mov rax, qword [rax + 0x4c8]
mov qword [rsp + 0x290], rax
mov byte [rsp + 0x298], 0
lea rcx, [rsp + 0x1e8]
mov r8d, 0xa8
mov dl, 0xaa
call fcn.140122050
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm1
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x120], rax
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x128], eax
mov rax, qword [r12 + 8]
mov ecx, 1
lock xadd qword [rax + 0x28], rcx
test rdi, rdi
mov qword [rsp + 0x58], rcx
jne 0x140105be6
mov rax, qword [fcn.1401122d0]
lea rcx, [0x14011c810]
cmp rax, rcx
jne 0x1401063ef
lea rdi, [rsp + 0x4b0]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14010680a
imul rax, rax, 0xf4240
cqo
idiv qword [0x140227198]
cmp byte [rsp + 0x298], 0
mov qword [rsp + 0x2a0], rax
jne 0x1401050dd
mov byte [rsp + 0x298], 1
movabs rcx, 0x8000000000000001
add rcx, rsi
cmp rcx, 2
jb 0x1401063aa
lea rdx, [rax + rsi]
sar rdx, 0x3f
btc rdx, 0x3f
mov rcx, rax
add rcx, rsi
cmovo rcx, rdx
xor ebp, ebp
cmp rsi, 0x7d00
setl bpl
lea rdx, [rsp + 0x4b0]
mov qword [rdx], r14
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [rdx + 8], xmm0
movups xmmword [rdx + 0x18], xmm1
mov qword [rdx + 0x28], r13
mov qword [rdx + 0x30], rcx
mov qword [rdx + 0x38], 1
mov rcx, qword [rsp + 0x120]
mov qword [rdx + 0x40], rcx
mov ecx, dword [rsp + 0x128]
mov dword [rdx + 0x48], ecx
mov qword [rdx + 0x50], rbx
mov rcx, qword [rsp + 0x50]
mov qword [rdx + 0x58], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rdx + 0x60], rcx
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x1e8]
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call fcn.1400f94d0
mov rax, qword [r12 + 8]
cmp qword [rax + 0x3c0], 0
jne 0x1401051bc
mov rax, qword [0x140222288]
mov qword [rsp + 0x260], rax
lea rax, [rsp + 0x210]
mov rcx, qword [rax - 0x28]
lea rbp, [rsp + 0x168]
mov qword [rbp - 0x28], rcx
xor edx, edx
mov qword [rax - 0x28], rdx
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rax - 0x10]
movups xmmword [rbp - 0x10], xmm0
mov ecx, 8
mov rdi, rbp
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0x40], ecx
mov cl, byte [rax + 0x44]
mov byte [rbp + 0x44], cl
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rbp + 0x48], xmm0
mov rcx, qword [rax + 0x56]
mov qword [rbp + 0x56], rcx
mov rcx, qword [rax + 0x60]
mov qword [rbp + 0x60], rcx
mov qword [rax + 0x60], rdx
mov rcx, qword [rax + 0x68]
mov qword [rbp + 0x68], rcx
mov rcx, qword [rax + 0x70]
mov qword [rbp + 0x70], rcx
mov qword [rax + 0x70], rdx
mov rax, qword [rax + 0x78]
mov qword [rbp + 0x78], rax
mov r9, qword [r12]
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
lea rdx, [0x1400cd4b0]
cmp rax, rdx
jne 0x140106620
add rcx, 0x110
lea rdx, str.SequenceManager_PostTask
lea r8, [rsp + 0x140]
call fcn.1400cd4d0
cmp dword [rsp + 0x198], 0
jne 0x140105c6a
lea rdx, [rsp + 0x148]
mov r9, qword [rdx - 8]
lea rax, [rsp + 0x2d8]
mov qword [rax - 0x28], r9
xor ebx, ebx
mov qword [rdx - 8], rbx
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
mov ecx, 8
mov rdi, rax
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rbp + 0x44]
mov byte [rax + 0x44], cl
mov ecx, dword [rbp + 0x40]
mov dword [rax + 0x40], ecx
mov rcx, qword [rdx + 0x76]
mov qword [rax + 0x56], rcx
movups xmm0, xmmword [rdx + 0x68]
movups xmmword [rax + 0x48], xmm0
mov r10, qword [rdx + 0x80]
mov qword [rax + 0x60], r10
mov qword [rdx + 0x80], rbx
mov r11, qword [rdx + 0x88]
mov qword [rax + 0x68], r11
mov r14, qword [rdx + 0x90]
mov qword [rax + 0x70], r14
mov qword [rdx + 0x90], rbx
mov r8, qword [rdx + 0x98]
mov qword [rax + 0x78], r8
test r9, r9
je 0x140106636
cmp byte [rsp + 0x334], 0
je 0x140105335
inc dword [r12 + 0xe0]
xor r13d, r13d
mov qword [rsp + 0x2b0], r13
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
lea rax, [rsp + 0x388]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
mov ecx, 8
mov rdi, rax
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rbp + 0x40]
mov dword [rax + 0x40], ecx
mov cl, byte [rbp + 0x44]
mov byte [rax + 0x44], cl
mov rcx, qword [rdx + 0x76]
mov qword [rax + 0x56], rcx
movups xmm0, xmmword [rdx + 0x68]
movups xmmword [rax + 0x48], xmm0
mov qword [rsp + 0x338], r13
mov qword [rax + 0x68], r11
mov qword [rsp + 0x348], r13
mov qword [rax + 0x78], r8
lea rbx, [rsp + 0x430]
mov qword [rbx - 0x28], r9
mov qword [rax - 0x28], r13
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rbx - 0x10], xmm1
movups xmmword [rbx - 0x20], xmm0
mov ecx, 8
mov rdi, rbx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rbp + 0x40]
mov dword [rbx + 0x40], ecx
mov cl, byte [rbp + 0x44]
mov byte [rbx + 0x44], cl
movups xmm0, xmmword [rdx + 0x68]
movups xmmword [rbx + 0x48], xmm0
mov rcx, qword [rdx + 0x76]
mov qword [rbx + 0x56], rcx
mov qword [rbx + 0x60], r10
mov qword [rax + 0x60], r13
mov qword [rbx + 0x68], r11
mov qword [rbx + 0x70], r14
mov qword [rax + 0x70], r13
mov qword [rbx + 0x78], r8
mov rcx, r14
mov r14, qword [r12 + 0xc8]
mov rax, qword [r12 + 0xd0]
mov rbp, rax
mov rdx, r10
movabs r10, 0xcf3cf3cf3cf3cf3d
sub rbp, r14
je 0x140105d44
sar rbp, 3
imul rbp, r10
xor r8d, r8d
movabs r13, 0x8000000000000001
mov r11, rbp
lea r9, [rbp - 1]
mov rbp, r9
shr rbp, 1
imul rdi, rbp, 0xa8
cmp dword [r14 + rdi + 0x80], 0
jne 0x140105f28
mov rcx, qword [r14 + rdi + 0x30]
mov rax, qword [r14 + rdi + 0x78]
lea rdx, [rax + r13]
cmp rdx, 2
jb 0x1401065c9
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
cmp dword [rsp + 0x488], 0
jne 0x140105f32
mov rdx, qword [rsp + 0x438]
mov rcx, qword [rsp + 0x480]
lea rbx, [rcx + r13]
cmp rbx, 2
jb 0x1401065f3
lea rbx, [rdx + rcx]
sar rbx, 0x3f
btc rbx, 0x3f
add rdx, rcx
cmovo rdx, rbx
mov rcx, rdx
mov edx, dword [r14 + rdi + 0x68]
xor ebx, ebx
cmp edx, dword [rsp + 0x470]
setg bl
xor edx, edx
cmp rax, rcx
setg dl
cmovne ebx, edx
cmp bl, 1
jne 0x140105653
mov rax, qword [r12 + 0xd0]
mov rcx, rax
sub rcx, r14
sar rcx, 3
imul rcx, r10
lea rdx, [r14 + rdi]
cmp rcx, r11
je 0x140105d84
imul rbx, r11, 0xa8
mov rax, qword [rdx]
mov qword [rdx], 0
mov rcx, qword [r14 + rbx]
mov qword [r14 + rbx], rax
test rcx, rcx
jne 0x140106182
lea rax, [r14 + rdi]
add rax, 0x28
movups xmm0, xmmword [rax - 0x20]
movups xmm1, xmmword [rax - 0x10]
lea rdx, [r14 + rbx + 0x28]
movups xmmword [rdx - 0x10], xmm1
movups xmmword [rdx - 0x20], xmm0
mov ecx, 8
mov r13, rdi
mov rdi, rdx
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rax + 0x44]
mov byte [rdx + 0x44], cl
mov ecx, dword [rax + 0x40]
mov dword [rdx + 0x40], ecx
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rdx + 0x48], xmm0
mov rcx, qword [rax + 0x56]
mov qword [rdx + 0x56], rcx
mov rdi, qword [rax + 0x60]
mov qword [rax + 0x60], 0
mov rcx, qword [rdx + 0x60]
mov qword [rdx + 0x60], rdi
test rcx, rcx
jne 0x140106884
mov rax, qword [r14 + r13 + 0x90]
mov qword [r14 + rbx + 0x90], rax
mov rax, qword [r14 + r13 + 0x98]
mov qword [r14 + r13 + 0x98], 0
mov rsi, qword [r14 + rbx + 0x98]
mov qword [r14 + rbx + 0x98], rax
test rsi, rsi
jne 0x1401060d5
mov rax, qword [r14 + r13 + 0xa0]
mov qword [r14 + rbx + 0xa0], rax
movabs r13, 0x8000000000000001
mov rax, qword [r12 + 0xc8]
imul rsi, r11, 0xa8
mov rcx, qword [rax + rsi + 0x98]
test rcx, rcx
je 0x14010561f
mov cl, byte [rcx + 4]
test cl, cl
je 0x1401068b9
mov rax, qword [r12 + 0xc8]
mov rcx, qword [rax + rsi + 0x98]
test rcx, rcx
je 0x14010563f
mov cl, byte [rcx + 4]
test cl, cl
je 0x140106917
mov r14, qword [r12 + 0xc8]
cmp r9, 1
ja 0x14010543b
jmp 0x140105656
mov rbp, r11
mov qword [rsp + 0x50], rbp
mov r9, qword [rsp + 0x408]
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x58], rax
mov r11, qword [rsp + 0x498]
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x60], rax
mov r8, qword [rsp + 0x4a8]
mov rax, qword [r12 + 0xd0]
mov r13, rax
sub r13, r14
lea rdx, [rsp + 0x410]
lea rcx, [rsp + 0x4b8]
mov qword [rcx - 8], r9
xor r10d, r10d
mov qword [rdx - 8], r10
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rbp, [rsp + 0x4d8]
mov ecx, 8
mov rdi, rbp
lea rbx, [rsp + 0x430]
mov rsi, rbx
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rbx + 0x40]
mov dword [rbp + 0x40], ecx
mov cl, byte [rbx + 0x44]
mov byte [rbp + 0x44], cl
movups xmm0, xmmword [rdx + 0x68]
movups xmmword [rbp + 0x48], xmm0
mov rcx, qword [rdx + 0x76]
mov qword [rbp + 0x56], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rbp + 0x60], rcx
mov qword [rdx + 0x80], r10
mov qword [rbp + 0x68], r11
mov rcx, qword [rsp + 0x60]
mov qword [rbp + 0x70], rcx
mov qword [rdx + 0x90], r10
mov qword [rbp + 0x78], r8
sar r13, 3
movabs rcx, 0xcf3cf3cf3cf3cf3d
imul r13, rcx
mov r8, qword [rsp + 0x50]
cmp r13, r8
je 0x140105b12
imul r13, r8, 0xa8
mov qword [rsp + 0x4b0], 0
mov rcx, qword [r14 + r13]
mov qword [r14 + r13], r9
test rcx, rcx
jne 0x140106116
lea rdx, [rsp + 0x4b8]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
lea rax, [r14 + r13]
add rax, 0x28
movups xmmword [rax - 0x10], xmm1
movups xmmword [rax - 0x20], xmm0
mov ecx, 8
mov rdi, rax
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rbp + 0x44]
mov byte [rax + 0x44], cl
mov ecx, dword [rbp + 0x40]
mov dword [rax + 0x40], ecx
movups xmm0, xmmword [rdx + 0x68]
movups xmmword [rax + 0x48], xmm0
mov rcx, qword [rdx + 0x76]
mov qword [rax + 0x56], rcx
mov rdx, qword [rsp + 0x538]
mov qword [rsp + 0x538], 0
mov rcx, qword [rax + 0x60]
mov qword [rax + 0x60], rdx
test rcx, rcx
jne 0x140106831
mov rax, qword [rsp + 0x540]
mov qword [r14 + r13 + 0x90], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x548], 0
mov rsi, qword [r14 + r13 + 0x98]
mov qword [r14 + r13 + 0x98], rax
test rsi, rsi
jne 0x14010606d
mov rax, qword [rsp + 0x550]
mov qword [r14 + r13 + 0xa0], rax
mov rax, qword [r12 + 0xc8]
imul rsi, r8, 0xa8
mov rcx, qword [rax + rsi + 0x98]
test rcx, rcx
je 0x14010584c
mov cl, byte [rcx + 4]
test cl, cl
je 0x14010676f
mov rax, qword [r12 + 0xc8]
mov rcx, qword [rax + rsi + 0x98]
test rcx, rcx
je 0x14010586c
mov cl, byte [rcx + 4]
test cl, cl
je 0x1401067bb
lea rcx, [rsp + 0x4b0]
call fcn.140106a10
lea rcx, [rsp + 0x408]
call fcn.140106a10
lea rbp, [rsp + 0x360]
mov rcx, rbp
call fcn.140106a10
lea rcx, [rsp + 0x2b0]
call fcn.140106a10
mov eax, 0xaaaaaaaa
mov dword [rbp + 3], eax
mov dword [rbp], eax
mov rdi, qword [r12 + 0xc8]
mov rax, qword [r12 + 0xd0]
cmp rdi, rax
je 0x140105d72
cmp byte [r12 + 0x128], 0
je 0x140105d72
xor r14d, r14d
cmp dword [r12 + 0xe0], 0
jne 0x140105bce
mov r8, qword [rdi + 0x30]
mov rsi, qword [rdi + 0x78]
mov ebx, dword [rdi + 0x80]
mov r13b, 1
mov rbp, qword [r12 + 0xa8]
test rbp, rbp
jne 0x1401062a1
movabs rax, 0xaaaaaaaaaaaaaaaa
mov cl, byte [r12 + 0x1a0]
test r13b, r13b
je 0x140105d5a
test cl, cl
je 0x140105d5a
cmp qword [r12 + 0x1a8], r8
jne 0x140105959
cmp qword [r12 + 0x1b0], rsi
jne 0x140105959
cmp dword [r12 + 0x1b8], r14d
jne 0x140105959
cmp dword [r12 + 0x1bc], ebx
je 0x1401059f4
mov byte [r12 + 0x1a0], r13b
mov ecx, dword [rsp + 0x360]
mov edx, dword [rsp + 0x363]
mov dword [r12 + 0x1a4], edx
mov dword [r12 + 0x1a1], ecx
mov qword [r12 + 0x1a8], r8
mov qword [r12 + 0x1b0], rsi
mov dword [r12 + 0x1b8], r14d
mov dword [r12 + 0x1bc], ebx
mov qword [r12 + 0x1c0], rax
mov rcx, qword [r12 + 0xa0]
lea r9, [rsp + 0x4b0]
mov byte [r9], r13b
mov edx, dword [rsp + 0x360]
mov ebp, dword [rsp + 0x363]
mov dword [r9 + 4], ebp
mov dword [r9 + 1], edx
mov qword [r9 + 8], r8
mov qword [r9 + 0x10], rsi
mov dword [r9 + 0x18], r14d
mov dword [r9 + 0x1c], ebx
mov qword [r9 + 0x20], rax
lea r8, [rsp + 0x290]
mov rdx, r12
call fcn.1400f9820
test byte [0x14021bc40], 9
jne 0x140106639
lea rcx, [rsp + 0x140]
call fcn.140106a10
lea rcx, [rsp + 0x1e8]
call fcn.140106a10
jmp 0x140104ce6
lea rcx, [fcn.14010e6d0]
cmp rax, rcx
jne 0x140106876
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 8], cl
jne 0x140104cd9
mov rcx, qword [rsi + 0x20]
mov edx, 0x401
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.USER32.dll_PostMessageW]
test eax, eax
jne 0x140104cd9
xor eax, eax
xchg byte [rsi + 8], al
mov rcx, qword [0x14022b0e8]
test rcx, rcx
jne 0x140105a9c
mov dword [rsp + 0x20], 1
lea rcx, str.Chrome.MessageLoopProblem
mov edx, 1
mov r8d, 4
mov r9d, 5
call fcn.140103760
mov rcx, rax
mov qword [0x14022b0e8], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
xor edx, edx
call qword [0x14023a010]
test byte [0x14021afd0], 0x19
je 0x140104cd9
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rdi, [rsp + 0x360]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
mov rcx, rdi
call fcn.1401122d0
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], esi
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 8
mov qword [rsp + 0x40], 0
lea rdx, [0x14021afd0]
lea r8, str.Chrome.MessageLoopProblem.MESSAGE_POST_ERROR
jmp 0x140104ecc
cmp rax, qword [r12 + 0xd8]
jae 0x140105f4e
mov qword [rax], r9
xor edx, edx
mov qword [rsp + 0x4b0], rdx
lea rbx, [rsp + 0x4b8]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
lea rdi, [rax + 0x28]
mov ecx, 8
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rbp + 0x44]
mov byte [rax + 0x6c], cl
mov ecx, dword [rbp + 0x40]
mov dword [rax + 0x68], ecx
movups xmm0, xmmword [rbx + 0x68]
movups xmmword [rax + 0x70], xmm0
mov rcx, qword [rbx + 0x76]
mov qword [rax + 0x7e], rcx
mov rcx, qword [rsp + 0x538]
mov qword [rax + 0x88], rcx
mov qword [rsp + 0x538], rdx
mov rcx, qword [rsp + 0x540]
mov qword [rax + 0x90], rcx
mov rcx, qword [rsp + 0x548]
mov qword [rax + 0x98], rcx
mov qword [rsp + 0x548], rdx
mov rcx, qword [rsp + 0x550]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [r12 + 0xd0], rax
jmp 0x140105825
mov rcx, qword [r12 + 0xb8]
xor r14d, r14d
cmp byte [rcx + 0x38], 5
setb r14b
jmp 0x1401058e8
cmp rdi, 1
jne 0x14010697a
mov rax, qword [fcn.1401122d0]
lea rcx, [0x14011c810]
cmp rax, rcx
jne 0x140106412
lea rdi, [rsp + 0x4b0]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14010697f
imul rax, rax, 0xf4240
cqo
idiv qword [0x140227198]
cmp byte [rsp + 0x298], 0
mov qword [rsp + 0x2a0], rax
jne 0x140105c5f
mov byte [rsp + 0x298], 1
mov rcx, rsi
sub rsi, rax
jmp 0x14010510b
cmp byte [r12 + 0x1d0], 0
je 0x140105289
test byte [0x14021bb70], 9
je 0x140105289
cmp byte [r12 + 0x128], 0
jne 0x140105289
cmp byte [r12 + 0x1e8], 0
je 0x140105289
mov rsi, qword [r12]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x360], rax
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x4c8]
lea rdx, [rsp + 0x4b0]
call fcn.140103600
cmp byte [r12 + 0x1d0], 0
je 0x1401069f8
mov rax, qword [rsp + 0x4b0]
sub rax, qword [r12 + 0x1d8]
mov qword [rsp + 0x360], rax
mov qword [rsp + 0x408], rsi
test byte [0x14021bb70], 0x19
je 0x140105289
lea rax, [rsp + 0x408]
lea rcx, [rsp + 0x4b0]
mov qword [rcx], rax
lea rax, [rsp + 0x360]
mov qword [rcx + 8], rax
lea rax, [rsp + 0x140]
mov qword [rcx + 0x10], rax
call fcn.1401a28b0
jmp 0x140105289
mov qword [rsp + 0x60], rcx
xor ecx, ecx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rdx
jmp 0x14010569b
test r13b, r13b
setne dl
test cl, cl
setne cl
cmp dl, cl
je 0x1401059f4
jmp 0x140105959
xor ebx, ebx
xor r14d, r14d
xor esi, esi
xor r8d, r8d
xor r13d, r13d
jmp 0x1401058f9
cmp rax, qword [r12 + 0xd8]
jae 0x140106133
mov rcx, qword [rdx]
mov qword [rax], rcx
mov qword [rdx], r8
lea rdx, [r14 + rdi]
add rdx, 0x28
movups xmm0, xmmword [rdx - 0x20]
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
lea rdi, [rax + 0x28]
mov ecx, 8
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rdx + 0x44]
mov byte [rax + 0x6c], cl
mov ecx, dword [rdx + 0x40]
mov dword [rax + 0x68], ecx
movups xmm0, xmmword [rdx + 0x48]
movups xmmword [rax + 0x70], xmm0
mov rcx, qword [rdx + 0x56]
mov qword [rax + 0x7e], rcx
mov rcx, qword [rdx + 0x60]
mov qword [rax + 0x88], rcx
mov qword [rdx + 0x60], r8
mov rcx, qword [rdx + 0x68]
mov qword [rax + 0x90], rcx
mov rcx, qword [rdx + 0x70]
mov qword [rax + 0x98], rcx
mov qword [rdx + 0x70], r8
mov rcx, qword [rdx + 0x78]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [r12 + 0xd0], rax
jmp 0x1401055f8
mov ecx, 0x28
call fcn.14011d790
mov rsi, rax
mov qword [rax], 4
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov ecx, 0x2a0
call fcn.14011dd70
mov rdi, rax
movabs rax, 0xfffffffe00000000
and rax, rdi
cmp rax, qword [0x14021af08]
je 0x140105f6d
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], 0
mov qword [r12 + 0x28], rsi
mov qword [r12 + 0x30], rsi
jmp 0x140104a97
mov rax, qword [r12 + 0x38]
lea rcx, [rsp + 0x360]
mov qword [rcx], rax
call fcn.1400d3880
mov rbp, qword [r12 + 0x30]
mov rax, qword [rbp]
mov rcx, rax
shr rcx, 1
lea rdi, [rax + rcx]
add rdi, 2
mov ecx, 0x28
call fcn.14011d790
mov rsi, rax
mov qword [rax], rdi
imul rcx, rdi, 0xa8
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
call fcn.14011dd70
mov rdi, rax
movabs rax, 0xfffffffe00000000
and rax, rdi
cmp rax, qword [0x14021af08]
je 0x14010605b
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], 0
mov rdi, qword [rbp + 0x20]
mov qword [rbp + 0x20], rsi
test rdi, rdi
jne 0x1401069a6
mov rax, qword [r12 + 0x30]
mov rsi, qword [rax + 0x20]
mov qword [r12 + 0x30], rsi
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x10]
inc rax
jmp 0x140104ab4
mov rax, qword [r14 + rdi + 0x30]
jmp 0x14010548d
mov rcx, qword [rsp + 0x438]
jmp 0x1401054d0
mov rcx, qword [rsp + 0x58]
call fcn.1400fd520
jmp 0x140104976
lea rcx, [r12 + 0xc8]
lea rdx, [rsp + 0x4b0]
call fcn.1400face0
mov r8, qword [rsp + 0x50]
jmp 0x140105825
mov rcx, rdi
call fcn.1400f2260
mov rbp, qword [r12 + 0x28]
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], 0
mov qword [r12 + 0x28], rsi
test rbp, rbp
je 0x140105e78
mov rcx, rbp
call fcn.14000f160
mov rcx, rbp
call fcn.14011d780
mov rsi, qword [r12 + 0x28]
jmp 0x140105e78
movaps xmm0, xmmword [0x1401efb80]
lea r9, [rsp + 0x360]
movaps xmmword [r9 + 0x10], xmm0
movaps xmmword [r9], xmm0
mov rax, qword [r12 + 8]
mov rax, qword [rax + 0x4c8]
mov qword [r9], rax
mov byte [r9 + 8], 0
lea r8, [rsp + 0x408]
mov qword [r8], r14
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [r8 + 8], xmm0
movups xmmword [r8 + 0x18], xmm1
mov qword [r8 + 0x28], r13
mov qword [r8 + 0x30], rsi
mov qword [r8 + 0x38], rdi
mov rax, qword [rsp + 0x110]
mov qword [r8 + 0x40], rax
mov eax, dword [rsp + 0x118]
mov dword [r8 + 0x48], eax
mov qword [r8 + 0x50], rbx
mov rax, qword [rsp + 0x50]
mov qword [r8 + 0x58], rax
mov rax, qword [rsp + 0x60]
mov qword [r8 + 0x60], rax
lea rsi, [rsp + 0x4b0]
mov rcx, r12
mov rdx, rsi
call fcn.1400159c0
mov rcx, r12
mov rdx, rsi
call fcn.140015dd0
jmp 0x140104ce6
mov rcx, rdi
call fcn.1400f2260
mov rbp, qword [r12 + 0x30]
jmp 0x140105eee
lock dec dword [rsi]
jne 0x140105815
mov rcx, rsi
call fcn.140005520
mov rcx, rsi
call fcn.14011d780
mov r8, qword [rsp + 0x50]
jmp 0x140105815
mov rcx, rsi
mov edx, 1
call qword [0x14023a010]
jmp 0x140104b85
cmp eax, 2
jne 0x14010645e
mov eax, 0xffffffff
lock xadd dword [rdx], eax
and eax, 0xbfffffff
xor esi, esi
jmp 0x140104cfc
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x140104d07
lock dec dword [rsi]
jne 0x1401055de
mov rcx, rsi
mov qword [rsp + 0x50], rbp
mov rdi, r9
mov rbp, r11
call fcn.140005520
mov rcx, rsi
call fcn.14011d780
mov r11, rbp
mov r9, rdi
xor r8d, r8d
movabs r10, 0xcf3cf3cf3cf3cf3d
mov rbp, qword [rsp + 0x50]
jmp 0x1401055de
lock dec dword [rcx]
jne 0x14010576a
mov rax, qword [rcx + 0x10]
call qword [0x14023a010]
mov r8, qword [rsp + 0x50]
jmp 0x14010576a
lea rcx, [r12 + 0xc8]
mov rsi, r10
mov rdi, r9
mov rbx, r11
call fcn.1400face0
mov r11, rbx
mov r9, rdi
xor r8d, r8d
mov r10, rsi
jmp 0x1401055f8
mov rax, qword [r12 + 0x30]
imul rdx, qword [rax + 0x10], 0xa8
add rdx, qword [rax + 0x18]
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + 8]
call qword [0x14023a010]
add rsi, 0x10
jmp 0x140104c04
lock dec dword [rcx]
jne 0x14010553a
mov rax, qword [rcx + 0x10]
mov rsi, r10
mov r13, rdi
mov rdi, r9
mov qword [rsp + 0x50], r11
call qword [0x14023a010]
mov r11, qword [rsp + 0x50]
mov r9, rdi
mov rdi, r13
xor r8d, r8d
mov r10, rsi
jmp 0x14010553a
lock dec dword [rcx + 8]
jne 0x140104d2a
add rcx, 8
add rcx, 0xfffffffffffffff8
call fcn.1400e9a50
jmp 0x140104d2a
call fcn.140013120
jmp 0x14010481c
mov rcx, qword [rdi + 0x20]
movabs rax, 0xfffffffe00000000
and rax, rcx
cmp rax, qword [0x14021af08]
je 0x140106408
mov qword [rdi + 0x20], 0
lea rcx, [rdi + 0x10]
call fcn.140101810
mov rcx, rdi
call fcn.14011d780
jmp 0x140104de2
lea rcx, [0x14022b9e8]
call fcn.14011d638
cmp dword [0x14022b9e8], 0xffffffff
jne 0x1401047ad
mov qword [0x14022b9e0], 0
lea rcx, [0x14022b9e0]
xor edx, edx
call fcn.140012fc0
lea rcx, [0x14022b9e8]
call fcn.14011d5d8
jmp 0x1401047ad
lea rcx, [0x14022b9e8]
call fcn.14011d638
cmp dword [0x14022b9e8], 0xffffffff
jne 0x140104806
mov qword [0x14022b9e0], 0
lea rcx, [0x14022b9e0]
xor edx, edx
call fcn.140012fc0
lea rcx, [0x14022b9e8]
call fcn.14011d5d8
jmp 0x140104806
mov qword [rsp + 0x60], r8
cmp byte [r12 + 0x128], 0
je 0x1401069d7
mov rcx, qword [r12 + 0xb0]
mov byte [rsp + 0x50], 1
cmp qword [rcx + 0x10], 0
jne 0x14010630b
mov rcx, qword [r12 + 0xb8]
cmp qword [rcx + 0x10], 0
jne 0x14010630b
cmp rdi, rax
jne 0x14010642b
lea rdi, [r12 + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401069eb
cmp qword [r12 + 0x38], 0
setne byte [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r9, [rsp + 0x408]
mov byte [r9], r13b
mov eax, dword [rsp + 0x360]
mov ecx, dword [rsp + 0x363]
mov dword [r9 + 1], eax
mov dword [r9 + 4], ecx
mov rax, qword [rsp + 0x60]
mov qword [r9 + 8], rax
mov qword [r9 + 0x10], rsi
mov dword [r9 + 0x18], r14d
mov dword [r9 + 0x1c], ebx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [r9 + 0x20], rax
mov rax, qword [rbp]
mov rax, qword [rax + 0x10]
mov cl, byte [rsp + 0x50]
mov byte [rsp + 0x20], cl
lea rdi, [rsp + 0x4b0]
lea r8, [rsp + 0x290]
mov rcx, rbp
mov rdx, rdi
call qword [0x14023a010]
mov r13b, byte [rdi]
mov eax, dword [rdi + 1]
mov dword [rsp + 0x360], eax
mov eax, dword [rdi + 4]
mov dword [rsp + 0x363], eax
mov r8, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
mov r14d, dword [rdi + 0x18]
mov ebx, dword [rdi + 0x1c]
mov rax, qword [rdi + 0x20]
jmp 0x140105914
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 1
ja 0x1401063dd
mov rcx, rsi
cmp rax, rsi
je 0x14010510b
int3
mov rcx, rsi
call qword [0x14023a010]
mov rax, qword [rsi]
jmp 0x1401049ed
mov rcx, rsi
jmp 0x14010510b
call fcn.14011d780
jmp 0x140104dd0
lea rdi, [rsp + 0x408]
mov rcx, rdi
call qword [0x14023a010]
mov rax, qword [rdi]
jmp 0x1401050c3
call fcn.1400f23b0
jmp 0x1401061fd
lea rdi, [rsp + 0x408]
mov rcx, rdi
call qword [0x14023a010]
mov rax, qword [rdi]
jmp 0x140105c45
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x4c8]
lea rdx, [rsp + 0x4b0]
call fcn.140103600
mov rax, qword [rdi + 0x30]
lea rcx, [rsp + 0x4b0]
cmp rax, qword [rcx]
jg 0x1401062e1
jmp 0x14010630b
xor esi, esi
jmp 0x140104d07
xor eax, eax
jmp 0x14010484a
call fcn.1401566f0
int3
mov rdx, r8
mov r8, r9
call qword [0x14023a010]
jmp 0x140104bde
mov rax, qword [r12 + 0x10]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x140104ce6
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401069bb
mov r14, qword [r12 + 0x38]
mov rax, qword [r12 + 0xb0]
mov rcx, qword [r12 + 0xb8]
mov rbp, qword [rcx + 0x10]
mov rbx, qword [rax + 0x10]
mov rsi, qword [r12 + 0xd0]
mov rdi, qword [r12 + 0xc8]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x14021bc40], 0x19
je 0x140104ce6
sub rsi, rdi
shr rsi, 3
imul eax, esi, 0x3cf3cf3d
add ebp, r14d
add ebx, ebp
add ebx, eax
mov r14, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
lea rsi, [rsp + 0x140]
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], r12
mov rcx, rsi
call fcn.1401122d0
movaps xmm0, xmmword [0x1401efb80]
lea rbp, [rsp + 0x360]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov word [rbp], 0x301
lea rax, [0x1401f4ff1]
mov qword [rbp + 8], rax
movsxd rax, ebx
mov qword [rbp + 0x18], rax
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], edi
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x14021bc40]
mov cl, 0x43
mov r8, r14
xor r9d, r9d
call fcn.1400ff7a0
mov rcx, rbp
call fcn.1400cd180
jmp 0x140104ce6
mov rcx, qword [0x140227198]
cqo
idiv rcx
imul rbp, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, rbp
jmp 0x1401049ed
lea rdx, [rcx + r13]
cmp rdx, 1
ja 0x140106852
cmp rcx, rax
movabs r13, 0x8000000000000001
mov r8d, 0
je 0x14010548d
int3
lea rbx, [rdx + r13]
cmp rbx, 1
ja 0x140106864
cmp rdx, rcx
movabs r13, 0x8000000000000001
mov r8d, 0
je 0x1401054d0
int3
int3
lea rdx, [rsp + 0x140]
mov r8, r9
call qword [0x14023a010]
jmp 0x14010527b
int3
mov rax, qword [r12 + 0x10]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x140105a01
lea rbp, [r12 + 0x20]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401069ca
mov rbx, qword [r12 + 0x38]
mov rax, qword [r12 + 0xb0]
mov rcx, qword [r12 + 0xb8]
mov r13, qword [rcx + 0x10]
mov r14, qword [rax + 0x10]
mov rdi, qword [r12 + 0xd0]
mov rsi, qword [r12 + 0xc8]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x14021bc40], 0x19
je 0x140105a01
sub rdi, rsi
shr rdi, 3
imul eax, edi, 0x3cf3cf3d
add r13d, ebx
add r14d, r13d
add r14d, eax
mov rbx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebp, eax
movabs rsi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x408], rsi
lea rdi, [rsp + 0x408]
mov rcx, rdi
call fcn.1401122d0
movaps xmmword [rsp + 0x4b0], xmm6
movaps xmmword [rsp + 0x4c0], xmm6
mov qword [rsp + 0x4d0], rsi
mov word [rsp + 0x4b0], 0x301
lea rax, [0x1401f4ff1]
mov qword [rsp + 0x4b8], rax
movsxd rax, r14d
mov qword [rsp + 0x4c8], rax
lea rsi, [rsp + 0x4b0]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], ebp
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x14021bc40]
mov cl, 0x43
mov r8, rbx
xor r9d, r9d
call fcn.1400ff7a0
mov rcx, rsi
call fcn.1400cd180
jmp 0x140105a01
cmp qword [rax + rsi + 0xa0], 0
je 0x14010584c
lea rcx, [rax + rsi]
add rcx, 0x98
mov rcx, qword [rcx]
test rcx, rcx
je 0x1401069fd
mov cl, byte [rcx + 4]
test cl, cl
jne 0x1401069fd
add rax, rsi
add rax, 0xa0
mov rcx, qword [rax]
mov rdx, qword [rsp + 0x50]
call fcn.1401b0070
jmp 0x14010584c
cmp qword [rax + rsi + 0xa0], 0
je 0x14010586c
lea rcx, [rax + rsi]
add rcx, 0x98
mov rcx, qword [rcx]
test rcx, rcx
je 0x140106a00
mov cl, byte [rcx + 4]
test cl, cl
jne 0x140106a00
add rax, rsi
add rax, 0xa0
mov rcx, qword [rax]
lea rdx, [rsp + 0x108]
call fcn.1401867f0
jmp 0x14010586c
mov rcx, qword [0x140227198]
cqo
idiv rcx
imul rbp, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, rbp
jmp 0x1401050c3
lock dec dword [rcx + 8]
jne 0x1401057d8
add rcx, 8
add rcx, 0xfffffffffffffff8
call fcn.1400e9a50
mov r8, qword [rsp + 0x50]
jmp 0x1401057d8
movabs r13, 0x8000000000000001
xor r8d, r8d
jmp 0x14010548d
movabs r13, 0x8000000000000001
xor r8d, r8d
jmp 0x1401054d0
mov rcx, rsi
call qword [0x14023a010]
jmp 0x140104cd9
lock dec dword [rcx + 8]
jne 0x1401055a1
add rcx, 8
add rcx, 0xfffffffffffffff8
mov rsi, r10
mov rdi, r9
mov qword [rsp + 0x50], r11
call fcn.1400e9a50
mov r11, qword [rsp + 0x50]
mov r9, rdi
xor r8d, r8d
mov r10, rsi
jmp 0x1401055a1
cmp qword [rax + rsi + 0xa0], 0
je 0x14010561f
lea rcx, [rax + rsi]
add rcx, 0x98
mov rcx, qword [rcx]
test rcx, rcx
je 0x140106914
mov cl, byte [rcx + 4]
test cl, cl
jne 0x140106914
mov rdx, r11
mov rbx, r9
mov rdi, r10
add rax, rsi
add rax, 0xa0
mov rcx, qword [rax]
call fcn.1401b0070
movabs r13, 0x8000000000000001
mov r10, rdi
xor r8d, r8d
mov r9, rbx
jmp 0x14010561f
int3
cmp qword [rax + rsi + 0xa0], 0
je 0x14010563f
lea rcx, [rax + rsi]
add rcx, 0x98
mov rcx, qword [rcx]
test rcx, rcx
je 0x140106977
mov cl, byte [rcx + 4]
test cl, cl
jne 0x140106977
mov rbx, r9
mov rdi, r10
add rax, rsi
add rax, 0xa0
mov rcx, qword [rax]
lea rdx, [rsp + 0x4b0]
call fcn.1401867f0
movabs r13, 0x8000000000000001
mov r10, rdi
xor r8d, r8d
mov r9, rbx
jmp 0x14010563f
int3
call fcn.1401566f0
mov rcx, qword [0x140227198]
cqo
idiv rcx
imul rbp, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, rbp
jmp 0x140105c45
mov rcx, rdi
call fcn.14000f160
mov rcx, rdi
call fcn.14011d780
jmp 0x140105f0b
mov rcx, qword [rsp + 0x58]
call fcn.1400fd520
jmp 0x1401064ae
mov rcx, rbp
call fcn.1400fd520
jmp 0x140106665
movabs rax, 0xaaaaaaaaaaaaaaaa
mov r8, qword [rsp + 0x60]
jmp 0x140105914
mov rcx, rdi
call fcn.1400fd520
jmp 0x1401062f7
call fcn.140155140
int3
int3