Function at 0x14005b290
Capabilities:
Check for time delay via queryperformancecounter
Check os version

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x418
movapd xmmword [rsp + 0x400], xmm11
movaps xmmword [rsp + 0x3f0], xmm10
movaps xmmword [rsp + 0x3e0], xmm9
movaps xmmword [rsp + 0x3d0], xmm8
movaps xmmword [rsp + 0x3c0], xmm7
movaps xmmword [rsp + 0x3b0], xmm6
mov rbp, rcx
mov rax, qword [0x14010c040]
xor rax, rsp
mov qword [rsp + 0x3a8], rax
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14011d67a]
test al, al
jne 0x14005b4b7
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14011d67a]
test al, al
jne 0x14005b4fd
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x14005ea56
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x140102bb8]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [0x140102bb8]
mov eax, dword [0x140120150]
test eax, eax
je 0x14005b4a9
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14005b37b
cmp dword [rbp + 0x50], 0
je 0x14005b4a9
mov rcx, qword [0x140120148]
test rcx, rcx
je 0x14005ea45
lea rdx, [rsp + 0x320]
mov r8d, 2
call fcn.1400190f0
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x78], rax
mov al, 1
mov qword [rsp + 0x70], rax
movabs rbx, 0x7fffffffffffffff
mov eax, dword [0x14011a6f8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov qword [rsp + 0x58], rcx
lea rcx, [rax + 0x138]
mov qword [rsp + 0xc8], rcx
lea rcx, [rax + 0x140]
mov qword [rsp + 0x90], rcx
lea rcx, [rax + 0x170]
mov qword [rsp + 0x80], rcx
lea rcx, [rax + 0x188]
mov qword [rsp + 0x98], rcx
lea r12, [rax + 0x19c]
lea r15, [rax + 0x198]
lea rcx, [rax + 0x1a0]
mov qword [rsp + 0xb8], rcx
lea rcx, [rax + 0x1a8]
mov qword [rsp + 0xb0], rcx
lea rcx, [rax + 0x148]
mov qword [rsp + 0xa0], rcx
lea rcx, [rax + 0x160]
mov qword [rsp + 0xd0], rcx
lea rax, [rax + 0x168]
mov qword [rsp + 0xa8], rax
movaps xmm6, xmmword [0x1400efde0]
movsd xmm7, qword [0x1400f7eb8]
movsd xmm8, qword [0x1400f7ea8]
movsd xmm9, qword [0x1400f7eb0]
xorps xmm10, xmm10
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x38], rbp
jmp 0x14005bda0
xor eax, eax
mov qword [rsp + 0x78], rax
xor eax, eax
jmp 0x14005b3ad
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400efe90]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x290]
mov r9d, 3
call fcn.140004950
jmp 0x14005b307
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400efe90]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0x290]
mov r9d, 1
call fcn.140004950
jmp 0x14005b321
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14005b555
lock dec dword [rcx]
je 0x14005dded
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x14005b567
lock dec dword [rdi]
je 0x14005dcf4
mov rcx, rsi
call fcn.14008ed54
jmp 0x14005b967
test rbx, rbx
je 0x14005b68a
mov al, byte [r14 + 0xd]
and al, 0x7f
cmp al, 2
je 0x14005dd64
lock dec dword [rbx + 0x18]
jne 0x14005b68a
lea rdi, [rbx + 0x20]
mov rax, qword [0x14010e5a0]
and rax, rdi
cmp rax, qword [0x14010e588]
jne 0x14005b5b4
mov rcx, rdi
call fcn.140053a20
mov rcx, rdi
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005df25
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.progwrp.dll_WakeAllConditionVariable]
mov rcx, rdi
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, rdi
mov rcx, qword [0x14010e588]
cmp rax, rcx
jne 0x14005b607
mov rcx, rdi
call fcn.140053ce0
mov rcx, qword [0x14010e588]
mov rax, qword [0x14010e5a0]
and rax, rdi
cmp rax, rcx
jne 0x14005b614
mov rcx, rdi
call fcn.140053a20
mov rcx, rdi
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005df33
mov rbp, qword [rbx + 0x30]
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x48], rax
movups xmmword [rbx + 0x30], xmm10
mov r12, qword [rbx + 0x40]
mov rax, rbx
mov rbx, qword [rbx + 0x48]
mov rsi, rax
movups xmmword [rax + 0x40], xmm10
mov rcx, rdi
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, rdi
cmp rax, qword [0x14010e588]
jne 0x14005b66e
mov rcx, rdi
call fcn.140053ce0
mov rdi, r12
cmp r12, rbx
jne 0x14005e8e8
mov rcx, rbp
call fcn.140068750
mov rbp, qword [rsp + 0x38]
mov rbx, rsi
lock dec dword [r14 + 8]
jne 0x14005b9f8
mov rcx, r14
mov edx, 1
call fcn.1400586f0
jmp 0x14005b9f8
lock dec dword [rcx]
jne 0x14005b6b6
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x14005b9ef
lock dec dword [rcx]
jne 0x14005b9ef
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
jmp 0x14005b9ef
lock dec dword [rcx]
jne 0x14005b6ee
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x14005b87a
lock dec dword [rcx]
jne 0x14005b87a
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
jmp 0x14005b87a
call fcn.1400540d0
jmp 0x14005b831
lea rcx, [r12 - 0x10]
call qword [0x140102bb8]
add r12, 0xffffffffffffffe8
cmp r12, rsi
je 0x14005b789
mov rax, qword [r12 - 8]
test rax, rax
jne 0x14005b730
jmp 0x14005b73b
mov rcx, rbp
call fcn.140053b80
test rbp, rbp
je 0x14005b8e4
jmp 0x14005b8d3
mov rcx, r14
xor edx, edx
call qword [0x140102bb8]
test al, al
je 0x14005b9bd
mov r13, r14
mov r15, rbx
xor ebx, ebx
xor r14d, r14d
jmp 0x14005b9c3
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x158], rsi
call fcn.14008ed54
mov rax, qword [rsp + 0x80]
mov byte [rax], r15b
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x8c]
mov dword [rax], ecx
mov rax, qword [rsp + 0x50]
mov dword [rax], ebx
mov rax, qword [rsp + 0xb8]
movzx ecx, byte [rsp + 0x47]
mov byte [rax], cl
test dil, 0x7f
jne 0x14005b7dd
mov rax, qword [rsp + 0x98]
dec dword [rax]
mov rcx, qword [rsp + 0x188]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
mov rbx, qword [rsp + 0x68]
mov edi, dword [rsp + 0x48]
jne 0x14005b806
call fcn.1400540d0
mov qword [rsp + 0x188], 0
mov rcx, qword [rsp + 0x180]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
je 0x14005b717
mov qword [rsp + 0x180], 0
mov rcx, qword [rsp + 0x178]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
jne 0x14005b85d
call fcn.1400540d0
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x208], 0
test rcx, rcx
jne 0x14005b6df
test dil, dil
je 0x14005b8a0
movzx eax, byte [r14 + 0xd]
and al, 0x7f
cmp al, 1
jne 0x14005b8a0
mov rax, qword [r13 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
je 0x14005e241
mov rax, qword [r14]
mov rax, qword [rax + 0x48]
lea rcx, [0x14004ff30]
cmp rax, rcx
jne 0x14005b766
mov rax, qword [0x14010e5a0]
and rax, rbp
cmp rax, qword [0x14010e588]
je 0x14005b750
test rbp, rbp
je 0x14005b8e4
mov rcx, rbp
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005dce6
mov rax, qword [0x14010e5a0]
and rax, rbp
cmp rax, qword [0x14010e588]
jne 0x14005b8ff
mov rcx, rbp
call fcn.140053b80
mov byte [r14 + 0x98], 0
mov rax, qword [r14 + 0x58]
mov sil, 1
cmp rax, qword [r14 + 0x60]
jne 0x14005b970
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
jne 0x14005b970
mov byte [r14 + 0x99], 0
mov rsi, qword [r14 + 0x40]
test rsi, rsi
je 0x14005b967
lock dec dword [rsi + 8]
jne 0x14005b967
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1400dd0e0]
cmp qword [rcx + 0x10], rdx
jne 0x14005b959
lea rcx, [0x1400e50a0]
cmp rax, rcx
je 0x14005b543
mov rcx, rsi
mov edx, 1
call qword [0x140102bb8]
xor esi, esi
nop dword [rax]
mov rax, qword [0x14010e5a0]
and rax, rbp
cmp rax, qword [0x14010e588]
jne 0x14005b98b
mov rcx, rbp
call fcn.1400540d0
test rbp, rbp
je 0x14005b999
mov rcx, rbp
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, rbp
cmp rax, qword [0x14010e588]
jne 0x14005b9b4
mov rcx, rbp
call fcn.1400540d0
test sil, sil
jne 0x14005b779
xor r13d, r13d
xor r15d, r15d
mov rbp, qword [rsp + 0x38]
cmp byte [rsp + 0x3a0], 0
je 0x14005b9ef
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
test rcx, rcx
jne 0x14005b6a7
test r14, r14
jne 0x14005b574
mov rax, qword [0x14010e5a0]
and rax, rbx
cmp rax, qword [0x14010e588]
je 0x14005e3dc
mov r8, qword [rsp + 0xf0]
test r8, r8
jne 0x14005e487
mov qword [rsp + 0x320], r8
mov qword [rsp + 0xf0], 0
test r8, r8
jne 0x14005e46a
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], r13
test rcx, rcx
jne 0x14005e3fd
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
je 0x14005e3be
mov qword [rsp + 0xf8], r15
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x190], rax
lea rcx, [rsp + 0x190]
call fcn.140053a10
cmp byte [rsp + 0x70], 0
mov r15, qword [rsp + 0x50]
je 0x14005bb62
cmp byte [rsp + 0x118], 0
je 0x14005bb3e
cmp byte [rsp + 0x100], 0
je 0x14005bb3e
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rax]
test rdi, rdi
je 0x14005bb3e
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x14005e2c3
cmp dword [rdi + 0x24], 1
jne 0x14005e5c7
cmp qword [rdi + 0x18], 0
jne 0x14005e5fa
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rsi, qword [rsp + 0x108]
cmp qword [rdi + 0x18], 0
jne 0x14005e620
mov rax, qword [rdi + 0x10]
movabs rcx, 0x4000000000000000
and rax, rcx
movabs rcx, 0xffffffffffffff
and rsi, rcx
or rsi, rax
mov qword [rdi + 0x10], rsi
dec dword [rdi + 0x24]
mov qword [rsp + 0x108], 0
mov byte [rsp + 0x110], 0
mov byte [rsp + 0x100], 0
mov byte [rsp + 0x118], 1
movaps xmmword [rsp + 0x320], xmm6
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x14005ec90]
cmp rax, rcx
jne 0x14005e459
mov rcx, qword [rbp + 0x68]
movapd xmm0, xmmword [rsp + 0xf0]
movupd xmmword [rsp + 0xd8], xmm0
movaps xmmword [rsp + 0xf0], xmm10
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [rsp + 0x320]
lea r8, [rsp + 0xd8]
mov r9, rbp
call qword [0x140102bb8]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14005df5d
mov esi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], esi
jne 0x14005e278
cmp qword [rsp + 0xf0], 0
jne 0x14005e3a3
mov rax, qword [rsp + 0x320]
mov rsi, qword [rsp + 0x328]
movaps xmmword [rsp + 0x320], xmm10
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
je 0x14005e3c8
mov qword [rsp + 0xf8], rsi
mov rsi, qword [rsp + 0x320]
test rsi, rsi
jne 0x14005d7b2
mov qword [rsp + 0x320], 0
test rsi, rsi
jne 0x14005d7e0
mov rcx, qword [rsp + 0x328]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
je 0x14005e3d2
mov qword [rsp + 0x328], 0
mov rcx, qword [rsp + 0x320]
test rcx, rcx
mov r12, qword [rsp + 0x60]
jne 0x14005e416
mov rax, qword [rsp + 0xf0]
test rax, rax
jne 0x14005c3be
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
je 0x14005e44f
mov qword [rsp + 0xf8], 0
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
jne 0x14005e4ea
mov dil, 1
cmp byte [rsp + 0x118], 0
je 0x14005bd8d
cmp byte [rsp + 0x100], 0
je 0x14005bd8d
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rax]
test rbx, rbx
je 0x14005bd8d
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x14005e309
cmp dword [rbx + 0x24], 1
jne 0x14005e70d
cmp qword [rbx + 0x18], 0
jne 0x14005e750
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov rsi, qword [rsp + 0x108]
cmp qword [rbx + 0x18], 0
jne 0x14005e776
mov rax, qword [rbx + 0x10]
movabs rcx, 0x4000000000000000
and rax, rcx
movabs rcx, 0xffffffffffffff
and rsi, rcx
or rsi, rax
mov qword [rbx + 0x10], rsi
dec dword [rbx + 0x24]
test dil, dil
movabs rbx, 0x7fffffffffffffff
je 0x14005dbda
mov al, byte [rbp + 0x30]
test al, al
jne 0x14005dbda
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x14005f070]
cmp rax, rcx
jne 0x14005e4bc
mov al, byte [rbp + 0x70]
test al, al
jne 0x14005dbda
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x14010e5a0]
and rax, rsi
cmp rax, qword [0x14010e588]
jne 0x14005bdf1
mov rcx, rsi
call fcn.140053a20
mov rcx, rsi
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005db80
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x14005e215
xor edi, edi
mov rcx, rsi
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, rsi
cmp rax, qword [0x14010e588]
jne 0x14005be35
mov rcx, rsi
call fcn.140053ce0
test dil, dil
jne 0x14005dbda
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0x110], xmm6
xor eax, eax
mov byte [rsp + 0x100], al
mov byte [rsp + 0x118], al
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14011d67a]
test al, al
jne 0x14005d997
mov esi, dword [0x14010e13c]
test esi, esi
jne 0x14005cdb0
cmp byte [rsp + 0x118], 0
jne 0x14005e559
mov rbp, qword [rsp + 0x38]
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x14005ec90]
cmp rax, rcx
jne 0x14005e528
mov rsi, qword [rbp + 0x68]
mov rax, qword [rsi]
lea rcx, [fcn.140005bc0]
cmp qword [rax + 0x30], rcx
jne 0x14005db28
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
mov rax, qword [rsi]
mov rax, qword [rax + 0x28]
lea rcx, [0x140062cd0]
cmp rax, rcx
jne 0x14005d2e0
mov rax, qword [rsi - 0x40]
mov rax, qword [rax + 0x20]
lea rcx, [0x1400e14b0]
cmp rax, rcx
jne 0x14005db35
cmp byte [rsi + 0x18], 0
mov rcx, rbx
jne 0x14005db4a
mov qword [rsp + 0x130], rcx
mov r15, qword [rsp + 0x130]
mov eax, 0xf4240
cmp r15, rax
cmovge r15, rax
mov eax, dword [0x140123680]
mov ecx, dword [0x14011a6f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005ddb1
cmp byte [0x14012367c], 0
je 0x14005c0f7
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x290], rax
mov rax, qword [fcn.140072ec0]
lea rcx, [0x14008d470]
cmp rax, rcx
jne 0x14005e114
mov qword [rsp + 0x320], 0
lea rcx, [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x320]
mov rcx, qword [0x14011d660]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x14005e6b5
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x290], rax
mov eax, dword [0x140123690]
mov ecx, dword [0x14011a6f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005dd09
mov rax, qword [0x140123688]
mov ecx, 0x3938700
add rax, rcx
cmovo rax, rbx
mov r8, qword [rsp + 0x290]
cmp r8, rax
cmovle r15, rcx
lea rax, [rbx + r15]
add rax, 2
cmp rax, 2
jb 0x14005e66a
lea rax, [r8 + r15]
sar rax, 0x3f
btc rax, 0x3f
add r15, r8
cmovo r15, rax
mov r9, r15
xor eax, eax
mov rcx, r9
neg rcx
setns al
add rax, rbx
mov rcx, r9
neg rcx
cmovo rcx, rax
lea rax, [rbx + rcx]
add rax, 2
mov rdx, rbx
cmp rax, 2
jb 0x14005c0a8
mov rax, rcx
movabs rdx, 0x431bde82d7b634db
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x12
add rdx, rax
imul rax, rdx, 0xf4240
sub rcx, rax
mov rdx, rcx
je 0x14005df8a
mov rax, rdx
add rax, 0xf4240
cmovo rax, rbx
test r9, r9
cmovle rax, rdx
lea rcx, [rbx + rax]
add rcx, 2
cmp rcx, 2
jb 0x14005e646
lea rcx, [r9 + rax]
sar rcx, 0x3f
btc rcx, 0x3f
add r9, rax
cmovo r9, rcx
mov r15, r9
xor eax, eax
cmp r15, r8
setns al
add rax, rbx
sub r15, r8
cmovo r15, rax
lea r14, [rsi + 8]
test r15, r15
jle 0x14005da7e
movaps xmmword [rsp + 0x320], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x360], rax
movaps xmmword [rsp + 0x350], xmm6
movaps xmmword [rsp + 0x340], xmm6
movaps xmmword [rsp + 0x330], xmm6
xor eax, eax
mov byte [rsp + 0x320], al
mov byte [rsp + 0x360], al
cmp byte [rsi + 0x10], al
je 0x14005d10c
cmp r15, rbx
je 0x14005cd39
mov rax, qword [0x14010e128]
lea rcx, [0x14008d470]
cmp rax, rcx
jne 0x14005df77
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x14011d660]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x14005e79c
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x190], rax
mov rdi, qword [rsp + 0x190]
lea rax, [r15 + rdi]
sar rax, 0x3f
btc rax, 0x3f
add rdi, r15
cmovo rdi, rax
mov rcx, r15
cmp rcx, rbx
je 0x14005cd2f
mov rax, rcx
shr rax, 3
movabs rdx, 0x20c49ba5e353f7cf
mul rdx
mov rax, rdx
shr rax, 4
imul rdx, rax, 0x3e8
cmp rdx, rcx
adc rax, 0
mov rcx, rax
shr rcx, 0x20
neg rcx
mov edx, 0
sbb edx, edx
or edx, eax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14005d8fe
mov r12b, 1
cmp byte [rsi + 0x10], 0
je 0x14005d67a
cmp byte [rsp + 0x360], 0
jne 0x14005d35e
test r12b, r12b
mov r12, qword [rsp + 0x60]
je 0x14005da91
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x190], 0xa
mov al, byte [0x14011d67a]
test al, al
jne 0x14005d9e2
mov al, byte [rbp + 0x30]
test al, al
jne 0x14005d990
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x14005f070]
cmp rax, rcx
jne 0x14005e4ca
mov al, byte [rbp + 0x70]
test al, al
jne 0x14005d990
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x14010e5a0]
and rax, rsi
cmp rax, qword [0x14010e588]
jne 0x14005c2cd
mov rcx, rsi
call fcn.140053a20
mov rcx, rsi
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005db8e
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x14005e22b
xor edi, edi
mov rcx, rsi
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, rsi
cmp rax, qword [0x14010e588]
jne 0x14005c311
mov rcx, rsi
call fcn.140053ce0
test dil, dil
jne 0x14005d990
cmp byte [rsp + 0x70], 0
je 0x14005c353
cmp byte [rsp + 0x118], 0
jne 0x14005e4d8
mov qword [rsp + 0x108], 0
xor eax, eax
mov byte [rsp + 0x110], al
mov byte [rsp + 0x100], al
mov byte [rsp + 0x118], 1
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14005e445
mov esi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], esi
jne 0x14005e539
movaps xmmword [rsp + 0xf0], xmm6
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x14005ec90]
cmp rax, rcx
jne 0x14005e548
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0xf0]
mov r8, rbp
call qword [0x140102bb8]
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x14005d6dd
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0xe8]
call fcn.140053a10
mov r13, qword [rbp + 0x38]
mov r14, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
movzx eax, byte [r14 + 0xd]
and eax, 0x7f
mov dil, 1
cmp eax, 1
jne 0x14005cd41
mov rax, qword [r13 + 0x10]
mov ecx, 2
lock xadd dword [rax], ecx
test cl, 1
jne 0x14005e436
movaps xmmword [rsp + 0x320], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x3a0], rax
movaps xmmword [rsp + 0x390], xmm6
movaps xmmword [rsp + 0x380], xmm6
movaps xmmword [rsp + 0x370], xmm6
movaps xmmword [rsp + 0x360], xmm6
movaps xmmword [rsp + 0x350], xmm6
movaps xmmword [rsp + 0x340], xmm6
movaps xmmword [rsp + 0x330], xmm6
mov byte [rsp + 0x320], 0
mov byte [rsp + 0x3a0], 0
mov dword [rsp + 0x128], 0x102
mov byte [rsp + 0x12c], 0
mov rax, qword [0x14010e5a0]
and rax, r14
cmp rax, qword [0x14010e588]
jne 0x14005c4b9
mov rcx, r14
call fcn.140053b80
mov qword [rsp + 0x170], r14
lea rbp, [r14 + 0x18]
mov rcx, rbp
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005d8f0
test dil, dil
mov dword [rsp + 0x48], edi
je 0x14005e572
mov rax, qword [r14]
mov rax, qword [rax + 0x40]
lea rcx, [0x14004fe00]
cmp rax, rcx
jne 0x14005c59e
mov rax, qword [0x14010e5a0]
and rax, rbp
cmp rax, qword [0x14010e588]
jne 0x14005c515
mov rcx, rbp
call fcn.140053b80
movaps xmmword [rsp + 0x280], xmm6
movaps xmmword [rsp + 0x270], xmm6
movaps xmmword [rsp + 0x260], xmm6
movaps xmmword [rsp + 0x250], xmm6
movaps xmmword [rsp + 0x240], xmm6
movaps xmmword [rsp + 0x230], xmm6
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
mov rcx, r14
lea rdx, [rsp + 0x210]
call fcn.14005ee30
mov rax, qword [r14 + 0x58]
cmp rax, qword [r14 + 0x60]
jne 0x14005c579
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
je 0x14005c581
mov rcx, r14
call fcn.14005eca0
mov rax, qword [0x14010e5a0]
and rax, rbp
cmp rax, qword [0x14010e588]
jne 0x14005c5b7
mov rcx, rbp
call fcn.1400540d0
jmp 0x14005c5b7
mov rcx, r14
lea rdx, [rsp + 0x210]
lea r8, [rsp + 0x170]
call qword [0x140102bb8]
movaps xmm0, xmmword [rsp + 0x210]
movaps xmm1, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x2a0], xmm1
movaps xmmword [rsp + 0x290], xmm0
lea rdx, [rsp + 0x230]
mov rax, qword [rdx + 0x4d]
lea rcx, [rsp + 0x2b0]
mov qword [rcx + 0x4d], rax
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movupd xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm3
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movupd xmmword [rcx], xmm0
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x308], rax
mov qword [rsp + 0x288], 0
mov byte [rsp + 0x310], 1
mov al, 1
movzx ecx, byte [rsp + 0x3a0]
cmp cl, al
jne 0x14005c6ee
test cl, cl
je 0x14005c742
movapd xmm0, xmmword [rsp + 0x290]
movaps xmm1, xmmword [rsp + 0x2a0]
movaps xmmword [rsp + 0x330], xmm1
movapd xmmword [rsp + 0x320], xmm0
mov ecx, 0xa
lea r8, [rsp + 0x340]
mov rdi, r8
lea rdx, [rsp + 0x2b0]
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov edi, dword [rsp + 0x48]
mov al, byte [rdx + 0x54]
mov byte [r8 + 0x54], al
mov eax, dword [rdx + 0x50]
mov dword [r8 + 0x50], eax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x308], 0
mov rsi, qword [rsp + 0x398]
mov qword [rsp + 0x398], rax
test rsi, rsi
je 0x14005c71b
lock dec dword [rsi]
jne 0x14005c71b
mov rax, qword [rsi + 0x10]
lea rcx, [0x1400e13d0]
cmp rax, rcx
jne 0x14005db72
jmp 0x14005db9c
test cl, cl
je 0x14005d5ff
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
test rcx, rcx
jne 0x14005d5c7
mov byte [rsp + 0x3a0], 0
cmp byte [rsp + 0x310], 0
je 0x14005c742
mov rcx, qword [rsp + 0x308]
mov qword [rsp + 0x308], 0
test rcx, rcx
jne 0x14005d0d4
test dil, dil
je 0x14005c764
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x288], 0
test rcx, rcx
jne 0x14005cd63
mov rcx, qword [rsp + 0x170]
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x128], eax
movzx eax, byte [rcx + 0x10]
mov byte [rsp + 0x12c], al
test rcx, rcx
jne 0x14005cc48
cmp byte [rsp + 0x3a0], 0
je 0x14005b87a
cmp qword [rsp + 0x348], 0
jne 0x14005da33
movaps xmm0, xmmword [rsp + 0x320]
movaps xmm1, xmmword [rsp + 0x330]
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x190], xmm0
lea rcx, [rsp + 0x340]
mov rax, qword [rcx + 0x4d]
lea rdx, [rsp + 0x1b0]
mov qword [rdx + 0x4d], rax
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm0
movupd xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm3
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movupd xmmword [rdx], xmm0
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x398], 0
mov rax, qword [r13]
mov rax, qword [rax + 8]
lea rcx, [0x14004f7c0]
cmp rax, rcx
jne 0x14005e503
mov qword [rsp + 0x68], rbx
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x170], xmm6
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
lea rdx, [rsp + 0x170]
call qword [0x140102bb8]
movzx edi, byte [rsp + 0x129]
test dil, 0x7f
jne 0x14005c87f
mov rax, qword [rsp + 0x98]
inc dword [rax]
mov ecx, dword [r14 + 0x30]
mov eax, dword [rsp + 0x170]
mov r9d, dword [r12]
mov ebx, dword [r15]
cmp ebx, 0xffffffff
je 0x14005dbc5
mov r8, qword [rsp + 0xb8]
movzx r10d, byte [r8]
mov edx, 1
lock xadd dword [0x1401236e8], edx
cmp ecx, 2
mov dword [r12], edx
mov dword [r15], eax
sete byte [r8]
movzx eax, byte [rsp + 0x128]
mov rcx, qword [rsp + 0x80]
movzx r15d, byte [rcx]
mov byte [rcx], al
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x160], xmm6
mov byte [rsp + 0x150], 0
mov byte [rsp + 0x168], 0
mov rax, qword [rsp + 0x178]
test rax, rax
jne 0x14005c929
movaps xmmword [rsp + 0x150], xmm10
mov qword [rsp + 0x160], 0
mov byte [rsp + 0x168], 1
lea rax, [rsp + 0x150]
mov rcx, qword [rsp + 0xb0]
mov r12, qword [rcx]
mov qword [rcx], rax
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm6
mov byte [rsp + 0x130], 0
mov byte [rsp + 0x148], 0
movaps xmmword [rsp + 0x290], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x2c0], rax
movaps xmmword [rsp + 0x2b0], xmm6
movaps xmmword [rsp + 0x2a0], xmm6
mov byte [rsp + 0x290], 0
mov byte [rsp + 0x2c0], 0
mov rax, qword [rsp + 0x188]
test rax, rax
je 0x14005cb3b
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x14005e388
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x130], rdx
mov rcx, qword [rdx]
lea r8, [rsp + 0x130]
mov qword [rdx], r8
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
lea rax, [rsp + 0x148]
mov byte [rax], 1
movzx eax, byte [rsp + 0x129]
and eax, 0x7f
cmp eax, 1
mov byte [rsp + 0x47], r10b
mov dword [rsp + 0x8c], r9d
jne 0x14005cbe1
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov rcx, r13
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x128]
mov r9, r14
call fcn.14005f080
mov rsi, qword [rsp + 0x208]
mov qword [rsp + 0x208], 0
test rsi, rsi
jne 0x14005ccdf
cmp byte [rsp + 0x2c0], 0
je 0x14005cabf
mov rcx, qword [rsp + 0x2b8]
test rcx, rcx
je 0x14005ca78
lock dec dword [rcx + 8]
je 0x14005e3e9
mov rax, qword [rsp + 0x2a8]
test rax, rax
je 0x14005ca90
mov rcx, qword [rsp + 0x2b0]
mov qword [rax], rcx
mov rsi, qword [rsp + 0x2a0]
test rsi, rsi
je 0x14005caa7
lock dec dword [rsi + 8]
je 0x14005cc7b
mov rax, qword [rsp + 0x290]
test rax, rax
je 0x14005cabf
mov rcx, qword [rsp + 0x298]
mov qword [rax], rcx
cmp byte [rsp + 0x148], 0
je 0x14005caf8
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x14005cae0
lock dec dword [rcx + 8]
je 0x14005e3f3
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x14005caf8
mov rcx, qword [rsp + 0x138]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb0]
mov qword [rax], r12
cmp byte [rsp + 0x168], 0
je 0x14005b79e
mov rsi, qword [rsp + 0x150]
test rsi, rsi
je 0x14005b79e
mov r12, qword [rsp + 0x158]
mov rcx, rsi
cmp r12, rsi
jne 0x14005b744
jmp 0x14005b791
mov rax, qword [rsp + 0x180]
test rax, rax
je 0x14005c9f1
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x14005e38b
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x290], rdx
mov rcx, qword [rdx]
lea r8, [rsp + 0x290]
mov qword [rdx], r8
mov qword [rsp + 0x298], rcx
mov qword [rsp + 0x2a0], rax
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x14005e38e
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x2a8], rdx
mov rcx, qword [rdx]
lea r8, [rsp + 0x2a8]
mov qword [rdx], r8
mov qword [rsp + 0x2b0], rcx
mov qword [rsp + 0x2b8], rax
lea rax, [rsp + 0x2c0]
jmp 0x14005c9ee
cmp eax, 2
jne 0x14005cc13
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov rcx, r13
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x128]
mov r9, r14
call fcn.14005f360
jmp 0x14005ca3a
test eax, eax
jne 0x14005ca3a
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov rcx, r13
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x128]
mov r9, r14
call fcn.14005f620
jmp 0x14005ca3a
add rcx, 0x18
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x170]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
jne 0x14005c78a
call fcn.1400540d0
jmp 0x14005c78a
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1400dd0e0]
cmp qword [rcx + 0x10], rdx
jne 0x14005cc9b
lea rcx, [0x1400e50a0]
cmp rax, rcx
je 0x14005ccae
mov rcx, rsi
mov edx, 1
call qword [0x140102bb8]
jmp 0x14005caa7
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14005ccc0
lock dec dword [rcx]
je 0x14005ddf7
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14005ccd2
lock dec dword [rax]
je 0x14005dd42
mov rcx, rsi
call fcn.14008ed54
jmp 0x14005caa7
lock dec dword [rsi]
jne 0x14005ca57
mov rax, qword [rsi + 0x10]
lea rcx, [0x1400e13d0]
cmp rax, rcx
je 0x14005cd06
mov rcx, rsi
call qword [0x140102bb8]
jmp 0x14005ca57
mov rcx, qword [rsi + 0x28]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
jne 0x14005cd22
call fcn.140053ce0
mov rcx, rsi
call fcn.14008ed54
jmp 0x14005ca57
mov edx, 0xffffffff
jmp 0x14005c223
mov rdi, rbx
jmp 0x14005c1db
cmp eax, 2
je 0x14005c429
test eax, eax
jne 0x14005e42f
mov rax, qword [r13 + 0x10]
mov eax, dword [rax]
test al, 1
sete dil
jmp 0x14005c429
lock dec dword [rcx]
jne 0x14005cd72
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
mov rcx, qword [rsp + 0x288]
test rcx, rcx
je 0x14005c764
lock dec dword [rcx]
jne 0x14005c764
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
jmp 0x14005c764
lea rsi, [rax + 0x10]
xor edi, edi
cmp qword [rsi], 0
jne 0x14005cf76
jmp 0x14005e063
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
test rax, rax
je 0x14005dece
mov ebp, esi
mov rax, qword [rax + 8]
cmp byte [rax + 0xc], 0
jne 0x14005be86
mov rcx, qword [0x14010ce18]
mov byte [rax + 0xc], 1
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsi]
mov rax, qword [rax + 8]
mov edx, dword [rcx + 0x10]
cmp dword [rax + 8], edx
jne 0x14005e7cf
mov rax, qword [rsi]
test bpl, 1
jne 0x14005cd9b
test bpl, 2
jne 0x14005ce55
test bpl, 4
jne 0x14005ce6e
test bpl, 8
jne 0x14005ce8d
test bpl, 0x10
jne 0x14005ceac
test bpl, 0x20
jne 0x14005cecb
test bpl, 0x40
jne 0x14005ceea
test bpl, bpl
jns 0x14005d0b5
lea rsi, [rax + 0x2b0]
mov edi, 7
cmp qword [rax + 0x2b0], 0
jne 0x14005cf76
jmp 0x14005df91
lea rsi, [rax + 0x70]
mov edi, 1
cmp qword [rax + 0x70], 0
jne 0x14005cf76
jmp 0x14005e03a
lea rsi, [rax + 0xd0]
mov edi, 2
cmp qword [rax + 0xd0], 0
jne 0x14005cf76
jmp 0x14005e011
lea rsi, [rax + 0x130]
mov edi, 3
cmp qword [rax + 0x130], 0
jne 0x14005cf76
jmp 0x14005e0a3
lea rsi, [rax + 0x190]
mov edi, 4
cmp qword [rax + 0x190], 0
jne 0x14005cf76
jmp 0x14005dfe8
lea rsi, [rax + 0x1f0]
mov edi, 5
cmp qword [rax + 0x1f0], 0
jne 0x14005cf76
jmp 0x14005dfbc
lea rsi, [rax + 0x250]
mov edi, 6
cmp qword [rax + 0x250], 0
jne 0x14005cf76
jmp 0x14005e0cc
mov r8d, dword [r14 + 0x20]
cmp r8, 0x7f
ja 0x14005de66
mov rbx, qword [r14]
mov rdx, qword [rbx + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x14005de66
cmp rax, qword [rbx + 8]
jb 0x14005de66
lea rcx, [rdx - 3]
call fcn.1400beac0
add qword [rbx + 0x18], 0xfffffffffffffffd
mov al, byte [r14 + 0x20]
mov rcx, qword [r14 + 0x18]
mov byte [rcx], al
mov al, 2
mov byte [r14 + 0x24], al
mov qword [r14 + 0x18], 0
jmp 0x14005d00f
mov rcx, r14
call fcn.14005af70
jmp 0x14005cffd
cmp qword [rsi], 0
je 0x14005de95
test rsi, rsi
je 0x14005d0b5
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x14008cf60]
cmp rax, rdx
jne 0x14005e6d5
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
cmp rax, qword [rsi + 0x50]
je 0x14005d04e
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.14005f8e0]
cmp rax, rdx
jne 0x14005e7bc
lea rdx, [rsp + 0x320]
call fcn.14005f8e0
mov r14, qword [rsp + 0x320]
test r14, r14
je 0x14005d01f
mov r15, qword [rsp + 0x328]
cmp byte [r14 + 0x24], 0
jne 0x14005d00f
cmp qword [r14 + 0x10], 0
jne 0x14005cf5f
mov rax, qword [r14 + 0x18]
test rax, rax
jne 0x14005cf05
mov byte [r14 + 0x24], 1
test r15, r15
je 0x14005d01f
mov rcx, r15
mov rdx, r14
call fcn.1400699d0
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x14008cf60]
cmp rax, rdx
jne 0x14005e745
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
mov r15, qword [rsp + 0x50]
mov qword [rsi + 0x50], rax
cmp byte [rsi + 0x48], 0
jne 0x14005e800
cmp edi, 6
ja 0x14005d0b5
mov eax, edi
inc edi
inc rax
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
lea rdx, [rax + rax*2]
shl rax, 7
shl rdx, 5
lea rsi, [rcx + rdx]
add rsi, 0x10
mov edx, 0x400
lea r8, [0x14010e140]
mov ebx, ebp
mov r9d, 1
mov ecx, edi
shl r9d, cl
bt ebx, edi
jb 0x14005cf6c
add rdx, 0xffffffffffffff80
sub r8, 0xffffffffffffff80
add rsi, 0x60
inc edi
cmp rax, rdx
jne 0x14005d08e
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov byte [rax + 0xc], 0
movabs rbx, 0x7fffffffffffffff
jmp 0x14005be86
lock dec dword [rcx]
jne 0x14005d0e3
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
mov rcx, qword [rsp + 0x308]
test rcx, rcx
je 0x14005c742
lock dec dword [rcx]
jne 0x14005c742
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
jmp 0x14005c742
lea rcx, [rsp + 0x290]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.140055660
cmp byte [rsp + 0x360], 0
jne 0x14005e7e1
mov rax, qword [rsp + 0xc8]
mov rdi, qword [rax]
mov rax, qword [0x14010e5a0]
and rax, rdi
cmp rax, qword [0x14010e588]
jne 0x14005d161
mov rcx, rdi
call fcn.140053b80
mov qword [rsp + 0x320], rdi
mov rax, qword [rsp + 0x90]
mov rdi, qword [rax]
mov rax, qword [0x14010e5a0]
and rax, rdi
cmp rax, qword [0x14010e588]
jne 0x14005d18f
mov rcx, rdi
call fcn.140053b80
mov qword [rsp + 0x328], rdi
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x330], rcx
mov rax, qword [rcx]
lea rdx, [rsp + 0x320]
mov qword [rcx], rdx
mov qword [rsp + 0x338], rax
mov rax, qword [rsp + 0x328]
test rax, rax
je 0x14005d22b
mov al, byte [rax + 0x20]
mov byte [rsp + 0x340], al
xor eax, eax
mov byte [rsp + 0x348], al
mov byte [rsp + 0x358], al
mov rcx, qword [rsp + 0x80]
cmp byte [rcx], al
je 0x14005d22f
mov rax, qword [rsp + 0x328]
test rax, rax
je 0x14005d25d
cmp byte [rax + 0x38], 0
je 0x14005d25d
mov rdi, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test rdi, rdi
je 0x14005d25d
lock dec dword [rdi]
jne 0x14005d25d
mov rcx, rdi
call fcn.14000e5d0
mov rcx, rdi
call fcn.14008ed54
jmp 0x14005d25d
xor eax, eax
jmp 0x14005d1cd
mov eax, dword [0x140120270]
mov ecx, dword [0x14011a6f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005de0f
cmp byte [0x14012026c], 0
je 0x14005d1f0
mov rcx, qword [rsp + 0x320]
test rcx, rcx
je 0x14005d27c
cmp qword [rsp + 0x328], 0
jne 0x14005d27c
xor edx, edx
call fcn.140057ca0
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14011d67a]
test al, al
jne 0x14005d29f
mov byte [rsp + 0x360], 1
jmp 0x14005c14f
movzx ecx, al
lea rax, [rsp + 0x290]
mov qword [rsp + 0x190], rax
lea rax, str.ScopedBlockingCallWithBaseSyncPrimitives
mov qword [rsp + 0x170], rax
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x170]
lea r9, [rsp + 0x190]
call fcn.14000dc60
jmp 0x14005d292
mov rcx, rsi
lea rdx, [rsp + 0x130]
call qword [0x140102bb8]
jmp 0x14005bf1f
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x110]
dec rdx
mov qword [rax + 0x110], rdx
cmp rcx, qword [rax + 0x88]
je 0x14005d324
cmp qword [rax + 0x120], rdx
jae 0x14005df67
mov word [rax + 0xb8], 0
jmp 0x14005d422
movzx ecx, al
mov qword [rsp + 0x290], 0
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x290]
mov r9d, 2
call fcn.140055680
jmp 0x14005d374
mov qword [rsp + 0x190], 0xa
mov al, byte [0x14011d67a]
test al, al
jne 0x14005d332
call fcn.14008eed8
mov ebx, dword [rax]
call fcn.14008eed8
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r13, qword [rsp + 0x320]
test r13, r13
je 0x14005d474
cmp qword [rsp + 0x328], 0
jne 0x14005d474
cmp byte [r13 + 0x19], 0
je 0x14005d474
mov r14, qword [r13 + 0x28]
add r14, 0x68
mov rax, qword [0x14010e5a0]
and rax, r14
cmp rax, qword [0x14010e588]
jne 0x14005d3e4
mov rcx, r14
call fcn.140053a20
test r14, r14
je 0x14005e7fa
mov rcx, r14
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005de01
mov qword [r13 + 0x20], 0
cmp byte [r13 + 0x3a], 0
jne 0x14005d449
cmp byte [r13 + 0x38], 0
mov rax, qword [r13 + 0x28]
jne 0x14005d2f6
dec dword [rax + 0x130]
cmp byte [r13 + 0x19], 0
je 0x14005e7fd
cmp byte [r13 + 0x18], 0
jne 0x14005d449
cmp byte [r13 + 0x39], 0
mov rax, qword [r13 + 0x28]
jne 0x14005e9b9
dec dword [rax + 0x134]
mov word [r13 + 0x38], 0
mov rcx, r14
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, r14
cmp rax, qword [0x14010e588]
jne 0x14005d474
mov rcx, r14
call fcn.140053ce0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.14008eed8
mov dword [rax], ebx
cmp byte [rsp + 0x358], 0
movabs rbx, 0x7fffffffffffffff
je 0x14005d55b
mov rdi, qword [rsp + 0x350]
test rdi, rdi
je 0x14005d55b
mov rax, qword [fcn.140072ec0]
lea rcx, [0x14008d470]
cmp rax, rcx
jne 0x14005e29a
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x14011d660]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x14005e999
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x190], rax
mov r13, qword [rsp + 0x348]
mov rdx, qword [rsp + 0x190]
xor eax, eax
cmp rdx, r13
setns al
add rax, rbx
mov rbx, rdx
sub rbx, r13
cmovo rbx, rax
cmp rbx, 0xf4240
jge 0x14005e127
mov rdi, qword [rsp + 0x350]
test rdi, rdi
je 0x14005d55b
lock dec dword [rdi]
je 0x14005e833
mov rax, qword [rsp + 0x330]
test rax, rax
je 0x14005d573
mov rcx, qword [rsp + 0x338]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x328]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
je 0x14005e6e0
mov qword [rsp + 0x328], 0
mov rcx, qword [rsp + 0x320]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
jne 0x14005c24f
call fcn.1400540d0
jmp 0x14005c24f
lock dec dword [rcx]
jne 0x14005d5d6
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x14005c713
lock dec dword [rcx]
jne 0x14005c713
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
jmp 0x14005c713
movapd xmm0, xmmword [rsp + 0x290]
movaps xmm1, xmmword [rsp + 0x2a0]
movaps xmmword [rsp + 0x330], xmm1
movapd xmmword [rsp + 0x320], xmm0
mov ecx, 0xa
lea r8, [rsp + 0x340]
mov rdi, r8
lea rdx, [rsp + 0x2b0]
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov edi, dword [rsp + 0x48]
mov al, byte [rdx + 0x54]
mov byte [r8 + 0x54], al
mov eax, dword [rdx + 0x50]
mov dword [r8 + 0x50], eax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x398], rax
mov qword [rsp + 0x308], 0
mov byte [rsp + 0x3a0], 1
jmp 0x14005c71b
mov qword [rsp + 0x170], 0x9b
mov al, byte [0x14011d70b]
test al, al
je 0x14005c241
movzx ecx, al
xor r14, qword [0x14011bb98]
mov qword [rsp + 0x290], r14
lea rax, str.WaitableEvent::Wait_Complete
lea r8, [rsp + 0x190]
mov qword [r8], rax
lea rax, [rsp + 0x290]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x170]
mov r9d, 3
call fcn.140068a10
jmp 0x14005c241
mov al, byte [rbp + 0x30]
test al, al
jne 0x14005bc9d
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, rbp
call qword [0x140102bb8]
test al, al
jne 0x14005bc9d
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x14010e5a0]
and rax, rsi
cmp rax, qword [0x14010e588]
jne 0x14005d724
mov rcx, rsi
call fcn.140053a20
mov rcx, rsi
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005de58
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x14005e2ad
xor edi, edi
mov rcx, rsi
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, rsi
cmp rax, qword [0x14010e588]
jne 0x14005d768
mov rcx, rsi
call fcn.140053ce0
test dil, dil
jne 0x14005bc9d
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x140102bb8]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x40]
mov rcx, rax
mov rax, rdx
call qword [0x140102bb8]
jmp 0x14005bc9d
mov rax, qword [r12 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14005d7d8
jmp 0x14005e34f
mov r12, qword [rsp + 0x328]
test r12, r12
je 0x14005bc47
mov qword [rsp + 0x320], 0
mov al, byte [rsi + 0xd]
and al, 0x7f
cmp al, 2
je 0x14005d79a
lock dec dword [r12 + 0x18]
je 0x14005d7fc
lock dec dword [rsi + 8]
jne 0x14005bc5c
mov rcx, rsi
mov edx, 1
call fcn.1400586f0
jmp 0x14005bc5c
lea r14, [r12 + 0x20]
mov rax, qword [0x14010e5a0]
and rax, r14
cmp rax, qword [0x14010e588]
jne 0x14005d81c
mov rcx, r14
call fcn.140053a20
mov rcx, r14
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005df41
mov rcx, qword [r12 + 0x28]
call qword [sym.imp.progwrp.dll_WakeAllConditionVariable]
mov rcx, r14
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, r14
mov rcx, qword [0x14010e588]
cmp rax, rcx
jne 0x14005d870
mov rcx, r14
call fcn.140053ce0
mov rcx, qword [0x14010e588]
mov rax, qword [0x14010e5a0]
and rax, r14
cmp rax, rcx
jne 0x14005d87d
mov rcx, r14
call fcn.140053a20
mov rcx, r14
call qword [sym.imp.progwrp.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005df4f
mov rdi, qword [r12 + 0x30]
mov r13, qword [r12 + 0x38]
movups xmmword [r12 + 0x30], xmm10
mov r15, qword [r12 + 0x40]
mov rbx, qword [r12 + 0x48]
movups xmmword [r12 + 0x40], xmm10
mov rcx, r14
call qword [sym.imp.progwrp.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x14010e5a0]
and rax, r14
cmp rax, qword [0x14010e588]
jne 0x14005d8d2
mov rcx, r14
call fcn.140053ce0
mov r12, r15
cmp r15, rbx
jne 0x14005e848
mov rcx, rdi
call fcn.140068750
mov r15, qword [rsp + 0x50]
jmp 0x14005bc53
mov rcx, rbp
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005c4d6
mov rax, qword [0x14010e128]
lea rcx, [0x14008d470]
cmp rax, rcx
jne 0x14005e287
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x14011d660]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x14005ea12
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x290]
xor edx, edx
cmp rdi, rax
setns dl
add rdx, rbx
mov rcx, rdi
sub rcx, rax
cmovo rcx, rdx
jg 0x14005c1de
xor r12d, r12d
jmp 0x14005c241
xor edi, edi
jmp 0x14005bcf9
movzx ecx, al
lea rax, str.WorkerThread_active
mov qword [rsp + 0x320], rax
lea rax, [0x1400efe90]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x290]
lea r8, [rsp + 0x320]
mov r9d, 2
call fcn.140004950
jmp 0x14005be78
movzx ecx, al
mov rax, qword [0x14011bb98]
xor rax, rbp
mov qword [rsp + 0x320], rax
lea rax, str.WorkerThread_active
mov qword [rsp + 0x290], rax
lea rax, [rsp + 0x320]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x290]
mov r9d, 1
call fcn.140068a10
jmp 0x14005c27c
mov rax, qword [r13 + 0x10]
mov eax, dword [rax]
test al, 1
je 0x14005c7a7
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
lea rdx, [rsp + 0x120]
mov qword [rdx], rax
lea rcx, [rsp + 0x398]
call fcn.1400c0690
cmp byte [rsp + 0x3a0], 0
jne 0x14005c7a7
int3
mov rcx, qword [r14]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14005c25d
mov eax, dword [0x14011a6f8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x150]
cmp rdi, 2
jb 0x14005dad6
mov byte [rdi + 4], 0
mov ebx, pe_nt_image_headers64
lea rdx, [rdi + rbx]
mov rcx, rdi
xor r8d, r8d
call fcn.1400756c0
add rbx, 0x10
cmp rbx, 0x4f8
jne 0x14005daba
mov rax, qword [rsp + 0x130]
cmp rax, r15
movabs r8, 0x7fffffffffffffff
jle 0x14005c25d
setns cl
movzx ecx, cl
add rcx, r8
mov rdx, rax
sub rdx, r15
cmovo rdx, rcx
cmp rax, r8
cmove rdx, r8
lea rax, [r8 + r15]
add rax, 2
cmp rax, 2
cmovb rdx, r8
mov rcx, rsi
call fcn.1400622b0
jmp 0x14005c25d
mov rcx, rsi
call fcn.140005bc0
jmp 0x14005c262
lea rcx, [rsi - 0x40]
call qword [0x140102bb8]
mov rcx, rbx
test al, al
je 0x14005bf17
mov rax, qword [rsi - 0x18]
cvtsi2sd xmm0, qword [rax + 0x30]
mulsd xmm0, xmm7
ucomisd xmm8, xmm0
jb 0x14005ea32
maxsd xmm0, xmm9
cvttsd2si rcx, xmm0
jmp 0x14005bf17
mov rcx, rsi
call qword [0x140102bb8]
jmp 0x14005c71b
mov rcx, rsi
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005be02
mov rcx, rsi
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005c2de
mov rcx, qword [rsi + 0x28]
mov rax, qword [0x14010e5a0]
and rax, rcx
cmp rax, qword [0x14010e588]
jne 0x14005dbb8
call fcn.140053ce0
mov rcx, rsi
call fcn.14008ed54
jmp 0x14005c71b
mov ebx, 1
lock xadd dword [0x1401236e4], ebx
mov dword [r15], ebx
jmp 0x14005c89a
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x140102bb8]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [0x140102bb8]
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x14005ea68
mov rsi, qword [rbp + 0x10]
mov qword [rbp + 0x10], 0
test rsi, rsi
jne 0x14005e0f5
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14011d67a]
test al, al
mov rsi, qword [rsp + 0x78]
jne 0x14005ea7a
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14011d67a]
test al, al
jne 0x14005eac0
mov ecx, dword [0x14010e13c]
test ecx, ecx
jne 0x14005ea08
test rsi, rsi
je 0x14005dc8e
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x140102bb8]
lock dec dword [rsi]
jne 0x14005dc8e
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x140102bb8]
mov rcx, qword [rsp + 0x3a8]
xor rcx, rsp
call fcn.1400909a0
movaps xmm6, xmmword [rsp + 0x3b0]
movaps xmm7, xmmword [rsp + 0x3c0]
movaps xmm8, xmmword [rsp + 0x3d0]
movaps xmm9, xmmword [rsp + 0x3e0]
movaps xmm10, xmmword [rsp + 0x3f0]
movaps xmm11, xmmword [rsp + 0x400]
add rsp, 0x418
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbp
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005b8e4
mov rcx, rdi
call fcn.1400bf920
mov rcx, rdi
call fcn.14008ed54
jmp 0x14005b567
lea rcx, [0x140123690]
call fcn.14008ee04
cmp dword [0x140123690], 0xffffffff
jne 0x14005c003
mov rax, qword [rsp + 0x290]
mov qword [0x140123688], rax
lea rcx, [0x140123690]
call fcn.14008ed98
jmp 0x14005c003
mov rcx, rax
mov qword [rsp + 0xc0], rax
call fcn.1400bf920
mov rcx, qword [rsp + 0xc0]
call fcn.14008ed54
jmp 0x14005ccd2
mov rax, qword [rbx + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14005b58b
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
lea rdx, [rbx + 0x50]
mov rcx, rsi
call fcn.14005ab90
mov rcx, qword [rbx + 0x58]
call fcn.14007e530
mov rcx, rsi
call fcn.14005aab0
jmp 0x14005b58b
lea rcx, [0x140123680]
call fcn.14008ee04
cmp dword [0x140123680], 0xffffffff
jne 0x14005bf58
lea rcx, str.DelayFirstWorkerWake
call fcn.1400620b0
mov byte [0x14012367c], al
lea rcx, [0x140123680]
call fcn.14008ed98
jmp 0x14005bf58
call fcn.14008ed54
jmp 0x14005b555
call fcn.14008ed54
jmp 0x14005ccc0
mov rcx, r14
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005d3fe
lea rcx, [0x140120270]
call fcn.14008ee04
cmp dword [0x140120270], 0xffffffff
jne 0x14005d254
mov rcx, qword [0x14011d648]
test rcx, rcx
je 0x14005de40
lea rdx, str.enable_background_thread_pool
call fcn.14000e690
mov byte [0x14012026c], 1
lea rcx, [0x140120270]
call fcn.14008ed98
jmp 0x14005d254
mov rcx, rsi
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005d735
mov ecx, r8d
or cl, 0x80
mov byte [rax], cl
mov ecx, r8d
shr ecx, 7
or cl, 0x80
mov byte [rax + 1], cl
mov ecx, r8d
shr ecx, 0xe
or cl, 0x80
mov byte [rax + 2], cl
shr r8d, 0x15
mov byte [rax + 3], r8b
mov al, 1
jmp 0x14005cf4e
mov ebx, dword [0x14010e13c]
and ebx, ebp
test ebx, r9d
je 0x14005deab
mov cl, byte [r8 + rax]
test cl, 1
jne 0x14005deb2
mov ebp, ebx
jmp 0x14005d0a2
add r8, rax
lea rcx, [0x14010e130]
mov rdx, rsi
mov r9d, edi
call fcn.14000e3d0
mov ebp, ebx
jmp 0x14005cf76
mov rax, qword [0x14010ce18]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140102bb8]
lea rcx, [rax + 0x6218]
lea rdx, [0x14010e130]
mov qword [rax + 0x6218], rdx
mov qword [rax + 0x6220], rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
mov ebp, dword [0x14010e13c]
and ebp, esi
je 0x14005be86
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
jmp 0x14005cdc3
mov rcx, rdi
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005b5c5
mov rcx, rdi
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005b625
mov rcx, r14
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005d82d
mov rcx, r14
call qword [sym.imp.progwrp.dll_AcquireSRWLockExclusive]
jmp 0x14005d88e
mov esi, 3
jmp 0x14005bbd6
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x14005d422
lea rcx, [rsp + 0x190]
call qword [0x140102bb8]
jmp 0x14005c1bf
xor eax, eax
jmp 0x14005c0ce
mov eax, dword [0x14010e13c]
test al, al
jns 0x14005d0b5
mov cl, byte [0x14010e4c0]
test cl, 1
je 0x14005d0b5
and ebp, eax
lea r8, [0x14010e4c0]
jmp 0x14005e08c
mov ecx, dword [0x14010e13c]
and ebp, ecx
test cl, 0x20
je 0x14005ce23
mov cl, byte [0x14010e3c0]
test cl, 1
je 0x14005ce23
lea r8, [0x14010e3c0]
jmp 0x14005e08c
mov ecx, dword [0x14010e13c]
and ebp, ecx
test cl, 0x10
je 0x14005ce19
mov cl, byte [0x14010e340]
test cl, 1
je 0x14005ce19
lea r8, [0x14010e340]
jmp 0x14005e08c
mov ecx, dword [0x14010e13c]
and ebp, ecx
test cl, 4
je 0x14005ce09
mov cl, byte [0x14010e240]
test cl, 1
je 0x14005ce09
lea r8, [0x14010e240]
jmp 0x14005e08c
mov ecx, dword [0x14010e13c]
and ebp, ecx
test cl, 2
je 0x14005ce03
mov cl, byte [0x14010e1c0]
test cl, 1
je 0x14005ce03
lea r8, [0x14010e1c0]
jmp 0x14005e08c
mov ecx, dword [0x14010e13c]
and ebp, ecx
test cl, 1
je 0x14005cdfd
mov cl, byte [0x14010e140]
test cl, 1
je 0x14005cdfd
lea r8, [0x14010e140]
xor edi, edi
lea rcx, [0x14010e130]
mov rdx, rsi
mov r9d, edi
call fcn.14000e3d0
jmp 0x14005cf76
mov ecx, dword [0x14010e13c]
and ebp, ecx
test cl, 8
je 0x14005ce0f
mov cl, byte [0x14010e2c0]
test cl, 1
je 0x14005ce0f
lea r8, [0x14010e2c0]
jmp 0x14005e08c
mov ecx, dword [0x14010e13c]
and ebp, ecx
test cl, 0x40
je 0x14005ce2d
mov cl, byte [0x14010e440]
test cl, 1
je 0x14005ce2d
lea r8, [0x14010e440]
jmp 0x14005e08c
lock dec dword [rsi + 8]
jne 0x14005dc23
mov rcx, rsi
call fcn.1400bf6d0
mov rcx, rsi
call fcn.14008ed54
jmp 0x14005dc23
lea rcx, [rsp + 0x290]
call qword [0x140102bb8]
jmp 0x14005bfde
mov eax, 0x3938700
add rax, qword [rdi + 0x1f0]
movabs rbp, 0x7fffffffffffffff
cmovo rax, rbp
cmp rax, rdx
jle 0x14005eb4f
mov rax, qword [rdi + 0x1f0]
xor edx, edx
cmp r13, rax
setns dl
add rdx, rbp
mov rcx, r13
sub rcx, rax
cmovo rcx, rdx
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
add rdx, 2
cmp rdx, 2
jb 0x14005eb36
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x1400f2008]
call fcn.1400bc608
movsd xmm11, qword [0x1400f6f40]
ucomisd xmm11, xmm0
jb 0x14005eb06
maxsd xmm0, qword [0x1400f6f48]
cvttsd2si ebp, xmm0
movabs rax, 0x7fffffffffffffff
add rax, rbx
add rax, 2
cmp rax, 2
jae 0x14005e1d4
movsd xmm0, qword [0x1400f6f50]
jmp 0x14005e1e4
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
divsd xmm0, qword [0x1400f2008]
call fcn.1400bc6b8
ucomisd xmm11, xmm0
jb 0x14005eb1d
maxsd xmm0, qword [0x1400f6f48]
cvttsd2si r8d, xmm0
mov rcx, rdi
mov edx, ebp
call fcn.140003610
mov rbp, qword [rsp + 0x38]
jmp 0x14005d545
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14005be11
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14005c2ed
lea rsi, [rsp + 0x290]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
lea rdx, [r13 + 0x50]
mov rcx, rsi
call fcn.14005ab90
mov rcx, qword [r13 + 0x58]
call fcn.14007e530
mov rcx, rsi
call fcn.14005aab0
jmp 0x14005b8a0
mov ecx, esi
call fcn.140005f30
mov dword [rbp + 0x54], esi
jmp 0x14005bbdf
lea rcx, [rsp + 0x290]
call qword [0x140102bb8]
jmp 0x14005d965
lea rcx, [rsp + 0x190]
call qword [0x140102bb8]
jmp 0x14005d513
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14005d744
mov rdx, qword [0x140120148]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x14005badf
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
add rdx, 0xd8
mov rcx, rsi
call fcn.14005ab90
mov rcx, rsi
call fcn.14005aab0
jmp 0x14005badf
mov rdx, qword [0x140120148]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x14005bd2e
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
add rdx, 0xd8
mov rcx, rsi
call fcn.14005ab90
mov rcx, rsi
call fcn.14005aab0
jmp 0x14005bd2e
lea rdi, [rsp + 0x290]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
lea rdx, [r12 + 0x50]
mov rcx, rdi
call fcn.14005ab90
mov rcx, qword [r12 + 0x58]
call fcn.14007e530
mov rcx, rdi
call fcn.14005aab0
jmp 0x14005d7d8
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
call fcn.1400540d0
jmp 0x14005ba75
call fcn.1400540d0
jmp 0x14005bc2e
call fcn.1400540d0
jmp 0x14005bc7b
mov rcx, rbx
call fcn.1400540d0
jmp 0x14005ba0f
call fcn.140072e20
jmp 0x14005ca78
call fcn.140072e20
jmp 0x14005cae0
lock dec dword [rcx + 8]
jne 0x14005ba56
mov edx, 1
call fcn.1400586f0
jmp 0x14005ba56
lock dec dword [rcx + 8]
jne 0x14005bc9d
mov edx, 1
call fcn.1400586f0
jmp 0x14005bc9d
call fcn.1400bfef0
jmp 0x14005e43e
mov rcx, r13
call fcn.1400e14d0
xor edi, edi
jmp 0x14005c429
mov esi, 3
jmp 0x14005c368
call fcn.1400540d0
jmp 0x14005bcd9
mov rcx, rbp
call qword [0x140102bb8]
mov rcx, rax
jmp 0x14005bb86
lock dec dword [r8 + 8]
jne 0x14005ba3d
mov rcx, r8
mov edx, 1
call fcn.1400586f0
jmp 0x14005ba3d
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x14005ba20
mov qword [rsp + 0xf0], 0
lea rsi, [rsp + 0x320]
mov rdx, rsi
call fcn.140016a80
mov r8, qword [rsi]
jmp 0x14005ba34
mov rcx, rbp
call qword [0x140102bb8]
jmp 0x14005bdc6
mov rcx, rbp
call qword [0x140102bb8]
jmp 0x14005c2a2
lea rcx, [rsp + 0x100]
call fcn.1400687c0
jmp 0x14005c32f
lock dec dword [rcx + 8]
jne 0x14005bcf6
mov edx, 1
call fcn.1400586f0
jmp 0x14005bcf6
lea rdx, [rsp + 0x190]
lea r9, [rsp + 0x128]
mov rcx, r13
mov r8, r14
call qword [0x140102bb8]
mov edi, dword [rsp + 0x48]
jmp 0x14005b87a
mov rcx, rbp
call qword [0x140102bb8]
mov rsi, rax
jmp 0x14005beb5
mov ecx, esi
call fcn.140005f30
mov dword [rbp + 0x54], esi
jmp 0x14005c371
mov rcx, rbp
call qword [0x140102bb8]
mov rcx, rax
jmp 0x14005c395
lea rsi, [rsp + 0x100]
mov rcx, rsi
call fcn.1400687c0
mov byte [rsi + 0x18], 0
jmp 0x14005be94
mov rax, qword [r14]
mov rax, qword [rax + 0x58]
lea rsi, [rsp + 0x290]
lea r8, [rsp + 0x170]
mov rcx, r14
mov rdx, rsi
call qword [0x140102bb8]
mov al, byte [rsi + 0x80]
mov edi, dword [rsp + 0x48]
jmp 0x14005c63d
lea rcx, [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
call fcn.1400dd6f0
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14005e5dc
cmp byte [rsp + 0x110], 0
je 0x14005bb03
cmp qword [rdi + 0x18], 0
jne 0x14005e5a4
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
mov rbp, qword [rsp + 0x38]
mov r15, qword [rsp + 0x50]
jmp 0x14005bb03
lea rcx, [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
call fcn.1400dd6f0
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14005baf4
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.1400dd6f0
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14005bb16
lea rcx, [rbx + r9]
add rcx, 2
mov r15, rbx
cmp rcx, 1
ja 0x14005c0e5
mov r15, rbx
cmp r9, rax
je 0x14005c0e5
int3
lea rax, [rbx + r8]
add rax, 2
lea r9, [rbx + 1]
cmp rax, 1
jbe 0x14005e695
mov rbp, qword [rsp + 0x38]
movabs rbx, 0x7fffffffffffffff
mov r12, qword [rsp + 0x60]
jmp 0x14005c04e
cmp r8, r15
mov rbp, qword [rsp + 0x38]
movabs rbx, 0x7fffffffffffffff
mov r12, qword [rsp + 0x60]
je 0x14005c04e
int3
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005bfd6
call qword [0x140102bb8]
jmp 0x14005cfa5
call fcn.1400540d0
jmp 0x14005d592
lea rcx, [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
call fcn.1400dd6f0
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14005e722
cmp byte [rsp + 0x110], 0
je 0x14005bd52
cmp qword [rbx + 0x18], 0
jne 0x14005e6ea
movabs rax, 0x4000000000000000
lock or qword [rbx + 0x10], rax
mov rbp, qword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
jmp 0x14005bd52
call qword [0x140102bb8]
jmp 0x14005d045
lea rcx, [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
call fcn.1400dd6f0
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14005bd43
lea rcx, [rbx + 0x18]
mov r14, qword [rbx + 0x10]
call fcn.1400dd6f0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14005bd65
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005c1b7
lea rdx, [rsp + 0x320]
call qword [0x140102bb8]
jmp 0x14005cfd6
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x140102bb8]
jmp 0x14005cdf4
lea rdi, [rsp + 0x320]
mov rcx, rdi
call fcn.140077360
mov byte [rdi + 0x40], 0
jmp 0x14005d13b
int3
int3
mov rcx, qword [rsi]
lea rax, [fcn.1400c0da0]
lea rdx, [rsp + 0x320]
mov qword [rdx + 0x18], rax
lea rax, [0x1400efe18]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x140102bb8]
jmp 0x14005d058
mov rcx, rdi
call fcn.14000e5d0
mov rcx, rdi
call fcn.14008ed54
jmp 0x14005d55b
cmp r13, r12
jb 0x14005e3a9
mov r14, qword [rdi + r12*8]
test r14, r14
je 0x14005e3ac
mov qword [rdi + r12*8], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [0x140102bb8]
lock dec dword [r14]
jne 0x14005e886
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [0x140102bb8]
inc r12
xor eax, eax
cmp r12, r13
cmove r12, rax
cmp r12, rbx
jne 0x14005e848
cmp rbx, r15
jbe 0x14005ec07
cmp r13, rbx
jb 0x14005e3af
cmp r15, rbx
jg 0x14005e3b2
shl rbx, 3
shl r15, 3
mov rcx, qword [rdi + r15]
test rcx, rcx
jne 0x14005e8d7
add r15, 8
cmp rbx, r15
mov rbp, qword [rsp + 0x38]
je 0x14005d8de
jmp 0x14005e8ba
lock dec dword [rcx]
jne 0x14005e8c3
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
jmp 0x14005e8c3
cmp qword [rsp + 0x48], rdi
jb 0x14005e3a6
mov rax, qword [rbp + rdi*8]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14005e391
mov qword [rbp + rdi*8], 0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 8]
call qword [0x140102bb8]
mov rax, qword [rsp + 0x68]
lock dec dword [rax]
jne 0x14005e937
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
inc rdi
xor eax, eax
cmp rdi, qword [rsp + 0x48]
cmove rdi, rax
cmp rdi, rbx
jne 0x14005e8e8
cmp rbx, r12
jbe 0x14005eb8a
cmp qword [rsp + 0x48], rbx
jb 0x14005e394
cmp r12, rbx
jg 0x14005e397
shl rbx, 3
shl r12, 3
mov rcx, qword [rbp + r12]
test rcx, rcx
jne 0x14005e988
add r12, 8
cmp rbx, r12
je 0x14005b67a
jmp 0x14005e96f
lock dec dword [rcx]
jne 0x14005e979
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
jmp 0x14005e979
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005d50b
dec qword [rax + 0x118]
mov rcx, qword [rax + 0x80]
cmp rcx, qword [rax + 0x88]
je 0x14005e9e0
mov rdx, qword [rax + 0x120]
cmp rdx, qword [rax + 0x110]
jae 0x14005e9f3
mov word [rax + 0xb8], 0
mov rbp, qword [rsp + 0x38]
jmp 0x14005d449
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
mov rbp, qword [rsp + 0x38]
jmp 0x14005d449
call fcn.1400e5150
jmp 0x14005dc6a
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005d95d
xor ecx, ecx
ucomisd xmm0, qword [0x1400f7eb0]
cmovae rcx, rbx
jmp 0x14005bf17
mov qword [rsp + 0x320], 0
jmp 0x14005b39e
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140102bb8]
jmp 0x14005b32e
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140102bb8]
jmp 0x14005dc0e
movzx ecx, al
lea r8, [rsp + 0x320]
lea rax, str.WorkerThread_active
mov qword [r8], rax
lea rax, [0x1400efe90]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x290]
mov r9d, 2
call fcn.140004950
jmp 0x14005dc42
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400efe90]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x290]
mov r9d, 3
call fcn.140004950
jmp 0x14005dc5c
xor eax, eax
ucomisd xmm0, qword [0x1400f6f48]
mov ebp, 0x7fffffff
cmovb ebp, eax
jmp 0x14005e1b3
xor eax, eax
ucomisd xmm0, qword [0x1400f6f48]
mov r8d, 0x7fffffff
cmovb r8d, eax
jmp 0x14005e201
xor ecx, ecx
cmp rax, r13
setg cl
lea rax, [0x1400f6f30]
movsd xmm0, qword [rax + rcx*8]
jmp 0x14005e186
lea r14, [rsp + 0x290]
mov rcx, r14
call fcn.1400229f0
mov r14, qword [r14]
test r14, r14
je 0x14005e14a
lock dec dword [r14]
jne 0x14005e14a
mov rcx, r14
call fcn.14000e5d0
mov rcx, r14
call fcn.14008ed54
jmp 0x14005e14a
cmp qword [rsp + 0x48], r12
jb 0x14005e39a
jl 0x14005e39d
je 0x14005ebcb
shl qword [rsp + 0x48], 3
shl r12, 3
mov rcx, qword [rbp + r12]
test rcx, rcx
je 0x14005ebc0
lock dec dword [rcx]
jne 0x14005ebc0
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
add r12, 8
cmp qword [rsp + 0x48], r12
jne 0x14005eba7
test rbx, rbx
js 0x14005e3a0
je 0x14005b67a
shl rbx, 3
xor edi, edi
mov rcx, qword [rbp + rdi]
test rcx, rcx
je 0x14005ebf9
lock dec dword [rcx]
jne 0x14005ebf9
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
add rdi, 8
cmp rbx, rdi
jne 0x14005ebe0
jmp 0x14005b67a
cmp r13, r15
jb 0x14005e3b5
jl 0x14005e3b8
je 0x14005ec41
shl r13, 3
shl r15, 3
mov rcx, qword [rdi + r15]
test rcx, rcx
je 0x14005ec38
lock dec dword [rcx]
jne 0x14005ec38
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
add r15, 8
cmp r13, r15
jne 0x14005ec20
test rbx, rbx
js 0x14005e3bb
mov rbp, qword [rsp + 0x38]
je 0x14005d8de
shl rbx, 3
xor r14d, r14d
mov rcx, qword [rdi + r14]
test rcx, rcx
je 0x14005ec74
lock dec dword [rcx]
jne 0x14005ec74
mov rax, qword [rcx + 0x10]
call qword [0x140102bb8]
add r14, 8
cmp rbx, r14
mov rbp, qword [rsp + 0x38]
jne 0x14005ec5c
jmp 0x14005d8de