Function at 0x14007f120
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, 0x408
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 [0x140145040]
xor rax, rsp
mov qword [rsp + 0x3a8], rax
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14015765a]
test al, al
jne 0x14007f389
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14015765a]
test al, al
jne 0x14007f343
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x14008247a
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x14013a9a8]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [0x14013a9a8]
mov eax, dword [0x14015aa60]
test eax, eax
je 0x14007f332
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14007f201
cmp dword [rbp + 0x50], 0
je 0x14007f332
mov rcx, qword [0x14015aa58]
test rcx, rcx
je 0x140082469
lea rdx, [rsp + 0x320]
mov r8d, 2
call fcn.14001de50
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x80], rax
mov al, 1
mov qword [rsp + 0x78], rax
movabs rbx, 0x7fffffffffffffff
mov eax, dword [0x140153d98]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov qword [rsp + 0x60], rcx
lea rcx, [rax + 0x140]
mov qword [rsp + 0xc8], rcx
lea rcx, [rax + 0x148]
mov qword [rsp + 0x90], rcx
lea rcx, [rax + 0x168]
mov qword [rsp + 0x88], rcx
lea rcx, [rax + 0x188]
mov qword [rsp + 0x98], rcx
lea r12, [rax + 0x1a4]
lea rcx, [rax + 0x1a0]
mov qword [rsp + 0x50], rcx
lea rcx, [rax + 0x1a8]
mov qword [rsp + 0xb8], rcx
lea rcx, [rax + 0x1b0]
mov qword [rsp + 0xb0], rcx
lea rcx, [rax + 0x130]
mov qword [rsp + 0xa0], rcx
lea rcx, [rax + 0x170]
mov qword [rsp + 0xd0], rcx
lea rax, [rax + 0x178]
mov qword [rsp + 0xa8], rax
movaps xmm6, xmmword [0x1401213c0]
movsd xmm7, qword [0x14012aa08]
movsd xmm8, qword [0x14012a8b0]
movsd xmm9, qword [0x14012a8b8]
xorps xmm10, xmm10
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x48], rbp
jmp 0x14007fc2b
xor eax, eax
mov qword [rsp + 0x80], rax
xor eax, eax
jmp 0x14007f236
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1401215a0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0x290]
mov r9d, 1
call fcn.140005970
jmp 0x14007f1a7
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1401215a0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x290]
mov r9d, 3
call fcn.140005970
jmp 0x14007f18d
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14007f3e1
lock dec dword [rcx]
je 0x1400819c2
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x14007f3f3
lock dec dword [rdi]
je 0x1400818c6
mov rcx, rsi
call fcn.1400b4d44
jmp 0x14007f7fd
test r12, r12
je 0x14007f523
mov al, byte [r14 + 0xd]
and al, 0x7f
cmp al, 2
je 0x140081936
lock dec dword [r12 + 0x18]
jne 0x14007f523
lea rdi, [r12 + 0x20]
mov rax, qword [0x140147c20]
and rax, rdi
cmp rax, qword [0x140147c08]
jne 0x14007f443
mov rcx, rdi
call fcn.140073220
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140081aec
mov rcx, qword [r12 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x140147c20]
and rax, rdi
mov rcx, qword [0x140147c08]
cmp rax, rcx
jne 0x14007f497
mov rcx, rdi
call fcn.1400736b0
mov rcx, qword [0x140147c08]
mov rax, qword [0x140147c20]
and rax, rdi
cmp rax, rcx
jne 0x14007f4a4
mov rcx, rdi
call fcn.140073220
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140081afa
mov rbp, qword [r12 + 0x30]
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0x58], rax
movups xmmword [r12 + 0x30], xmm10
mov rax, r12
mov r12, qword [r12 + 0x40]
mov rbx, qword [rax + 0x48]
mov rsi, rax
movups xmmword [rax + 0x40], xmm10
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x140147c20]
and rax, rdi
cmp rax, qword [0x140147c08]
jne 0x14007f502
mov rcx, rdi
call fcn.1400736b0
mov rdi, r12
cmp r12, rbx
jne 0x14008237b
mov rcx, rbp
call fcn.14008bde0
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov r12, rsi
lock dec dword [r14 + 8]
jne 0x14007f888
mov rcx, r14
mov edx, 1
call fcn.140078fc0
jmp 0x14007f888
lock dec dword [rcx]
jne 0x14007f54f
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x14007f87f
lock dec dword [rcx]
jne 0x14007f87f
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
jmp 0x14007f87f
lock dec dword [rcx]
jne 0x14007f587
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x14007f70b
lock dec dword [rcx]
jne 0x14007f70b
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
jmp 0x14007f70b
call fcn.140073aa0
jmp 0x14007f6c2
lea rcx, [r12 - 0x10]
call qword [0x14013a9a8]
add r12, 0xffffffffffffffe8
cmp r12, rsi
je 0x14007f61a
mov rax, qword [r12 - 8]
test rax, rax
jne 0x14007f5c0
jmp 0x14007f5cb
mov rcx, rbp
call fcn.140086860
test rbp, rbp
je 0x14007f77a
jmp 0x14007f769
mov rcx, r14
xor edx, edx
call qword [0x14013a9a8]
test al, al
je 0x14007f84d
mov r13, r14
mov r15, r12
xor r12d, r12d
xor r14d, r14d
jmp 0x14007f853
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x158], rsi
call fcn.1400b4d44
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rsp + 0x46]
mov byte [rax], cl
mov rax, qword [rsp + 0x70]
mov dword [rax], r15d
mov rax, qword [rsp + 0x50]
mov dword [rax], ebx
mov rbx, rax
mov rax, qword [rsp + 0xb8]
movzx ecx, byte [rsp + 0x47]
mov byte [rax], cl
test dil, 0x7f
jne 0x14007f66f
mov rax, qword [rsp + 0x98]
dec dword [rax]
mov rcx, qword [rsp + 0x188]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
mov rsi, r13
jne 0x14007f692
call fcn.140073aa0
mov qword [rsp + 0x188], 0
mov rcx, qword [rsp + 0x180]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
mov r13d, dword [rsp + 0x68]
je 0x14007f5b0
mov qword [rsp + 0x180], 0
mov rcx, qword [rsp + 0x178]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
jne 0x14007f6ee
call fcn.140073aa0
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x208], 0
test rcx, rcx
jne 0x14007f578
test r13b, r13b
je 0x14007f731
movzx eax, byte [r14 + 0xd]
and al, 0x7f
cmp al, 1
jne 0x14007f731
mov rax, qword [rsi + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
je 0x140081d0a
mov rax, qword [r14]
mov rax, qword [rax + 0x48]
lea rcx, [0x14006dcc0]
cmp rax, rcx
mov r12, qword [rsp + 0x58]
jne 0x14007f5f6
mov rax, qword [0x140147c20]
and rax, rbp
cmp rax, qword [0x140147c08]
je 0x14007f5e0
test rbp, rbp
je 0x14007f77a
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400818b8
mov rax, qword [0x140147c20]
and rax, rbp
cmp rax, qword [0x140147c08]
jne 0x14007f795
mov rcx, rbp
call fcn.140086860
mov byte [r14 + 0x98], 0
mov rax, qword [r14 + 0x58]
mov sil, 1
cmp rax, qword [r14 + 0x60]
jne 0x14007f800
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
jne 0x14007f800
mov byte [r14 + 0x99], 0
mov rsi, qword [r14 + 0x40]
test rsi, rsi
je 0x14007f7fd
lock dec dword [rsi + 8]
jne 0x14007f7fd
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401091d0]
cmp qword [rcx + 0x10], rdx
jne 0x14007f7ef
lea rcx, [0x140115710]
cmp rax, rcx
je 0x14007f3cf
mov rcx, rsi
mov edx, 1
call qword [0x14013a9a8]
xor esi, esi
nop
mov rax, qword [0x140147c20]
and rax, rbp
cmp rax, qword [0x140147c08]
jne 0x14007f81b
mov rcx, rbp
call fcn.140073aa0
test rbp, rbp
je 0x14007f829
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x140147c20]
and rax, rbp
cmp rax, qword [0x140147c08]
jne 0x14007f844
mov rcx, rbp
call fcn.140073aa0
test sil, sil
jne 0x14007f609
xor r13d, r13d
xor r15d, r15d
mov rbp, qword [rsp + 0x48]
cmp byte [rsp + 0x3a0], 0
je 0x14007f87f
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
test rcx, rcx
jne 0x14007f540
test r14, r14
jne 0x14007f400
mov rax, qword [0x140147c20]
and rax, r12
cmp rax, qword [0x140147c08]
je 0x140081e95
mov r8, qword [rsp + 0xf0]
test r8, r8
jne 0x140081f41
mov qword [rsp + 0x320], r8
mov qword [rsp + 0xf0], 0
test r8, r8
jne 0x140081f24
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], r13
test rcx, rcx
jne 0x140081eb6
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
je 0x140081e77
mov qword [rsp + 0xf8], r15
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x190], rax
lea rcx, [rsp + 0x190]
call fcn.140073210
cmp byte [rsp + 0x78], 0
je 0x14007f9ed
cmp byte [rsp + 0x118], 0
je 0x14007f9c9
cmp byte [rsp + 0x100], 0
je 0x14007f9c9
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rax]
test rdi, rdi
je 0x14007f9c9
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x140081d7c
cmp dword [rdi + 0x24], 1
jne 0x14008204b
cmp qword [rdi + 0x18], 0
jne 0x14008207e
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rsi, qword [rsp + 0x108]
cmp qword [rdi + 0x18], 0
jne 0x1400820fc
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, [0x140082630]
cmp rax, rcx
jne 0x140081f13
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 [0x14013a9a8]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140081b24
mov esi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], esi
jne 0x140081d44
cmp qword [rsp + 0xf0], 0
jne 0x140081e5c
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 [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
je 0x140081e81
mov qword [rsp + 0xf8], rsi
mov rsi, qword [rsp + 0x320]
test rsi, rsi
jne 0x14008137c
mov qword [rsp + 0x320], 0
test rsi, rsi
jne 0x1400813aa
mov rcx, qword [rsp + 0x328]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
je 0x140081e8b
mov qword [rsp + 0x328], 0
mov rcx, qword [rsp + 0x320]
test rcx, rcx
mov r12, qword [rsp + 0x70]
jne 0x140081ecf
mov rax, qword [rsp + 0xf0]
test rax, rax
jne 0x140080244
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
je 0x140081f09
mov qword [rsp + 0xf8], 0
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
jne 0x140081fc5
mov dil, 1
cmp byte [rsp + 0x118], 0
je 0x14007fc18
cmp byte [rsp + 0x100], 0
je 0x14007fc18
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rax]
test rbx, rbx
je 0x14007fc18
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x140081dc2
cmp dword [rbx + 0x24], 1
jne 0x1400821c0
cmp qword [rbx + 0x18], 0
jne 0x1400821fe
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov rsi, qword [rsp + 0x108]
cmp qword [rbx + 0x18], 0
jne 0x140082224
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 0x1400817b2
mov al, byte [rbp + 0x30]
test al, al
jne 0x1400817b2
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x140082a10]
cmp rax, rcx
jne 0x140081f76
mov al, byte [rbp + 0x70]
test al, al
jne 0x1400817b2
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x140147c20]
and rax, rsi
cmp rax, qword [0x140147c08]
jne 0x14007fc7c
mov rcx, rsi
call fcn.140073220
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140081758
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x140081cde
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x140147c20]
and rax, rsi
cmp rax, qword [0x140147c08]
jne 0x14007fcc0
mov rcx, rsi
call fcn.1400736b0
test dil, dil
jne 0x1400817b2
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 [0x14015765a]
test al, al
jne 0x140081560
mov esi, dword [0x140147794]
test esi, esi
jne 0x140080c4c
cmp byte [rsp + 0x118], 0
jne 0x14008200f
mov rbp, qword [rsp + 0x48]
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x140082630]
cmp rax, rcx
jne 0x140081fde
mov rsi, qword [rbp + 0x68]
mov rax, qword [rsi]
lea rcx, [fcn.140006be0]
cmp qword [rax + 0x30], rcx
jne 0x140081746
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
mov rax, qword [rsi]
mov rax, qword [rax + 0x28]
lea rcx, [0x140086180]
cmp rax, rcx
jne 0x140081177
mov rax, qword [rsi - 0x40]
mov rax, qword [rax + 0x20]
lea rcx, [0x1401103f0]
cmp rax, rcx
jne 0x1400816fb
cmp byte [rsi + 0x18], 0
mov rcx, rbx
jne 0x140081710
mov qword [rsp + 0x130], rcx
mov r14, qword [rsp + 0x130]
mov eax, 0xf4240
cmp r14, rax
cmovge r14, rax
mov eax, dword [0x14015c56c]
mov ecx, dword [0x140153d98]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140081986
cmp byte [0x14015c568], 0
je 0x14007ff82
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x290], rax
mov rax, qword [fcn.1400965a0]
lea rcx, [0x1400b3080]
cmp rax, rcx
jne 0x140081ccb
mov qword [rsp + 0x320], 0
lea rcx, [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x320]
mov rcx, qword [0x140157648]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x140082172
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x290], rax
mov eax, dword [0x14015c578]
mov ecx, dword [0x140153d98]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400818db
mov rax, qword [0x14015c570]
mov ecx, 0x3938700
add rax, rcx
cmovo rax, rbx
mov r8, qword [rsp + 0x290]
cmp r8, rax
cmovle r14, rcx
lea rax, [rbx + r14]
add rax, 2
cmp rax, 2
jb 0x140082127
lea rax, [r8 + r14]
sar rax, 0x3f
btc rax, 0x3f
add r14, r8
cmovo r14, rax
mov r9, r14
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 0x14007ff33
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 0x140081b41
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 0x1400820d8
lea rcx, [r9 + rax]
sar rcx, 0x3f
btc rcx, 0x3f
add r9, rax
cmovo r9, rcx
mov r14, r9
xor eax, eax
cmp r14, r8
setns al
add rax, rbx
sub r14, r8
cmovo r14, rax
lea r15, [rsi + 8]
test r14, r14
jle 0x140081647
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 0x140080fa3
cmp r14, rbx
je 0x140080bc3
mov rax, qword [0x140147780]
lea rcx, [0x1400b3080]
cmp rax, rcx
jne 0x140081b2e
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x140157648]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x14008224a
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x190], rax
mov rdi, qword [rsp + 0x190]
lea rax, [r14 + rdi]
sar rax, 0x3f
btc rax, 0x3f
add rdi, r14
cmovo rdi, rax
mov rcx, r14
cmp rcx, rbx
je 0x140080bb9
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 [r15]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400814c8
mov dil, 1
cmp byte [rsi + 0x10], 0
je 0x14008123f
mov rbx, qword [rsp + 0x50]
cmp byte [rsp + 0x360], 0
jne 0x140080bed
test dil, dil
je 0x14008165f
mov qword [rsp + 0x190], 0xa
mov al, byte [0x14015765a]
test al, al
jne 0x1400815ab
mov al, byte [rbp + 0x30]
test al, al
jne 0x140081559
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x140082a10]
cmp rax, rcx
jne 0x140081f84
mov al, byte [rbp + 0x70]
test al, al
jne 0x140081559
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x140147c20]
and rax, rsi
cmp rax, qword [0x140147c08]
jne 0x140080153
mov rcx, rsi
call fcn.140073220
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140081766
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x140081cf4
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x140147c20]
and rax, rsi
cmp rax, qword [0x140147c08]
jne 0x140080197
mov rcx, rsi
call fcn.1400736b0
test dil, dil
jne 0x140081559
cmp byte [rsp + 0x78], 0
je 0x1400801d9
cmp byte [rsp + 0x118], 0
jne 0x140081fb3
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 0x140081eff
mov esi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], esi
jne 0x140081fef
movaps xmmword [rsp + 0xf0], xmm6
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x140082630]
cmp rax, rcx
jne 0x140081ffe
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0xf0]
mov r8, rbp
call qword [0x14013a9a8]
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x1400812a7
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0xe8]
call fcn.140073210
mov rsi, qword [rbp + 0x38]
mov r14, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
movzx eax, byte [r14 + 0xd]
and eax, 0x7f
mov r13b, 1
cmp eax, 1
jne 0x140080bcb
mov rax, qword [rsi + 0x10]
mov ecx, 2
lock xadd dword [rax], ecx
test cl, 1
jne 0x140081eef
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 [0x140147c20]
and rax, r14
cmp rax, qword [0x140147c08]
jne 0x140080344
mov rcx, r14
call fcn.140086860
mov qword [rsp + 0x170], r14
lea rbp, [r14 + 0x18]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400814ba
test r13b, r13b
je 0x1400820a4
mov rax, qword [r14]
mov rax, qword [rax + 0x40]
lea rcx, [0x14006db90]
cmp rax, rcx
jne 0x140080425
mov rax, qword [0x140147c20]
and rax, rbp
cmp rax, qword [0x140147c08]
jne 0x14008039c
mov rcx, rbp
call fcn.140086860
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.1400827d0
mov rax, qword [r14 + 0x58]
cmp rax, qword [r14 + 0x60]
jne 0x140080400
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
je 0x140080408
mov rcx, r14
call fcn.140082640
mov rax, qword [0x140147c20]
and rax, rbp
cmp rax, qword [0x140147c08]
jne 0x14008043e
mov rcx, rbp
call fcn.140073aa0
jmp 0x14008043e
mov rcx, r14
lea rdx, [rsp + 0x210]
lea r8, [rsp + 0x170]
call qword [0x14013a9a8]
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 0x140080574
test cl, cl
je 0x1400805ce
mov r15, rsi
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 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 0x1400805a4
lock dec dword [rsi]
jne 0x1400805a4
mov rax, qword [rsi + 0x10]
lea rcx, [0x1401101d0]
cmp rax, rcx
jne 0x140081738
jmp 0x140081774
test cl, cl
je 0x1400811c5
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
test rcx, rcx
jne 0x14008118d
mov r15, rsi
mov byte [rsp + 0x3a0], 0
cmp byte [rsp + 0x310], 0
mov rsi, r15
je 0x1400805ce
mov rcx, qword [rsp + 0x308]
mov qword [rsp + 0x308], 0
test rcx, rcx
jne 0x140080f6b
test r13b, r13b
je 0x1400805f0
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x288], 0
test rcx, rcx
jne 0x140080bff
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 0x140080ad2
cmp byte [rsp + 0x3a0], 0
je 0x14007f70b
cmp qword [rsp + 0x348], 0
jne 0x1400815fc
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 [rsi]
mov rax, qword [rax + 8]
lea rcx, [0x14006d550]
cmp rax, rcx
jne 0x140081f92
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 [0x14013a9a8]
movzx edi, byte [rsp + 0x129]
test dil, 0x7f
jne 0x140080705
mov rax, qword [rsp + 0x98]
inc dword [rax]
mov ecx, dword [r14 + 0x30]
mov eax, dword [rsp + 0x170]
mov r15d, dword [r12]
mov r8, rbx
mov ebx, dword [rbx]
cmp ebx, 0xffffffff
je 0x14008179d
mov r9, qword [rsp + 0xb8]
movzx edx, byte [r9]
mov byte [rsp + 0x47], dl
mov edx, 1
lock xadd dword [0x14015c5a0], edx
cmp ecx, 2
mov dword [r12], edx
mov dword [r8], eax
sete byte [r9]
movzx eax, byte [rsp + 0x128]
mov rcx, qword [rsp + 0x88]
movzx edx, byte [rcx]
mov byte [rsp + 0x46], dl
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 0x1400807b8
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 0x1400809c5
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140081e41
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 dword [rsp + 0x68], r13d
jne 0x140080a6b
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x128]
mov r9, r14
call fcn.140082a20
mov r13, rsi
mov rsi, qword [rsp + 0x208]
mov qword [rsp + 0x208], 0
test rsi, rsi
jne 0x140080b69
cmp byte [rsp + 0x2c0], 0
je 0x140080949
mov rcx, qword [rsp + 0x2b8]
test rcx, rcx
je 0x140080902
lock dec dword [rcx + 8]
je 0x140081ea2
mov rax, qword [rsp + reloc.SHELL32.dll_IsUserAnAdmin]
test rax, rax
je 0x14008091a
mov rcx, qword [rsp + 0x2b0]
mov qword [rax], rcx
mov rsi, qword [rsp + 0x2a0]
test rsi, rsi
je 0x140080931
lock dec dword [rsi + 8]
je 0x140080b05
mov rax, qword [rsp + 0x290]
test rax, rax
je 0x140080949
mov rcx, qword [rsp + 0x298]
mov qword [rax], rcx
cmp byte [rsp + 0x148], 0
je 0x140080982
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x14008096a
lock dec dword [rcx + 8]
je 0x140081eac
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x140080982
mov rcx, qword [rsp + 0x138]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb0]
mov qword [rax], r12
cmp byte [rsp + 0x168], 0
je 0x14007f62f
mov rsi, qword [rsp + 0x150]
test rsi, rsi
je 0x14007f62f
mov r12, qword [rsp + 0x158]
mov rcx, rsi
cmp r12, rsi
jne 0x14007f5d4
jmp 0x14007f622
mov rax, qword [rsp + 0x180]
test rax, rax
je 0x140080880
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140081e44
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 0x140081e47
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + reloc.SHELL32.dll_IsUserAnAdmin], rdx
mov rcx, qword [rdx]
lea r8, [rsp + reloc.SHELL32.dll_IsUserAnAdmin]
mov qword [rdx], r8
mov qword [rsp + 0x2b0], rcx
mov qword [rsp + 0x2b8], rax
lea rax, [rsp + 0x2c0]
jmp 0x14008087d
cmp eax, 2
jne 0x140080a9d
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x128]
mov r9, r14
call fcn.140082d00
jmp 0x1400808c1
test eax, eax
jne 0x1400808c1
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x128]
mov r9, r14
call fcn.140082fc0
jmp 0x1400808c1
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x170]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
jne 0x140080616
call fcn.140073aa0
jmp 0x140080616
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401091d0]
cmp qword [rcx + 0x10], rdx
jne 0x140080b25
lea rcx, [0x140115710]
cmp rax, rcx
je 0x140080b38
mov rcx, rsi
mov edx, 1
call qword [0x14013a9a8]
jmp 0x140080931
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140080b4a
lock dec dword [rcx]
je 0x1400819cc
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x140080b5c
lock dec dword [rax]
je 0x140081914
mov rcx, rsi
call fcn.1400b4d44
jmp 0x140080931
lock dec dword [rsi]
jne 0x1400808e1
mov rax, qword [rsi + 0x10]
lea rcx, [0x1401101d0]
cmp rax, rcx
je 0x140080b90
mov rcx, rsi
call qword [0x14013a9a8]
jmp 0x1400808e1
mov rcx, qword [rsi + 0x28]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
jne 0x140080bac
call fcn.1400736b0
mov rcx, rsi
call fcn.1400b4d44
jmp 0x1400808e1
mov edx, 0xffffffff
jmp 0x1400800ae
mov rdi, rbx
jmp 0x140080066
cmp eax, 2
je 0x1400802b4
test eax, eax
jne 0x140081ee8
mov rax, qword [rsi + 0x10]
mov eax, dword [rax]
test al, 1
sete r13b
jmp 0x1400802b4
lea rcx, [rsp + 0x320]
call fcn.140077b10
jmp 0x1400800df
lock dec dword [rcx]
jne 0x140080c0e
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
mov rcx, qword [rsp + 0x288]
test rcx, rcx
je 0x1400805f0
lock dec dword [rcx]
jne 0x1400805f0
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
jmp 0x1400805f0
lea rsi, [rax + 0x10]
xor edi, edi
cmp qword [rsi], 0
jne 0x140080e12
jmp 0x140081c1a
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
test rax, rax
je 0x140081a95
mov ebp, esi
mov rax, qword [rax + 8]
cmp byte [rax + 0xc], 0
jne 0x14007fd11
mov rcx, qword [0x140145e28]
mov byte [rax + 0xc], 1
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsi]
mov rax, qword [rax + 8]
mov edx, dword [rcx + 0x10]
cmp dword [rax + 8], edx
jne 0x14008227d
mov rax, qword [rsi]
test bpl, 1
jne 0x140080c37
test bpl, 2
jne 0x140080cf1
test bpl, 4
jne 0x140080d0a
test bpl, 8
jne 0x140080d29
test bpl, 0x10
jne 0x140080d48
test bpl, 0x20
jne 0x140080d67
test bpl, 0x40
jne 0x140080d86
test bpl, bpl
jns 0x140080f4c
lea rsi, [rax + 0x2b0]
mov edi, 7
cmp qword [rax + 0x2b0], 0
jne 0x140080e12
jmp 0x140081b48
lea rsi, [rax + 0x70]
mov edi, 1
cmp qword [rax + 0x70], 0
jne 0x140080e12
jmp 0x140081bf1
lea rsi, [rax + 0xd0]
mov edi, 2
cmp qword [rax + 0xd0], 0
jne 0x140080e12
jmp 0x140081bc8
lea rsi, [rax + 0x130]
mov edi, 3
cmp qword [rax + 0x130], 0
jne 0x140080e12
jmp 0x140081c5a
lea rsi, [rax + 0x190]
mov edi, 4
cmp qword [rax + 0x190], 0
jne 0x140080e12
jmp 0x140081b9f
lea rsi, [rax + 0x1f0]
mov edi, 5
cmp qword [rax + 0x1f0], 0
jne 0x140080e12
jmp 0x140081b73
lea rsi, [rax + 0x250]
mov edi, 6
cmp qword [rax + 0x250], 0
jne 0x140080e12
jmp 0x140081c83
mov r8d, dword [r14 + 0x20]
cmp r8, 0x7f
ja 0x140081a2d
mov rbx, qword [r14]
mov rdx, qword [rbx + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x140081a2d
cmp rax, qword [rbx + 8]
jb 0x140081a2d
lea rcx, [rdx - 3]
call fcn.1400eabe0
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 0x140080eab
mov rcx, r14
call fcn.14007ee00
jmp 0x140080e99
cmp qword [rsi], 0
je 0x140081a5c
test rsi, rsi
je 0x140080f4c
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x1400b2c00]
cmp rax, rdx
jne 0x140082192
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
cmp rax, qword [rsi + 0x50]
je 0x140080ee5
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.140083280]
cmp rax, rdx
jne 0x14008226a
lea rdx, [rsp + 0x320]
call fcn.140083280
mov r14, qword [rsp + 0x320]
test r14, r14
je 0x140080ebb
mov r15, qword [rsp + 0x328]
cmp byte [r14 + 0x24], 0
jne 0x140080eab
cmp qword [r14 + 0x10], 0
jne 0x140080dfb
mov rax, qword [r14 + 0x18]
test rax, rax
jne 0x140080da1
mov byte [r14 + 0x24], 1
test r15, r15
je 0x140080ebb
mov rcx, r15
mov rdx, r14
call fcn.14008ced0
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x1400b2c00]
cmp rax, rdx
jne 0x1400821f3
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
mov qword [rsi + 0x50], rax
cmp byte [rsi + 0x48], 0
jne 0x1400822a8
cmp edi, 6
ja 0x140080f4c
mov eax, edi
inc edi
inc rax
mov rcx, qword [rsp + 0x60]
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, [0x140147798]
mov ebx, ebp
mov r9d, 1
mov ecx, edi
shl r9d, cl
bt ebx, edi
jb 0x140080e08
add rdx, 0xffffffffffffff80
sub r8, 0xffffffffffffff80
add rsi, 0x60
inc edi
cmp rax, rdx
jne 0x140080f25
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov byte [rax + 0xc], 0
movabs rbx, 0x7fffffffffffffff
jmp 0x14007fd11
lock dec dword [rcx]
jne 0x140080f7a
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
mov rcx, qword [rsp + 0x308]
test rcx, rcx
je 0x1400805ce
lock dec dword [rcx]
jne 0x1400805ce
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
jmp 0x1400805ce
lea rcx, [rsp + 0x290]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.1400754d0
cmp byte [rsp + 0x360], 0
jne 0x14008228f
mov rax, qword [rsp + 0xc8]
mov rdi, qword [rax]
mov rax, qword [0x140147c20]
and rax, rdi
cmp rax, qword [0x140147c08]
jne 0x140080ff8
mov rcx, rdi
call fcn.140086860
mov qword [rsp + 0x320], rdi
mov rax, qword [rsp + 0x90]
mov rdi, qword [rax]
mov rax, qword [0x140147c20]
and rax, rdi
cmp rax, qword [0x140147c08]
jne 0x140081026
mov rcx, rdi
call fcn.140086860
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 0x1400810c2
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 + 0x88]
cmp byte [rcx], al
je 0x1400810c6
mov rax, qword [rsp + 0x328]
test rax, rax
je 0x1400810f4
cmp byte [rax + 0x38], 0
je 0x1400810f4
mov rdi, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test rdi, rdi
je 0x1400810f4
lock dec dword [rdi]
jne 0x1400810f4
mov rcx, rdi
call fcn.14000c830
mov rcx, rdi
call fcn.1400b4d44
jmp 0x1400810f4
xor eax, eax
jmp 0x140081064
mov eax, dword [0x14015aa4c]
mov ecx, dword [0x140153d98]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400819d6
cmp byte [0x14015aa48], 0
je 0x140081087
mov rcx, qword [rsp + 0x320]
test rcx, rcx
je 0x140081113
cmp qword [rsp + 0x328], 0
jne 0x140081113
xor edx, edx
call fcn.140078570
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14015765a]
test al, al
jne 0x140081136
mov byte [rsp + 0x360], 1
jmp 0x14007ffda
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.140012110
jmp 0x140081129
mov rcx, rsi
lea rdx, [rsp + 0x130]
call qword [0x14013a9a8]
jmp 0x14007fdaa
lock dec dword [rcx]
jne 0x14008119c
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x140080599
lock dec dword [rcx]
jne 0x140080599
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
jmp 0x140080599
mov r15, rsi
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 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 0x1400805a4
mov qword [rsp + 0x170], 0x9b
mov al, byte [0x1401576eb]
test al, al
mov rbx, qword [rsp + 0x50]
je 0x1400800d1
movzx ecx, al
xor r15, qword [0x1401552b0]
mov qword [rsp + 0x290], r15
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.14008bf10
jmp 0x1400800d1
mov al, byte [rbp + 0x30]
test al, al
jne 0x14007fb28
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, rbp
call qword [0x14013a9a8]
test al, al
jne 0x14007fb28
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x140147c20]
and rax, rsi
cmp rax, qword [0x140147c08]
jne 0x1400812ee
mov rcx, rsi
call fcn.140073220
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140081a1f
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x140081d66
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x140147c20]
and rax, rsi
cmp rax, qword [0x140147c08]
jne 0x140081332
mov rcx, rsi
call fcn.1400736b0
test dil, dil
jne 0x14007fb28
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x14013a9a8]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x40]
mov rcx, rax
mov rax, rdx
call qword [0x14013a9a8]
jmp 0x14007fb28
mov rax, qword [r12 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x1400813a2
jmp 0x140081e08
mov r12, qword [rsp + 0x328]
test r12, r12
je 0x14007fad2
mov qword [rsp + 0x320], 0
mov al, byte [rsi + 0xd]
and al, 0x7f
cmp al, 2
je 0x140081364
lock dec dword [r12 + 0x18]
je 0x1400813c6
lock dec dword [rsi + 8]
jne 0x14007fae7
mov rcx, rsi
mov edx, 1
call fcn.140078fc0
jmp 0x14007fae7
lea r14, [r12 + 0x20]
mov rax, qword [0x140147c20]
and rax, r14
cmp rax, qword [0x140147c08]
jne 0x1400813e6
mov rcx, r14
call fcn.140073220
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140081b08
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 [0x140147c20]
and rax, r14
mov rcx, qword [0x140147c08]
cmp rax, rcx
jne 0x14008143a
mov rcx, r14
call fcn.1400736b0
mov rcx, qword [0x140147c08]
mov rax, qword [0x140147c20]
and rax, r14
cmp rax, rcx
jne 0x140081447
mov rcx, r14
call fcn.140073220
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140081b16
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 [0x140147c20]
and rax, r14
cmp rax, qword [0x140147c08]
jne 0x14008149c
mov rcx, r14
call fcn.1400736b0
mov r12, r15
cmp r15, rbx
jne 0x1400822db
mov rcx, rdi
call fcn.14008bde0
mov rbx, qword [rsp + 0x50]
jmp 0x14007fade
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140080361
mov rax, qword [0x140147780]
lea rcx, [0x1400b3080]
cmp rax, rcx
jne 0x140081d53
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x140157648]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x140082436
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 0x140080069
xor edi, edi
jmp 0x1400800cc
xor edi, edi
jmp 0x14007fb84
movzx ecx, al
lea rax, str.WorkerThread_active
mov qword [rsp + 0x320], rax
lea rax, [0x1401215a0]
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.140005970
jmp 0x14007fd03
movzx ecx, al
mov rax, qword [0x1401552b0]
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.14008bf10
jmp 0x140080102
mov rax, qword [rsi + 0x10]
mov eax, dword [rax]
test al, 1
je 0x140080633
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
lea rdx, [rsp + 0x120]
mov qword [rdx], rax
lea rcx, [rsp + 0x398]
call fcn.1400ed630
cmp byte [rsp + 0x3a0], 0
jne 0x140080633
int3
mov rcx, qword [r15]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
mov rbx, qword [rsp + 0x50]
je 0x1400800e8
mov eax, dword [0x140153d98]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x158]
cmp rdi, 2
jb 0x1400816a4
mov byte [rdi + 4], 0
mov ebx, pe_nt_image_headers64
lea rdx, [rdi + rbx]
mov rcx, rdi
xor r8d, r8d
call fcn.1400a15e0
add rbx, 0x10
cmp rbx, 0x4f8
jne 0x140081688
mov rax, qword [rsp + 0x130]
cmp rax, r14
movabs r8, 0x7fffffffffffffff
mov rbx, qword [rsp + 0x50]
jle 0x1400800e8
setns cl
movzx ecx, cl
add rcx, r8
mov rdx, rax
sub rdx, r14
cmovo rdx, rcx
cmp rax, r8
cmove rdx, r8
lea rax, [r8 + r14]
add rax, 2
cmp rax, 2
cmovb rdx, r8
mov rcx, rsi
call fcn.140085c50
jmp 0x1400800e8
lea rcx, [rsi - 0x40]
call qword [0x14013a9a8]
mov rcx, rbx
test al, al
je 0x14007fda2
mov rax, qword [rsi - 0x18]
cvtsi2sd xmm0, qword [rax + 0x30]
mulsd xmm0, xmm7
ucomisd xmm8, xmm0
jb 0x140082456
maxsd xmm0, xmm9
cvttsd2si rcx, xmm0
jmp 0x14007fda2
mov rcx, rsi
call qword [0x14013a9a8]
jmp 0x1400805a4
mov rcx, rsi
call fcn.140006be0
mov rbx, qword [rsp + 0x50]
jmp 0x1400800e8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14007fc8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140080164
mov rcx, qword [rsi + 0x28]
mov rax, qword [0x140147c20]
and rax, rcx
cmp rax, qword [0x140147c08]
jne 0x140081790
call fcn.1400736b0
mov rcx, rsi
call fcn.1400b4d44
jmp 0x1400805a4
mov ebx, 1
lock xadd dword [0x14015c59c], ebx
mov dword [r8], ebx
jmp 0x140080722
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [0x14013a9a8]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [0x14013a9a8]
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x14008248c
mov rsi, qword [rbp + 0x10]
mov qword [rbp + 0x10], 0
test rsi, rsi
jne 0x140081cac
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14015765a]
test al, al
mov rsi, qword [rsp + 0x80]
jne 0x14008249e
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14015765a]
test al, al
jne 0x1400824e4
mov ecx, dword [0x140147794]
test ecx, ecx
jne 0x14008242c
test rsi, rsi
je 0x140081869
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [0x14013a9a8]
lock dec dword [rsi]
jne 0x140081869
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x14013a9a8]
mov rcx, qword [rsp + 0x3a8]
xor rcx, rsp
call fcn.1400b7310
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]
add rsp, 0x408
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 0x14007f77a
mov rcx, rdi
call fcn.1400eba90
mov rcx, rdi
call fcn.1400b4d44
jmp 0x14007f3f3
lea rcx, [0x14015c578]
call fcn.1400b4df4
cmp dword [0x14015c578], 0xffffffff
jne 0x14007fe8e
mov rax, qword [rsp + 0x290]
mov qword [0x14015c570], rax
lea rcx, [0x14015c578]
call fcn.1400b4d88
jmp 0x14007fe8e
mov rcx, rax
mov qword [rsp + 0xc0], rax
call fcn.1400eba90
mov rcx, qword [rsp + 0xc0]
call fcn.1400b4d44
jmp 0x140080b5c
mov rax, qword [r12 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14007f417
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
lea rdx, [r12 + 0x50]
mov rcx, rsi
call fcn.14007e990
mov rcx, qword [r12 + 0x58]
call fcn.1400a41d0
mov rcx, rsi
call fcn.14007e940
jmp 0x14007f417
lea rcx, [0x14015c56c]
call fcn.1400b4df4
cmp dword [0x14015c56c], 0xffffffff
jne 0x14007fde3
lea rcx, str.DelayFirstWorkerWake
call fcn.140085a50
mov byte [0x14015c568], al
lea rcx, [0x14015c56c]
call fcn.1400b4d88
jmp 0x14007fde3
call fcn.1400b4d44
jmp 0x14007f3e1
call fcn.1400b4d44
jmp 0x140080b4a
lea rcx, [0x14015aa4c]
call fcn.1400b4df4
cmp dword [0x14015aa4c], 0xffffffff
jne 0x1400810eb
mov rcx, qword [0x140156d40]
test rcx, rcx
je 0x140081a07
lea rdx, str.enable_background_thread_pool
call fcn.14000c8e0
mov byte [0x14015aa48], 1
lea rcx, [0x14015aa4c]
call fcn.1400b4d88
jmp 0x1400810eb
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400812ff
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 0x140080dea
mov ebx, dword [0x140147794]
and ebx, ebp
test ebx, r9d
je 0x140081a72
mov cl, byte [r8 + rax]
test cl, 1
jne 0x140081a79
mov ebp, ebx
jmp 0x140080f39
add r8, rax
lea rcx, [0x140147788]
mov rdx, rsi
mov r9d, edi
call fcn.140002b20
mov ebp, ebx
jmp 0x140080e12
mov rax, qword [0x140145e28]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14013a9a8]
lea rcx, [rax + 0x6218]
lea rdx, [0x140147788]
mov qword [rax + 0x6218], rdx
mov qword [rax + 0x6220], rax
mov rax, qword [rsp + 0x60]
mov qword [rax], rcx
mov ebp, dword [0x140147794]
and ebp, esi
je 0x14007fd11
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
jmp 0x140080c5f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14007f454
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14007f4b5
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400813f7
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140081458
mov esi, 3
jmp 0x14007fa61
lea rcx, [rsp + 0x190]
call qword [0x14013a9a8]
jmp 0x14008004a
xor eax, eax
jmp 0x14007ff59
mov eax, dword [0x140147794]
test al, al
jns 0x140080f4c
mov cl, byte [0x140147b18]
test cl, 1
je 0x140080f4c
and ebp, eax
lea r8, [0x140147b18]
jmp 0x140081c43
mov ecx, dword [0x140147794]
and ebp, ecx
test cl, 0x20
je 0x140080cbf
mov cl, byte [0x140147a18]
test cl, 1
je 0x140080cbf
lea r8, [0x140147a18]
jmp 0x140081c43
mov ecx, dword [0x140147794]
and ebp, ecx
test cl, 0x10
je 0x140080cb5
mov cl, byte [0x140147998]
test cl, 1
je 0x140080cb5
lea r8, [0x140147998]
jmp 0x140081c43
mov ecx, dword [0x140147794]
and ebp, ecx
test cl, 4
je 0x140080ca5
mov cl, byte [0x140147898]
test cl, 1
je 0x140080ca5
lea r8, [0x140147898]
jmp 0x140081c43
mov ecx, dword [0x140147794]
and ebp, ecx
test cl, 2
je 0x140080c9f
mov cl, byte [0x140147818]
test cl, 1
je 0x140080c9f
lea r8, [0x140147818]
jmp 0x140081c43
mov ecx, dword [0x140147794]
and ebp, ecx
test cl, 1
je 0x140080c99
mov cl, byte [0x140147798]
test cl, 1
je 0x140080c99
lea r8, [0x140147798]
xor edi, edi
lea rcx, [0x140147788]
mov rdx, rsi
mov r9d, edi
call fcn.140002b20
jmp 0x140080e12
mov ecx, dword [0x140147794]
and ebp, ecx
test cl, 8
je 0x140080cab
mov cl, byte [0x140147918]
test cl, 1
je 0x140080cab
lea r8, [0x140147918]
jmp 0x140081c43
mov ecx, dword [0x140147794]
and ebp, ecx
test cl, 0x40
je 0x140080cc9
mov cl, byte [0x140147a98]
test cl, 1
je 0x140080cc9
lea r8, [0x140147a98]
jmp 0x140081c43
lock dec dword [rsi + 8]
jne 0x1400817fb
mov rcx, rsi
call fcn.1400eb840
mov rcx, rsi
call fcn.1400b4d44
jmp 0x1400817fb
lea rcx, [rsp + 0x290]
call qword [0x14013a9a8]
jmp 0x14007fe69
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14007fc9c
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x140080173
mov rdi, rsi
lea rsi, [rsp + 0x290]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
lea rdx, [rdi + 0x50]
mov rcx, rsi
call fcn.14007e990
mov rcx, qword [rdi + 0x58]
call fcn.1400a41d0
mov rcx, rsi
call fcn.14007e940
jmp 0x14007f731
mov ecx, esi
call fcn.140006f50
mov dword [rbp + 0x54], esi
jmp 0x14007fa6a
lea rcx, [rsp + 0x290]
call qword [0x14013a9a8]
jmp 0x14008152f
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14008130e
mov rdx, qword [0x14015aa58]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x14007f96a
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
add rdx, 0xd8
mov rcx, rsi
call fcn.14007e990
mov rcx, rsi
call fcn.14007e940
jmp 0x14007f96a
mov rdx, qword [0x14015aa58]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x14007fbb9
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
add rdx, 0xd8
mov rcx, rsi
call fcn.14007e990
mov rcx, rsi
call fcn.14007e940
jmp 0x14007fbb9
lea rdi, [rsp + 0x290]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
lea rdx, [r12 + 0x50]
mov rcx, rdi
call fcn.14007e990
mov rcx, qword [r12 + 0x58]
call fcn.1400a41d0
mov rcx, rdi
call fcn.14007e940
jmp 0x1400813a2
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
call fcn.140073aa0
jmp 0x14007f905
call fcn.140073aa0
jmp 0x14007fab9
call fcn.140073aa0
jmp 0x14007fb06
mov rcx, r12
call fcn.140073aa0
jmp 0x14007f89f
call fcn.140096500
jmp 0x140080902
call fcn.140096500
jmp 0x14008096a
lock dec dword [rcx + 8]
jne 0x14007f8e6
mov edx, 1
call fcn.140078fc0
jmp 0x14007f8e6
lock dec dword [rcx + 8]
jne 0x14007fb28
mov edx, 1
call fcn.140078fc0
jmp 0x14007fb28
call fcn.1400ec9a0
jmp 0x140081ef7
mov rcx, rsi
call fcn.140110410
xor r13d, r13d
jmp 0x1400802b4
mov esi, 3
jmp 0x1400801ee
call fcn.140073aa0
jmp 0x14007fb64
mov rcx, rbp
call qword [0x14013a9a8]
mov rcx, rax
jmp 0x14007fa11
lock dec dword [r8 + 8]
jne 0x14007f8cd
mov rcx, r8
mov edx, 1
call fcn.140078fc0
jmp 0x14007f8cd
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x14007f8b0
mov qword [rsp + 0xf0], 0
lea rsi, [rsp + 0x320]
mov rdx, rsi
call fcn.14001ba00
mov r8, qword [rsi]
jmp 0x14007f8c4
mov rcx, rbp
call qword [0x14013a9a8]
jmp 0x14007fc51
mov rcx, rbp
call qword [0x14013a9a8]
jmp 0x140080128
lea rdx, [rsp + 0x190]
lea r9, [rsp + 0x128]
mov rcx, rsi
mov r8, r14
call qword [0x14013a9a8]
jmp 0x14007f70b
lea rcx, [rsp + 0x100]
call fcn.1400869c0
jmp 0x1400801b5
lock dec dword [rcx + 8]
jne 0x14007fb81
mov edx, 1
call fcn.140078fc0
jmp 0x14007fb81
mov rcx, rbp
call qword [0x14013a9a8]
mov rsi, rax
jmp 0x14007fd40
mov ecx, esi
call fcn.140006f50
mov dword [rbp + 0x54], esi
jmp 0x1400801f7
mov rcx, rbp
call qword [0x14013a9a8]
mov rcx, rax
jmp 0x14008021b
lea rsi, [rsp + 0x100]
mov rcx, rsi
call fcn.1400869c0
mov byte [rsi + 0x18], 0
jmp 0x14007fd1f
lea rcx, [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
call fcn.140110210
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140082060
cmp byte [rsp + 0x110], 0
je 0x14007f98e
cmp qword [rdi + 0x18], 0
jne 0x140082028
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
jmp 0x14007f98e
lea rcx, [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
call fcn.140110210
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14007f97f
mov rax, qword [r14]
mov rax, qword [rax + 0x58]
mov rdi, rsi
lea rsi, [rsp + 0x290]
lea r8, [rsp + 0x170]
mov rcx, r14
mov rdx, rsi
call qword [0x14013a9a8]
mov al, byte [rsi + 0x80]
mov rsi, rdi
jmp 0x1400804c4
lea rcx, [rbx + r9]
add rcx, 2
mov r14, rbx
cmp rcx, 1
ja 0x14007ff70
mov r14, rbx
cmp r9, rax
je 0x14007ff70
int3
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.140110210
movabs rcx, 0xff00000000000000
and rcx, rbx
mov rbx, qword [rsp + 0x50]
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14007f9a1
lea rax, [rbx + r8]
add rax, 2
lea r9, [rbx + 1]
cmp rax, 1
jbe 0x140082152
mov rbp, qword [rsp + 0x48]
movabs rbx, 0x7fffffffffffffff
mov r12, qword [rsp + 0x70]
jmp 0x14007fed9
cmp r8, r14
mov rbp, qword [rsp + 0x48]
movabs rbx, 0x7fffffffffffffff
mov r12, qword [rsp + 0x70]
je 0x14007fed9
int3
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14007fe61
call qword [0x14013a9a8]
jmp 0x140080e41
lea rcx, [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
call fcn.140110210
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400821d5
cmp byte [rsp + 0x110], 0
je 0x14007fbdd
cmp qword [rbx + 0x18], 0
jne 0x14008219d
movabs rax, 0x4000000000000000
lock or qword [rbx + 0x10], rax
mov rbp, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
jmp 0x14007fbdd
call qword [0x14013a9a8]
jmp 0x140080ee1
lea rcx, [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
call fcn.140110210
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14007fbce
lea rcx, [rbx + 0x18]
mov r14, qword [rbx + 0x10]
call fcn.140110210
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14007fbf0
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140080042
lea rdx, [rsp + 0x320]
call qword [0x14013a9a8]
jmp 0x140080e72
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x14013a9a8]
jmp 0x140080c90
lea rdi, [rsp + 0x320]
mov rcx, rdi
call fcn.140077b10
mov byte [rdi + 0x40], 0
jmp 0x140080fd2
mov rcx, qword [rsi]
lea rax, [fcn.1400edbc0]
lea rdx, [rsp + 0x320]
mov qword [rdx + 0x18], rax
lea rax, [0x140121530]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x14013a9a8]
jmp 0x140080eef
cmp r13, r12
jb 0x140081e62
mov r14, qword [rdi + r12*8]
test r14, r14
je 0x140081e65
mov qword [rdi + r12*8], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [0x14013a9a8]
lock dec dword [r14]
jne 0x140082319
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [0x14013a9a8]
inc r12
xor eax, eax
cmp r12, r13
cmove r12, rax
cmp r12, rbx
jne 0x1400822db
cmp rbx, r15
jbe 0x1400825a7
cmp r13, rbx
jb 0x140081e68
cmp r15, rbx
jg 0x140081e6b
shl rbx, 3
shl r15, 3
mov rcx, qword [rdi + r15]
test rcx, rcx
jne 0x14008236a
add r15, 8
cmp rbx, r15
mov rbp, qword [rsp + 0x48]
je 0x1400814a8
jmp 0x14008234d
lock dec dword [rcx]
jne 0x140082356
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
jmp 0x140082356
cmp qword [rsp + 0x58], rdi
jb 0x140081e5f
mov rax, qword [rbp + rdi*8]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140081e4a
mov qword [rbp + rdi*8], 0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 8]
call qword [0x14013a9a8]
mov rax, qword [rsp + 0x68]
lock dec dword [rax]
jne 0x1400823ca
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
inc rdi
xor eax, eax
cmp rdi, qword [rsp + 0x58]
cmove rdi, rax
cmp rdi, rbx
jne 0x14008237b
cmp rbx, r12
jbe 0x14008252a
cmp qword [rsp + 0x58], rbx
jb 0x140081e4d
cmp r12, rbx
jg 0x140081e50
shl rbx, 3
shl r12, 3
mov rcx, qword [rbp + r12]
test rcx, rcx
jne 0x14008241b
add r12, 8
cmp rbx, r12
je 0x14007f50e
jmp 0x140082402
lock dec dword [rcx]
jne 0x14008240c
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
jmp 0x14008240c
call fcn.140114650
jmp 0x140081845
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140081527
xor ecx, ecx
ucomisd xmm0, qword [0x14012a8b8]
cmovae rcx, rbx
jmp 0x14007fda2
mov qword [rsp + 0x320], 0
jmp 0x14007f224
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14013a9a8]
jmp 0x14007f1b4
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14013a9a8]
jmp 0x1400817e6
movzx ecx, al
lea r8, [rsp + 0x320]
lea rax, str.WorkerThread_active
mov qword [r8], rax
lea rax, [0x1401215a0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x290]
mov r9d, 2
call fcn.140005970
jmp 0x14008181d
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1401215a0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x290]
mov r9d, 3
call fcn.140005970
jmp 0x140081837
cmp qword [rsp + 0x58], r12
jb 0x140081e53
jl 0x140081e56
je 0x14008256b
shl qword [rsp + 0x58], 3
shl r12, 3
mov rcx, qword [rbp + r12]
test rcx, rcx
je 0x140082560
lock dec dword [rcx]
jne 0x140082560
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
add r12, 8
cmp qword [rsp + 0x58], r12
jne 0x140082547
test rbx, rbx
js 0x140081e59
je 0x14007f50e
shl rbx, 3
xor edi, edi
mov rcx, qword [rbp + rdi]
test rcx, rcx
je 0x140082599
lock dec dword [rcx]
jne 0x140082599
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
add rdi, 8
cmp rbx, rdi
jne 0x140082580
jmp 0x14007f50e
cmp r13, r15
jb 0x140081e6e
jl 0x140081e71
je 0x1400825e1
shl r13, 3
shl r15, 3
mov rcx, qword [rdi + r15]
test rcx, rcx
je 0x1400825d8
lock dec dword [rcx]
jne 0x1400825d8
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
add r15, 8
cmp r13, r15
jne 0x1400825c0
test rbx, rbx
js 0x140081e74
mov rbp, qword [rsp + 0x48]
je 0x1400814a8
shl rbx, 3
xor r14d, r14d
mov rcx, qword [rdi + r14]
test rcx, rcx
je 0x140082614
lock dec dword [rcx]
jne 0x140082614
mov rax, qword [rcx + 0x10]
call qword [0x14013a9a8]
add r14, 8
cmp rbx, r14
mov rbp, qword [rsp + 0x48]
jne 0x1400825fc
jmp 0x1400814a8