Function at 0x14005df60
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 [0x140113040]
xor rax, rsp
mov qword [rsp + 0x3a8], rax
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14012460a]
test al, al
jne 0x14005e187
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14012460a]
test al, al
jne 0x14005e1cd
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x140061726
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x140109830]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [0x140109830]
mov eax, dword [0x1401249e8]
test eax, eax
je 0x14005e179
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14005e04b
cmp dword [rbp + 0x50], 0
je 0x14005e179
mov rcx, qword [0x1401249e0]
test rcx, rcx
je 0x140061715
lea rdx, [rsp + 0x320]
mov r8d, 2
call fcn.140019240
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x78], rax
mov al, 1
mov qword [rsp + 0x70], rax
movabs rbx, 0x7fffffffffffffff
mov eax, dword [0x140121718]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov qword [rsp + 0x58], rcx
lea rcx, [rax + 0x168]
mov qword [rsp + 0xc8], rcx
lea rcx, [rax + 0x170]
mov qword [rsp + 0x90], rcx
lea rcx, [rax + 0x180]
mov qword [rsp + 0x80], rcx
lea rcx, [rax + 0x190]
mov qword [rsp + 0x98], rcx
lea r12, [rax + 0x198]
lea r15, [rax + 0x194]
lea rcx, [rax + 0x19c]
mov qword [rsp + 0xb8], rcx
lea rcx, [rax + 0x178]
mov qword [rsp + 0xb0], rcx
lea rcx, [rax + 0x148]
mov qword [rsp + 0xa0], rcx
lea rcx, [rax + 0x130]
mov qword [rsp + 0xd0], rcx
lea rax, [rax + 0x150]
mov qword [rsp + 0xa8], rax
movaps xmm6, xmmword [0x1400f2c30]
movsd xmm7, qword [0x1400fde80]
movsd xmm8, qword [0x1400fd950]
movsd xmm9, qword [0x1400fd958]
xorps xmm10, xmm10
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x38], rbp
jmp 0x14005ea70
xor eax, eax
mov qword [rsp + 0x78], rax
xor eax, eax
jmp 0x14005e07d
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400f5930]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x290]
mov r9d, 3
call fcn.140004b50
jmp 0x14005dfd7
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400f5930]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0x290]
mov r9d, 1
call fcn.140004b50
jmp 0x14005dff1
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14005e225
lock dec dword [rcx]
je 0x140060abd
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x14005e237
lock dec dword [rdi]
je 0x1400609c4
mov rcx, rsi
call fcn.1400914a4
jmp 0x14005e637
test rbx, rbx
je 0x14005e35a
mov al, byte [r14 + 0xd]
and al, 0x7f
cmp al, 2
je 0x140060a34
lock dec dword [rbx + 0x18]
jne 0x14005e35a
lea rdi, [rbx + 0x20]
mov rax, qword [0x1401155a0]
and rax, rdi
cmp rax, qword [0x140115588]
jne 0x14005e284
mov rcx, rdi
call fcn.1400566f0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060bf5
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, rdi
mov rcx, qword [0x140115588]
cmp rax, rcx
jne 0x14005e2d7
mov rcx, rdi
call fcn.1400569b0
mov rcx, qword [0x140115588]
mov rax, qword [0x1401155a0]
and rax, rdi
cmp rax, rcx
jne 0x14005e2e4
mov rcx, rdi
call fcn.1400566f0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060c03
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.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, rdi
cmp rax, qword [0x140115588]
jne 0x14005e33e
mov rcx, rdi
call fcn.1400569b0
mov rdi, r12
cmp r12, rbx
jne 0x1400615b8
mov rcx, rbp
call fcn.14006af50
mov rbp, qword [rsp + 0x38]
mov rbx, rsi
lock dec dword [r14 + 8]
jne 0x14005e6c8
mov rcx, r14
mov edx, 1
call fcn.14005b3c0
jmp 0x14005e6c8
lock dec dword [rcx]
jne 0x14005e386
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x14005e6bf
lock dec dword [rcx]
jne 0x14005e6bf
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
jmp 0x14005e6bf
lock dec dword [rcx]
jne 0x14005e3be
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x14005e54a
lock dec dword [rcx]
jne 0x14005e54a
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
jmp 0x14005e54a
call fcn.140056da0
jmp 0x14005e501
lea rcx, [r12 - 0x10]
call qword [0x140109830]
add r12, 0xffffffffffffffe8
cmp r12, rsi
je 0x14005e459
mov rax, qword [r12 - 8]
test rax, rax
jne 0x14005e400
jmp 0x14005e40b
mov rcx, rbp
call fcn.140056850
test rbp, rbp
je 0x14005e5b4
jmp 0x14005e5a3
mov rcx, r14
xor edx, edx
call qword [0x140109830]
test al, al
je 0x14005e68d
mov r13, r14
mov r15, rbx
xor ebx, ebx
xor r14d, r14d
jmp 0x14005e693
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x158], rsi
call fcn.1400914a4
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 0x14005e4ad
mov rax, qword [rsp + 0x98]
dec dword [rax]
mov rcx, qword [rsp + 0x188]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
mov rbx, qword [rsp + 0x68]
mov edi, dword [rsp + 0x48]
jne 0x14005e4d6
call fcn.140056da0
mov qword [rsp + 0x188], 0
mov rcx, qword [rsp + 0x180]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
je 0x14005e3e7
mov qword [rsp + 0x180], 0
mov rcx, qword [rsp + 0x178]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
jne 0x14005e52d
call fcn.140056da0
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x208], 0
test rcx, rcx
jne 0x14005e3af
test dil, dil
je 0x14005e570
movzx eax, byte [r14 + 0xd]
and al, 0x7f
cmp al, 1
jne 0x14005e570
mov rax, qword [r13 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
je 0x140060f11
mov rax, qword [r14]
mov rax, qword [rax + 0x48]
lea rcx, [0x1400556a0]
cmp rax, rcx
jne 0x14005e436
mov rax, qword [0x1401155a0]
and rax, rbp
cmp rax, qword [0x140115588]
je 0x14005e420
test rbp, rbp
je 0x14005e5b4
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400609b6
mov rax, qword [0x1401155a0]
and rax, rbp
cmp rax, qword [0x140115588]
jne 0x14005e5cf
mov rcx, rbp
call fcn.140056850
mov byte [r14 + 0x98], 0
mov rax, qword [r14 + 0x58]
mov sil, 1
cmp rax, qword [r14 + 0x60]
jne 0x14005e640
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
jne 0x14005e640
mov byte [r14 + 0x99], 0
mov rsi, qword [r14 + 0x40]
test rsi, rsi
je 0x14005e637
lock dec dword [rsi + 8]
jne 0x14005e637
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1400dde70]
cmp qword [rcx + 0x10], rdx
jne 0x14005e629
lea rcx, [0x1400e7bd0]
cmp rax, rcx
je 0x14005e213
mov rcx, rsi
mov edx, 1
call qword [0x140109830]
xor esi, esi
nop dword [rax]
mov rax, qword [0x1401155a0]
and rax, rbp
cmp rax, qword [0x140115588]
jne 0x14005e65b
mov rcx, rbp
call fcn.140056da0
test rbp, rbp
je 0x14005e669
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, rbp
cmp rax, qword [0x140115588]
jne 0x14005e684
mov rcx, rbp
call fcn.140056da0
test sil, sil
jne 0x14005e449
xor r13d, r13d
xor r15d, r15d
mov rbp, qword [rsp + 0x38]
cmp byte [rsp + 0x3a0], 0
je 0x14005e6bf
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
test rcx, rcx
jne 0x14005e377
test r14, r14
jne 0x14005e244
mov rax, qword [0x1401155a0]
and rax, rbx
cmp rax, qword [0x140115588]
je 0x1400610ac
mov r8, qword [rsp + 0xf0]
test r8, r8
jne 0x140061157
mov qword [rsp + 0x320], r8
mov qword [rsp + 0xf0], 0
test r8, r8
jne 0x14006113a
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], r13
test rcx, rcx
jne 0x1400610cd
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
je 0x14006108e
mov qword [rsp + 0xf8], r15
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x190], rax
lea rcx, [rsp + 0x190]
call fcn.1400566e0
cmp byte [rsp + 0x70], 0
mov r15, qword [rsp + 0x50]
je 0x14005e832
cmp byte [rsp + 0x118], 0
je 0x14005e80e
cmp byte [rsp + 0x100], 0
je 0x14005e80e
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rax]
test rdi, rdi
je 0x14005e80e
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x140060f93
cmp dword [rdi + 0x24], 1
jne 0x140061297
cmp qword [rdi + 0x18], 0
jne 0x1400612ca
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rsi, qword [rsp + 0x108]
cmp qword [rdi + 0x18], 0
jne 0x1400612f0
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, [0x140061960]
cmp rax, rcx
jne 0x140061129
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 [0x140109830]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140060c2d
mov esi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], esi
jne 0x140060f48
cmp qword [rsp + 0xf0], 0
jne 0x140061073
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 [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
je 0x140061098
mov qword [rsp + 0xf8], rsi
mov rsi, qword [rsp + 0x320]
test rsi, rsi
jne 0x140060482
mov qword [rsp + 0x320], 0
test rsi, rsi
jne 0x1400604b0
mov rcx, qword [rsp + 0x328]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
je 0x1400610a2
mov qword [rsp + 0x328], 0
mov rcx, qword [rsp + 0x320]
test rcx, rcx
mov r12, qword [rsp + 0x60]
jne 0x1400610e6
mov rax, qword [rsp + 0xf0]
test rax, rax
jne 0x14005f08e
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
je 0x14006111f
mov qword [rsp + 0xf8], 0
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
jne 0x1400611ba
mov dil, 1
cmp byte [rsp + 0x118], 0
je 0x14005ea5d
cmp byte [rsp + 0x100], 0
je 0x14005ea5d
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rax]
test rbx, rbx
je 0x14005ea5d
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x140060fd9
cmp dword [rbx + 0x24], 1
jne 0x1400613dd
cmp qword [rbx + 0x18], 0
jne 0x140061420
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov rsi, qword [rsp + 0x108]
cmp qword [rbx + 0x18], 0
jne 0x140061446
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 0x1400608aa
mov al, byte [rbp + 0x30]
test al, al
jne 0x1400608aa
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x140061d40]
cmp rax, rcx
jne 0x14006118c
mov al, byte [rbp + 0x70]
test al, al
jne 0x1400608aa
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x1401155a0]
and rax, rsi
cmp rax, qword [0x140115588]
jne 0x14005eac1
mov rcx, rsi
call fcn.1400566f0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060850
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x140060ee5
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, rsi
cmp rax, qword [0x140115588]
jne 0x14005eb05
mov rcx, rsi
call fcn.1400569b0
test dil, dil
jne 0x1400608aa
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 [0x14012460a]
test al, al
jne 0x140060667
mov esi, dword [0x1401150e4]
test esi, esi
jne 0x14005fa80
cmp byte [rsp + 0x118], 0
jne 0x140061229
mov rbp, qword [rsp + 0x38]
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x140061960]
cmp rax, rcx
jne 0x1400611f8
mov rsi, qword [rbp + 0x68]
mov rax, qword [rsi]
lea rcx, [fcn.140005f40]
cmp qword [rax + 0x30], rcx
jne 0x1400607f8
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
mov rax, qword [rsi]
mov rax, qword [rax + 0x28]
lea rcx, [0x1400654d0]
cmp rax, rcx
jne 0x14005ffb0
mov rax, qword [rsi - 0x40]
mov rax, qword [rax + 0x20]
lea rcx, [0x1400e9110]
cmp rax, rcx
jne 0x140060805
cmp byte [rsi + 0x18], 0
mov rcx, rbx
jne 0x14006081a
mov qword [rsp + 0x130], rcx
mov r15, qword [rsp + 0x130]
mov eax, 0xf4240
cmp r15, rax
cmovge r15, rax
mov eax, dword [0x14012ac9c]
mov ecx, dword [0x140121718]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140060a81
cmp byte [0x14012ac98], 0
je 0x14005edc7
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x290], rax
mov rax, qword [fcn.1400756c0]
lea rcx, [0x14008fa40]
cmp rax, rcx
jne 0x140060de4
mov qword [rsp + 0x320], 0
lea rcx, [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x320]
mov rcx, qword [0x140124770]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x140061385
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x290], rax
mov eax, dword [0x14012aca8]
mov ecx, dword [0x140121718]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400609d9
mov rax, qword [0x14012aca0]
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 0x14006133a
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 0x14005ed78
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 0x140060c5a
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 0x140061316
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 0x14006074e
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 0x14005fddc
cmp r15, rbx
je 0x14005fa09
mov rax, qword [0x140115510]
lea rcx, [0x14008fa40]
cmp rax, rcx
jne 0x140060c47
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x140124770]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x14006146c
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 0x14005f9ff
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 0x1400605ce
mov r12b, 1
cmp byte [rsi + 0x10], 0
je 0x14006034a
cmp byte [rsp + 0x360], 0
jne 0x14006002e
test r12b, r12b
mov r12, qword [rsp + 0x60]
je 0x140060761
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x190], 0xa
mov al, byte [0x14012460a]
test al, al
jne 0x1400606b2
mov al, byte [rbp + 0x30]
test al, al
jne 0x140060660
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x140061d40]
cmp rax, rcx
jne 0x14006119a
mov al, byte [rbp + 0x70]
test al, al
jne 0x140060660
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x1401155a0]
and rax, rsi
cmp rax, qword [0x140115588]
jne 0x14005ef9d
mov rcx, rsi
call fcn.1400566f0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006085e
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x140060efb
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, rsi
cmp rax, qword [0x140115588]
jne 0x14005efe1
mov rcx, rsi
call fcn.1400569b0
test dil, dil
jne 0x140060660
cmp byte [rsp + 0x70], 0
je 0x14005f023
cmp byte [rsp + 0x118], 0
jne 0x1400611a8
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 0x140061115
mov esi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], esi
jne 0x140061209
movaps xmmword [rsp + 0xf0], xmm6
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x140061960]
cmp rax, rcx
jne 0x140061218
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0xf0]
mov r8, rbp
call qword [0x140109830]
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x1400603ad
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0xe8]
call fcn.1400566e0
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 0x14005fa11
mov rax, qword [r13 + 0x10]
mov ecx, 2
lock xadd dword [rax], ecx
test cl, 1
jne 0x140061106
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 [0x1401155a0]
and rax, r14
cmp rax, qword [0x140115588]
jne 0x14005f189
mov rcx, r14
call fcn.140056850
mov qword [rsp + 0x170], r14
lea rbp, [r14 + 0x18]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400605c0
test dil, dil
mov dword [rsp + 0x48], edi
je 0x140061242
mov rax, qword [r14]
mov rax, qword [rax + 0x40]
lea rcx, [0x140055570]
cmp rax, rcx
jne 0x14005f26e
mov rax, qword [0x1401155a0]
and rax, rbp
cmp rax, qword [0x140115588]
jne 0x14005f1e5
mov rcx, rbp
call fcn.140056850
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.140061b00
mov rax, qword [r14 + 0x58]
cmp rax, qword [r14 + 0x60]
jne 0x14005f249
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
je 0x14005f251
mov rcx, r14
call fcn.140061970
mov rax, qword [0x1401155a0]
and rax, rbp
cmp rax, qword [0x140115588]
jne 0x14005f287
mov rcx, rbp
call fcn.140056da0
jmp 0x14005f287
mov rcx, r14
lea rdx, [rsp + 0x210]
lea r8, [rsp + 0x170]
call qword [0x140109830]
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 0x14005f3be
test cl, cl
je 0x14005f412
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 0x14005f3eb
lock dec dword [rsi]
jne 0x14005f3eb
mov rax, qword [rsi + 0x10]
lea rcx, [0x1400e1800]
cmp rax, rcx
jne 0x140060842
jmp 0x14006086c
test cl, cl
je 0x1400602cf
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
test rcx, rcx
jne 0x140060297
mov byte [rsp + 0x3a0], 0
cmp byte [rsp + 0x310], 0
je 0x14005f412
mov rcx, qword [rsp + 0x308]
mov qword [rsp + 0x308], 0
test rcx, rcx
jne 0x14005fda4
test dil, dil
je 0x14005f434
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x288], 0
test rcx, rcx
jne 0x14005fa33
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 0x14005f918
cmp byte [rsp + 0x3a0], 0
je 0x14005e54a
cmp qword [rsp + 0x348], 0
jne 0x140060703
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, [0x140054f30]
cmp rax, rcx
jne 0x1400611d3
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 [0x140109830]
movzx edi, byte [rsp + 0x129]
test dil, 0x7f
jne 0x14005f54f
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 0x140060895
mov r8, qword [rsp + 0xb8]
movzx r10d, byte [r8]
mov edx, 1
lock xadd dword [0x14012ac4c], 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 0x14005f5f9
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 0x14005f80b
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140061058
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 0x14005f8b1
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.140061d50
mov rsi, qword [rsp + 0x208]
mov qword [rsp + 0x208], 0
test rsi, rsi
jne 0x14005f9af
cmp byte [rsp + 0x2c0], 0
je 0x14005f78f
mov rcx, qword [rsp + 0x2b8]
test rcx, rcx
je 0x14005f748
lock dec dword [rcx + 8]
je 0x1400610b9
mov rax, qword [rsp + 0x2a8]
test rax, rax
je 0x14005f760
mov rcx, qword [rsp + 0x2b0]
mov qword [rax], rcx
mov rsi, qword [rsp + 0x2a0]
test rsi, rsi
je 0x14005f777
lock dec dword [rsi + 8]
je 0x14005f94b
mov rax, qword [rsp + 0x290]
test rax, rax
je 0x14005f78f
mov rcx, qword [rsp + 0x298]
mov qword [rax], rcx
cmp byte [rsp + 0x148], 0
je 0x14005f7c8
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x14005f7b0
lock dec dword [rcx + 8]
je 0x1400610c3
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x14005f7c8
mov rcx, qword [rsp + 0x138]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb0]
mov qword [rax], r12
cmp byte [rsp + 0x168], 0
je 0x14005e46e
mov rsi, qword [rsp + 0x150]
test rsi, rsi
je 0x14005e46e
mov r12, qword [rsp + 0x158]
mov rcx, rsi
cmp r12, rsi
jne 0x14005e414
jmp 0x14005e461
mov rax, qword [rsp + 0x180]
test rax, rax
je 0x14005f6c1
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x14006105b
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 0x14006105e
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 0x14005f6be
cmp eax, 2
jne 0x14005f8e3
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.140062030
jmp 0x14005f70a
test eax, eax
jne 0x14005f70a
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.1400622f0
jmp 0x14005f70a
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x170]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
jne 0x14005f45a
call fcn.140056da0
jmp 0x14005f45a
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1400dde70]
cmp qword [rcx + 0x10], rdx
jne 0x14005f96b
lea rcx, [0x1400e7bd0]
cmp rax, rcx
je 0x14005f97e
mov rcx, rsi
mov edx, 1
call qword [0x140109830]
jmp 0x14005f777
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14005f990
lock dec dword [rcx]
je 0x140060ac7
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14005f9a2
lock dec dword [rax]
je 0x140060a12
mov rcx, rsi
call fcn.1400914a4
jmp 0x14005f777
lock dec dword [rsi]
jne 0x14005f727
mov rax, qword [rsi + 0x10]
lea rcx, [0x1400e1800]
cmp rax, rcx
je 0x14005f9d6
mov rcx, rsi
call qword [0x140109830]
jmp 0x14005f727
mov rcx, qword [rsi + 0x28]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
jne 0x14005f9f2
call fcn.1400569b0
mov rcx, rsi
call fcn.1400914a4
jmp 0x14005f727
mov edx, 0xffffffff
jmp 0x14005eef3
mov rdi, rbx
jmp 0x14005eeab
cmp eax, 2
je 0x14005f0f9
test eax, eax
jne 0x1400610ff
mov rax, qword [r13 + 0x10]
mov eax, dword [rax]
test al, 1
sete dil
jmp 0x14005f0f9
lock dec dword [rcx]
jne 0x14005fa42
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
mov rcx, qword [rsp + 0x288]
test rcx, rcx
je 0x14005f434
lock dec dword [rcx]
jne 0x14005f434
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
jmp 0x14005f434
lea rsi, [rax + 0x10]
xor edi, edi
cmp qword [rsi], 0
jne 0x14005fc46
jmp 0x140060d33
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
test rax, rax
je 0x140060b9e
mov ebp, esi
mov rax, qword [rax + 8]
cmp byte [rax + 0xc], 0
jne 0x14005eb56
mov rcx, qword [0x140113e18]
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 0x14006149f
mov rax, qword [rsi]
test bpl, 1
jne 0x14005fa6b
test bpl, 2
jne 0x14005fb25
test bpl, 4
jne 0x14005fb3e
test bpl, 8
jne 0x14005fb5d
test bpl, 0x10
jne 0x14005fb7c
test bpl, 0x20
jne 0x14005fb9b
test bpl, 0x40
jne 0x14005fbba
test bpl, bpl
jns 0x14005fd85
lea rsi, [rax + 0x2b0]
mov edi, 7
cmp qword [rax + 0x2b0], 0
jne 0x14005fc46
jmp 0x140060c61
lea rsi, [rax + 0x70]
mov edi, 1
cmp qword [rax + 0x70], 0
jne 0x14005fc46
jmp 0x140060d0a
lea rsi, [rax + 0xd0]
mov edi, 2
cmp qword [rax + 0xd0], 0
jne 0x14005fc46
jmp 0x140060ce1
lea rsi, [rax + 0x130]
mov edi, 3
cmp qword [rax + 0x130], 0
jne 0x14005fc46
jmp 0x140060d73
lea rsi, [rax + 0x190]
mov edi, 4
cmp qword [rax + 0x190], 0
jne 0x14005fc46
jmp 0x140060cb8
lea rsi, [rax + 0x1f0]
mov edi, 5
cmp qword [rax + 0x1f0], 0
jne 0x14005fc46
jmp 0x140060c8c
lea rsi, [rax + 0x250]
mov edi, 6
cmp qword [rax + 0x250], 0
jne 0x14005fc46
jmp 0x140060d9c
mov r8d, dword [r14 + 0x20]
cmp r8, 0x7f
ja 0x140060b36
mov rbx, qword [r14]
mov rdx, qword [rbx + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x140060b36
cmp rax, qword [rbx + 8]
jb 0x140060b36
lea rcx, [rdx - 3]
call fcn.1400c3320
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 0x14005fcdf
mov rcx, r14
call fcn.14005dc40
jmp 0x14005fccd
cmp qword [rsi], 0
je 0x140060b65
test rsi, rsi
je 0x14005fd85
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x14008f6c0]
cmp rax, rdx
jne 0x1400613a5
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
cmp rax, qword [rsi + 0x50]
je 0x14005fd1e
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.1400625b0]
cmp rax, rdx
jne 0x14006148c
lea rdx, [rsp + 0x320]
call fcn.1400625b0
mov r14, qword [rsp + 0x320]
test r14, r14
je 0x14005fcef
mov r15, qword [rsp + 0x328]
cmp byte [r14 + 0x24], 0
jne 0x14005fcdf
cmp qword [r14 + 0x10], 0
jne 0x14005fc2f
mov rax, qword [r14 + 0x18]
test rax, rax
jne 0x14005fbd5
mov byte [r14 + 0x24], 1
test r15, r15
je 0x14005fcef
mov rcx, r15
mov rdx, r14
call fcn.14006c1d0
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x14008f6c0]
cmp rax, rdx
jne 0x140061415
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 0x1400614d0
cmp edi, 6
ja 0x14005fd85
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, [0x1401150e8]
mov ebx, ebp
mov r9d, 1
mov ecx, edi
shl r9d, cl
bt ebx, edi
jb 0x14005fc3c
add rdx, 0xffffffffffffff80
sub r8, 0xffffffffffffff80
add rsi, 0x60
inc edi
cmp rax, rdx
jne 0x14005fd5e
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov byte [rax + 0xc], 0
movabs rbx, 0x7fffffffffffffff
jmp 0x14005eb56
lock dec dword [rcx]
jne 0x14005fdb3
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
mov rcx, qword [rsp + 0x308]
test rcx, rcx
je 0x14005f412
lock dec dword [rcx]
jne 0x14005f412
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
jmp 0x14005f412
lea rcx, [rsp + 0x290]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.140058330
cmp byte [rsp + 0x360], 0
jne 0x1400614b1
mov rax, qword [rsp + 0xc8]
mov rdi, qword [rax]
mov rax, qword [0x1401155a0]
and rax, rdi
cmp rax, qword [0x140115588]
jne 0x14005fe31
mov rcx, rdi
call fcn.140056850
mov qword [rsp + 0x320], rdi
mov rax, qword [rsp + 0x90]
mov rdi, qword [rax]
mov rax, qword [0x1401155a0]
and rax, rdi
cmp rax, qword [0x140115588]
jne 0x14005fe5f
mov rcx, rdi
call fcn.140056850
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 0x14005fefb
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 0x14005feff
mov rax, qword [rsp + 0x328]
test rax, rax
je 0x14005ff2d
cmp byte [rax + 0x38], 0
je 0x14005ff2d
mov rdi, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test rdi, rdi
je 0x14005ff2d
lock dec dword [rdi]
jne 0x14005ff2d
mov rcx, rdi
call fcn.14000dfe0
mov rcx, rdi
call fcn.1400914a4
jmp 0x14005ff2d
xor eax, eax
jmp 0x14005fe9d
mov eax, dword [0x14012ac24]
mov ecx, dword [0x140121718]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140060adf
cmp byte [0x14012ac20], 0
je 0x14005fec0
mov rcx, qword [rsp + 0x320]
test rcx, rcx
je 0x14005ff4c
cmp qword [rsp + 0x328], 0
jne 0x14005ff4c
xor edx, edx
call fcn.14005a970
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14012460a]
test al, al
jne 0x14005ff6f
mov byte [rsp + 0x360], 1
jmp 0x14005ee1f
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.14000e6e0
jmp 0x14005ff62
mov rcx, rsi
lea rdx, [rsp + 0x130]
call qword [0x140109830]
jmp 0x14005ebef
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x110]
dec rdx
mov qword [rax + 0x110], rdx
cmp rcx, qword [rax + 0x88]
je 0x14005fff4
cmp qword [rax + 0x120], rdx
jae 0x140060c37
mov word [rax + 0xb8], 0
jmp 0x1400600f2
movzx ecx, al
mov qword [rsp + 0x290], 0
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x290]
mov r9d, 2
call fcn.140058350
jmp 0x140060044
mov qword [rsp + 0x190], 0xa
mov al, byte [0x14012460a]
test al, al
jne 0x140060002
call fcn.140091628
mov ebx, dword [rax]
call fcn.140091628
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 0x140060144
cmp qword [rsp + 0x328], 0
jne 0x140060144
cmp byte [r13 + 0x19], 0
je 0x140060144
mov r14, qword [r13 + 0x28]
add r14, 0x68
mov rax, qword [0x1401155a0]
and rax, r14
cmp rax, qword [0x140115588]
jne 0x1400600b4
mov rcx, r14
call fcn.1400566f0
test r14, r14
je 0x1400614ca
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060ad1
mov qword [r13 + 0x20], 0
cmp byte [r13 + 0x3a], 0
jne 0x140060119
cmp byte [r13 + 0x38], 0
mov rax, qword [r13 + 0x28]
jne 0x14005ffc6
dec dword [rax + 0x130]
cmp byte [r13 + 0x19], 0
je 0x1400614cd
cmp byte [r13 + 0x18], 0
jne 0x140060119
cmp byte [r13 + 0x39], 0
mov rax, qword [r13 + 0x28]
jne 0x140061689
dec dword [rax + 0x134]
mov word [r13 + 0x38], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, r14
cmp rax, qword [0x140115588]
jne 0x140060144
mov rcx, r14
call fcn.1400569b0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.140091628
mov dword [rax], ebx
cmp byte [rsp + 0x358], 0
movabs rbx, 0x7fffffffffffffff
je 0x14006022b
mov rdi, qword [rsp + 0x350]
test rdi, rdi
je 0x14006022b
mov rax, qword [fcn.1400756c0]
lea rcx, [0x14008fa40]
cmp rax, rcx
jne 0x140060f6a
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x140124770]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x140061669
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 0x140060df7
mov rdi, qword [rsp + 0x350]
test rdi, rdi
je 0x14006022b
lock dec dword [rdi]
je 0x140061503
mov rax, qword [rsp + 0x330]
test rax, rax
je 0x140060243
mov rcx, qword [rsp + 0x338]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x328]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
je 0x1400613b0
mov qword [rsp + 0x328], 0
mov rcx, qword [rsp + 0x320]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
jne 0x14005ef1f
call fcn.140056da0
jmp 0x14005ef1f
lock dec dword [rcx]
jne 0x1400602a6
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x14005f3e3
lock dec dword [rcx]
jne 0x14005f3e3
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
jmp 0x14005f3e3
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 0x14005f3eb
mov qword [rsp + 0x170], 0x9b
mov al, byte [0x14012469b]
test al, al
je 0x14005ef11
movzx ecx, al
xor r14, qword [0x140122bb8]
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.14006b210
jmp 0x14005ef11
mov al, byte [rbp + 0x30]
test al, al
jne 0x14005e96d
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, rbp
call qword [0x140109830]
test al, al
jne 0x14005e96d
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x1401155a0]
and rax, rsi
cmp rax, qword [0x140115588]
jne 0x1400603f4
mov rcx, rsi
call fcn.1400566f0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060b28
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x140060f7d
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, rsi
cmp rax, qword [0x140115588]
jne 0x140060438
mov rcx, rsi
call fcn.1400569b0
test dil, dil
jne 0x14005e96d
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x140109830]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x40]
mov rcx, rax
mov rax, rdx
call qword [0x140109830]
jmp 0x14005e96d
mov rax, qword [r12 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400604a8
jmp 0x14006101f
mov r12, qword [rsp + 0x328]
test r12, r12
je 0x14005e917
mov qword [rsp + 0x320], 0
mov al, byte [rsi + 0xd]
and al, 0x7f
cmp al, 2
je 0x14006046a
lock dec dword [r12 + 0x18]
je 0x1400604cc
lock dec dword [rsi + 8]
jne 0x14005e92c
mov rcx, rsi
mov edx, 1
call fcn.14005b3c0
jmp 0x14005e92c
lea r14, [r12 + 0x20]
mov rax, qword [0x1401155a0]
and rax, r14
cmp rax, qword [0x140115588]
jne 0x1400604ec
mov rcx, r14
call fcn.1400566f0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060c11
mov rcx, qword [r12 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, r14
mov rcx, qword [0x140115588]
cmp rax, rcx
jne 0x140060540
mov rcx, r14
call fcn.1400569b0
mov rcx, qword [0x140115588]
mov rax, qword [0x1401155a0]
and rax, r14
cmp rax, rcx
jne 0x14006054d
mov rcx, r14
call fcn.1400566f0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060c1f
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.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401155a0]
and rax, r14
cmp rax, qword [0x140115588]
jne 0x1400605a2
mov rcx, r14
call fcn.1400569b0
mov r12, r15
cmp r15, rbx
jne 0x140061518
mov rcx, rdi
call fcn.14006af50
mov r15, qword [rsp + 0x50]
jmp 0x14005e923
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005f1a6
mov rax, qword [0x140115510]
lea rcx, [0x14008fa40]
cmp rax, rcx
jne 0x140060f57
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x140124770]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x1400616e2
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 0x14005eeae
xor r12d, r12d
jmp 0x14005ef11
xor edi, edi
jmp 0x14005e9c9
movzx ecx, al
lea rax, str.WorkerThread_active
mov qword [rsp + 0x320], rax
lea rax, [0x1400f5930]
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.140004b50
jmp 0x14005eb48
movzx ecx, al
mov rax, qword [0x140122bb8]
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.14006b210
jmp 0x14005ef4c
mov rax, qword [r13 + 0x10]
mov eax, dword [rax]
test al, 1
je 0x14005f477
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
lea rdx, [rsp + 0x120]
mov qword [rdx], rax
lea rcx, [rsp + 0x398]
call fcn.1400c5070
cmp byte [rsp + 0x3a0], 0
jne 0x14005f477
int3
mov rcx, qword [r14]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14005ef2d
mov eax, dword [0x140121718]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x160]
cmp rdi, 2
jb 0x1400607a6
mov byte [rdi + 4], 0
mov ebx, pe_nt_image_headers64
lea rdx, [rdi + rbx]
mov rcx, rdi
xor r8d, r8d
call fcn.140077ec0
add rbx, 0x10
cmp rbx, 0x4f8
jne 0x14006078a
mov rax, qword [rsp + 0x130]
cmp rax, r15
movabs r8, 0x7fffffffffffffff
jle 0x14005ef2d
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.140064ab0
jmp 0x14005ef2d
mov rcx, rsi
call fcn.140005f40
jmp 0x14005ef32
lea rcx, [rsi - 0x40]
call qword [0x140109830]
mov rcx, rbx
test al, al
je 0x14005ebe7
mov rax, qword [rsi - 0x18]
cvtsi2sd xmm0, qword [rax + 0x30]
mulsd xmm0, xmm7
ucomisd xmm8, xmm0
jb 0x140061702
maxsd xmm0, xmm9
cvttsd2si rcx, xmm0
jmp 0x14005ebe7
mov rcx, rsi
call qword [0x140109830]
jmp 0x14005f3eb
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005ead2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005efae
mov rcx, qword [rsi + 0x28]
mov rax, qword [0x1401155a0]
and rax, rcx
cmp rax, qword [0x140115588]
jne 0x140060888
call fcn.1400569b0
mov rcx, rsi
call fcn.1400914a4
jmp 0x14005f3eb
mov ebx, 1
lock xadd dword [0x14012ac48], ebx
mov dword [r15], ebx
jmp 0x14005f56a
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x140109830]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [0x140109830]
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x140061738
mov rsi, qword [rbp + 0x10]
mov qword [rbp + 0x10], 0
test rsi, rsi
jne 0x140060dc5
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14012460a]
test al, al
mov rsi, qword [rsp + 0x78]
jne 0x14006174a
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14012460a]
test al, al
jne 0x140061790
mov ecx, dword [0x1401150e4]
test ecx, ecx
jne 0x1400616d8
test rsi, rsi
je 0x14006095e
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x140109830]
lock dec dword [rsi]
jne 0x14006095e
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x140109830]
mov rcx, qword [rsp + 0x3a8]
xor rcx, rsp
call fcn.1400935c0
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.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005e5b4
mov rcx, rdi
call fcn.1400c4220
mov rcx, rdi
call fcn.1400914a4
jmp 0x14005e237
lea rcx, [0x14012aca8]
call fcn.140091554
cmp dword [0x14012aca8], 0xffffffff
jne 0x14005ecd3
mov rax, qword [rsp + 0x290]
mov qword [0x14012aca0], rax
lea rcx, [0x14012aca8]
call fcn.1400914e8
jmp 0x14005ecd3
mov rcx, rax
mov qword [rsp + 0xc0], rax
call fcn.1400c4220
mov rcx, qword [rsp + 0xc0]
call fcn.1400914a4
jmp 0x14005f9a2
mov rax, qword [rbx + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14005e25b
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
lea rdx, [rbx + 0x50]
mov rcx, rsi
call fcn.14005d860
mov rcx, qword [rbx + 0x58]
call fcn.140080c90
mov rcx, rsi
call fcn.14005d780
jmp 0x14005e25b
lea rcx, [0x14012ac9c]
call fcn.140091554
cmp dword [0x14012ac9c], 0xffffffff
jne 0x14005ec28
lea rcx, str.DelayFirstWorkerWake
call fcn.1400648b0
mov byte [0x14012ac98], al
lea rcx, [0x14012ac9c]
call fcn.1400914e8
jmp 0x14005ec28
call fcn.1400914a4
jmp 0x14005e225
call fcn.1400914a4
jmp 0x14005f990
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400600ce
lea rcx, [0x14012ac24]
call fcn.140091554
cmp dword [0x14012ac24], 0xffffffff
jne 0x14005ff24
mov rcx, qword [0x140124838]
test rcx, rcx
je 0x140060b10
lea rdx, str.enable_background_thread_pool
call fcn.14000e0a0
mov byte [0x14012ac20], 1
lea rcx, [0x14012ac24]
call fcn.1400914e8
jmp 0x14005ff24
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140060405
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 0x14005fc1e
mov ebx, dword [0x1401150e4]
and ebx, ebp
test ebx, r9d
je 0x140060b7b
mov cl, byte [r8 + rax]
test cl, 1
jne 0x140060b82
mov ebp, ebx
jmp 0x14005fd72
add r8, rax
lea rcx, [0x1401150d8]
mov rdx, rsi
mov r9d, edi
call fcn.140002120
mov ebp, ebx
jmp 0x14005fc46
mov rax, qword [0x140113e18]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140109830]
lea rcx, [rax + 0x6218]
lea rdx, [0x1401150d8]
mov qword [rax + 0x6218], rdx
mov qword [rax + 0x6220], rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
mov ebp, dword [0x1401150e4]
and ebp, esi
je 0x14005eb56
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
jmp 0x14005fa93
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005e295
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005e2f5
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400604fd
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14006055e
mov esi, 3
jmp 0x14005e8a6
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x1400600f2
lea rcx, [rsp + 0x190]
call qword [0x140109830]
jmp 0x14005ee8f
xor eax, eax
jmp 0x14005ed9e
mov eax, dword [0x1401150e4]
test al, al
jns 0x14005fd85
mov cl, byte [0x140115468]
test cl, 1
je 0x14005fd85
and ebp, eax
lea r8, [0x140115468]
jmp 0x140060d5c
mov ecx, dword [0x1401150e4]
and ebp, ecx
test cl, 0x20
je 0x14005faf3
mov cl, byte [0x140115368]
test cl, 1
je 0x14005faf3
lea r8, [0x140115368]
jmp 0x140060d5c
mov ecx, dword [0x1401150e4]
and ebp, ecx
test cl, 0x10
je 0x14005fae9
mov cl, byte [0x1401152e8]
test cl, 1
je 0x14005fae9
lea r8, [0x1401152e8]
jmp 0x140060d5c
mov ecx, dword [0x1401150e4]
and ebp, ecx
test cl, 4
je 0x14005fad9
mov cl, byte [0x1401151e8]
test cl, 1
je 0x14005fad9
lea r8, [0x1401151e8]
jmp 0x140060d5c
mov ecx, dword [0x1401150e4]
and ebp, ecx
test cl, 2
je 0x14005fad3
mov cl, byte [0x140115168]
test cl, 1
je 0x14005fad3
lea r8, [0x140115168]
jmp 0x140060d5c
mov ecx, dword [0x1401150e4]
and ebp, ecx
test cl, 1
je 0x14005facd
mov cl, byte [0x1401150e8]
test cl, 1
je 0x14005facd
lea r8, [0x1401150e8]
xor edi, edi
lea rcx, [0x1401150d8]
mov rdx, rsi
mov r9d, edi
call fcn.140002120
jmp 0x14005fc46
mov ecx, dword [0x1401150e4]
and ebp, ecx
test cl, 8
je 0x14005fadf
mov cl, byte [0x140115268]
test cl, 1
je 0x14005fadf
lea r8, [0x140115268]
jmp 0x140060d5c
mov ecx, dword [0x1401150e4]
and ebp, ecx
test cl, 0x40
je 0x14005fafd
mov cl, byte [0x1401153e8]
test cl, 1
je 0x14005fafd
lea r8, [0x1401153e8]
jmp 0x140060d5c
lock dec dword [rsi + 8]
jne 0x1400608f3
mov rcx, rsi
call fcn.1400c3fd0
mov rcx, rsi
call fcn.1400914a4
jmp 0x1400608f3
lea rcx, [rsp + 0x290]
call qword [0x140109830]
jmp 0x14005ecae
mov eax, 0x3938700
add rax, qword [rdi + 0x1f0]
movabs rbp, 0x7fffffffffffffff
cmovo rax, rbp
cmp rax, rdx
jle 0x14006181f
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 0x140061806
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x1400fc880]
call fcn.1400c1800
movsd xmm11, qword [0x1400fcb30]
ucomisd xmm11, xmm0
jb 0x1400617d6
maxsd xmm0, qword [0x1400fcb38]
cvttsd2si ebp, xmm0
movabs rax, 0x7fffffffffffffff
add rax, rbx
add rax, 2
cmp rax, 2
jae 0x140060ea4
movsd xmm0, qword [0x1400fcb40]
jmp 0x140060eb4
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
divsd xmm0, qword [0x1400fc880]
call fcn.1400c1798
ucomisd xmm11, xmm0
jb 0x1400617ed
maxsd xmm0, qword [0x1400fcb38]
cvttsd2si r8d, xmm0
mov rcx, rdi
mov edx, ebp
call fcn.140003810
mov rbp, qword [rsp + 0x38]
jmp 0x140060215
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14005eae1
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14005efbd
lea rsi, [rsp + 0x290]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
lea rdx, [r13 + 0x50]
mov rcx, rsi
call fcn.14005d860
mov rcx, qword [r13 + 0x58]
call fcn.140080c90
mov rcx, rsi
call fcn.14005d780
jmp 0x14005e570
mov ecx, esi
call fcn.1400062b0
mov dword [rbp + 0x54], esi
jmp 0x14005e8af
lea rcx, [rsp + 0x290]
call qword [0x140109830]
jmp 0x140060635
lea rcx, [rsp + 0x190]
call qword [0x140109830]
jmp 0x1400601e3
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x140060414
mov rdx, qword [0x1401249e0]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x14005e7af
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
add rdx, 0xd8
mov rcx, rsi
call fcn.14005d860
mov rcx, rsi
call fcn.14005d780
jmp 0x14005e7af
mov rdx, qword [0x1401249e0]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x14005e9fe
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
add rdx, 0xd8
mov rcx, rsi
call fcn.14005d860
mov rcx, rsi
call fcn.14005d780
jmp 0x14005e9fe
lea rdi, [rsp + 0x290]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
lea rdx, [r12 + 0x50]
mov rcx, rdi
call fcn.14005d860
mov rcx, qword [r12 + 0x58]
call fcn.140080c90
mov rcx, rdi
call fcn.14005d780
jmp 0x1400604a8
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
call fcn.140056da0
jmp 0x14005e745
call fcn.140056da0
jmp 0x14005e8fe
call fcn.140056da0
jmp 0x14005e94b
mov rcx, rbx
call fcn.140056da0
jmp 0x14005e6df
call fcn.140075620
jmp 0x14005f748
call fcn.140075620
jmp 0x14005f7b0
lock dec dword [rcx + 8]
jne 0x14005e726
mov edx, 1
call fcn.14005b3c0
jmp 0x14005e726
lock dec dword [rcx + 8]
jne 0x14005e96d
mov edx, 1
call fcn.14005b3c0
jmp 0x14005e96d
call fcn.1400c47f0
jmp 0x14006110e
mov rcx, r13
call fcn.1400e9130
xor edi, edi
jmp 0x14005f0f9
mov esi, 3
jmp 0x14005f038
call fcn.140056da0
jmp 0x14005e9a9
mov rcx, rbp
call qword [0x140109830]
mov rcx, rax
jmp 0x14005e856
lock dec dword [r8 + 8]
jne 0x14005e70d
mov rcx, r8
mov edx, 1
call fcn.14005b3c0
jmp 0x14005e70d
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x14005e6f0
mov qword [rsp + 0xf0], 0
lea rsi, [rsp + 0x320]
mov rdx, rsi
call fcn.140016bd0
mov r8, qword [rsi]
jmp 0x14005e704
mov rcx, rbp
call qword [0x140109830]
jmp 0x14005ea96
mov rcx, rbp
call qword [0x140109830]
jmp 0x14005ef72
lea rcx, [rsp + 0x100]
call fcn.14006afc0
jmp 0x14005efff
lock dec dword [rcx + 8]
jne 0x14005e9c6
mov edx, 1
call fcn.14005b3c0
jmp 0x14005e9c6
lea rdx, [rsp + 0x190]
lea r9, [rsp + 0x128]
mov rcx, r13
mov r8, r14
call qword [0x140109830]
mov edi, dword [rsp + 0x48]
jmp 0x14005e54a
mov rcx, rbp
call qword [0x140109830]
mov rsi, rax
jmp 0x14005eb85
mov ecx, esi
call fcn.1400062b0
mov dword [rbp + 0x54], esi
jmp 0x14005f041
mov rcx, rbp
call qword [0x140109830]
mov rcx, rax
jmp 0x14005f065
lea rsi, [rsp + 0x100]
mov rcx, rsi
call fcn.14006afc0
mov byte [rsi + 0x18], 0
jmp 0x14005eb64
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 [0x140109830]
mov al, byte [rsi + 0x80]
mov edi, dword [rsp + 0x48]
jmp 0x14005f30d
lea rcx, [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
call fcn.1400e17a0
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1400612ac
cmp byte [rsp + 0x110], 0
je 0x14005e7d3
cmp qword [rdi + 0x18], 0
jne 0x140061274
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
mov rbp, qword [rsp + 0x38]
mov r15, qword [rsp + 0x50]
jmp 0x14005e7d3
lea rcx, [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
call fcn.1400e17a0
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14005e7c4
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.1400e17a0
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14005e7e6
lea rcx, [rbx + r9]
add rcx, 2
mov r15, rbx
cmp rcx, 1
ja 0x14005edb5
mov r15, rbx
cmp r9, rax
je 0x14005edb5
int3
lea rax, [rbx + r8]
add rax, 2
lea r9, [rbx + 1]
cmp rax, 1
jbe 0x140061365
mov rbp, qword [rsp + 0x38]
movabs rbx, 0x7fffffffffffffff
mov r12, qword [rsp + 0x60]
jmp 0x14005ed1e
cmp r8, r15
mov rbp, qword [rsp + 0x38]
movabs rbx, 0x7fffffffffffffff
mov r12, qword [rsp + 0x60]
je 0x14005ed1e
int3
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005eca6
call qword [0x140109830]
jmp 0x14005fc75
call fcn.140056da0
jmp 0x140060262
lea rcx, [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
call fcn.1400e17a0
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400613f2
cmp byte [rsp + 0x110], 0
je 0x14005ea22
cmp qword [rbx + 0x18], 0
jne 0x1400613ba
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 0x14005ea22
call qword [0x140109830]
jmp 0x14005fd15
lea rcx, [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
call fcn.1400e17a0
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14005ea13
lea rcx, [rbx + 0x18]
mov r14, qword [rbx + 0x10]
call fcn.1400e17a0
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14005ea35
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005ee87
lea rdx, [rsp + 0x320]
call qword [0x140109830]
jmp 0x14005fca6
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x140109830]
jmp 0x14005fac4
lea rdi, [rsp + 0x320]
mov rcx, rdi
call fcn.140079b60
mov byte [rdi + 0x40], 0
jmp 0x14005fe0b
int3
int3
mov rcx, qword [rsi]
lea rax, [fcn.1400c5770]
lea rdx, [rsp + 0x320]
mov qword [rdx + 0x18], rax
lea rax, [0x1400f58c0]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x140109830]
jmp 0x14005fd28
mov rcx, rdi
call fcn.14000dfe0
mov rcx, rdi
call fcn.1400914a4
jmp 0x14006022b
cmp r13, r12
jb 0x140061079
mov r14, qword [rdi + r12*8]
test r14, r14
je 0x14006107c
mov qword [rdi + r12*8], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [0x140109830]
lock dec dword [r14]
jne 0x140061556
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [0x140109830]
inc r12
xor eax, eax
cmp r12, r13
cmove r12, rax
cmp r12, rbx
jne 0x140061518
cmp rbx, r15
jbe 0x1400618d7
cmp r13, rbx
jb 0x14006107f
cmp r15, rbx
jg 0x140061082
shl rbx, 3
shl r15, 3
mov rcx, qword [rdi + r15]
test rcx, rcx
jne 0x1400615a7
add r15, 8
cmp rbx, r15
mov rbp, qword [rsp + 0x38]
je 0x1400605ae
jmp 0x14006158a
lock dec dword [rcx]
jne 0x140061593
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
jmp 0x140061593
cmp qword [rsp + 0x48], rdi
jb 0x140061076
mov rax, qword [rbp + rdi*8]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140061061
mov qword [rbp + rdi*8], 0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 8]
call qword [0x140109830]
mov rax, qword [rsp + 0x68]
lock dec dword [rax]
jne 0x140061607
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
inc rdi
xor eax, eax
cmp rdi, qword [rsp + 0x48]
cmove rdi, rax
cmp rdi, rbx
jne 0x1400615b8
cmp rbx, r12
jbe 0x14006185a
cmp qword [rsp + 0x48], rbx
jb 0x140061064
cmp r12, rbx
jg 0x140061067
shl rbx, 3
shl r12, 3
mov rcx, qword [rbp + r12]
test rcx, rcx
jne 0x140061658
add r12, 8
cmp rbx, r12
je 0x14005e34a
jmp 0x14006163f
lock dec dword [rcx]
jne 0x140061649
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
jmp 0x140061649
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400601db
dec qword [rax + 0x118]
mov rcx, qword [rax + 0x80]
cmp rcx, qword [rax + 0x88]
je 0x1400616b0
mov rdx, qword [rax + 0x120]
cmp rdx, qword [rax + 0x110]
jae 0x1400616c3
mov word [rax + 0xb8], 0
mov rbp, qword [rsp + 0x38]
jmp 0x140060119
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
mov rbp, qword [rsp + 0x38]
jmp 0x140060119
call fcn.1400e9fb0
jmp 0x14006093a
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14006062d
xor ecx, ecx
ucomisd xmm0, qword [0x1400fd958]
cmovae rcx, rbx
jmp 0x14005ebe7
mov qword [rsp + 0x320], 0
jmp 0x14005e06e
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140109830]
jmp 0x14005dffe
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140109830]
jmp 0x1400608de
movzx ecx, al
lea r8, [rsp + 0x320]
lea rax, str.WorkerThread_active
mov qword [r8], rax
lea rax, [0x1400f5930]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x290]
mov r9d, 2
call fcn.140004b50
jmp 0x140060912
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400f5930]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x290]
mov r9d, 3
call fcn.140004b50
jmp 0x14006092c
xor eax, eax
ucomisd xmm0, qword [0x1400fcb38]
mov ebp, 0x7fffffff
cmovb ebp, eax
jmp 0x140060e83
xor eax, eax
ucomisd xmm0, qword [0x1400fcb38]
mov r8d, 0x7fffffff
cmovb r8d, eax
jmp 0x140060ed1
xor ecx, ecx
cmp rax, r13
setg cl
lea rax, [0x1400fcb20]
movsd xmm0, qword [rax + rcx*8]
jmp 0x140060e56
lea r14, [rsp + 0x290]
mov rcx, r14
call fcn.140024790
mov r14, qword [r14]
test r14, r14
je 0x140060e1a
lock dec dword [r14]
jne 0x140060e1a
mov rcx, r14
call fcn.14000dfe0
mov rcx, r14
call fcn.1400914a4
jmp 0x140060e1a
cmp qword [rsp + 0x48], r12
jb 0x14006106a
jl 0x14006106d
je 0x14006189b
shl qword [rsp + 0x48], 3
shl r12, 3
mov rcx, qword [rbp + r12]
test rcx, rcx
je 0x140061890
lock dec dword [rcx]
jne 0x140061890
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
add r12, 8
cmp qword [rsp + 0x48], r12
jne 0x140061877
test rbx, rbx
js 0x140061070
je 0x14005e34a
shl rbx, 3
xor edi, edi
mov rcx, qword [rbp + rdi]
test rcx, rcx
je 0x1400618c9
lock dec dword [rcx]
jne 0x1400618c9
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
add rdi, 8
cmp rbx, rdi
jne 0x1400618b0
jmp 0x14005e34a
cmp r13, r15
jb 0x140061085
jl 0x140061088
je 0x140061911
shl r13, 3
shl r15, 3
mov rcx, qword [rdi + r15]
test rcx, rcx
je 0x140061908
lock dec dword [rcx]
jne 0x140061908
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
add r15, 8
cmp r13, r15
jne 0x1400618f0
test rbx, rbx
js 0x14006108b
mov rbp, qword [rsp + 0x38]
je 0x1400605ae
shl rbx, 3
xor r14d, r14d
mov rcx, qword [rdi + r14]
test rcx, rcx
je 0x140061944
lock dec dword [rcx]
jne 0x140061944
mov rax, qword [rcx + 0x10]
call qword [0x140109830]
add r14, 8
cmp rbx, r14
mov rbp, qword [rsp + 0x38]
jne 0x14006192c
jmp 0x1400605ae