Function at 0x14005e5f0
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 [0x140114040]
xor rax, rsp
mov qword [rsp + 0x3a8], rax
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14012560a]
test al, al
jne 0x14005e859
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14012560a]
test al, al
jne 0x14005e813
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x14006194a
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [str.P:_f_]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [str.P:_f_]
mov eax, dword [0x1401259e8]
test eax, eax
je 0x14005e802
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14005e6d1
cmp dword [rbp + 0x50], 0
je 0x14005e802
mov rcx, qword [0x1401259e0]
test rcx, rcx
je 0x140061939
lea rdx, [rsp + 0x320]
mov r8d, 2
call fcn.140019150
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x80], rax
mov al, 1
mov qword [rsp + 0x78], rax
movabs rbx, 0x7fffffffffffffff
mov eax, dword [0x140122718]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov qword [rsp + 0x60], 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 + 0x88], rcx
lea rcx, [rax + 0x190]
mov qword [rsp + 0x98], rcx
lea r12, [rax + 0x198]
lea rcx, [rax + 0x194]
mov qword [rsp + 0x50], rcx
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 [0x1400f3bf0]
movsd xmm7, qword [0x1400fee40]
movsd xmm8, qword [0x1400fe910]
movsd xmm9, qword [0x1400fe918]
xorps xmm10, xmm10
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x48], rbp
jmp 0x14005f0fb
xor eax, eax
mov qword [rsp + 0x80], rax
xor eax, eax
jmp 0x14005e706
movzx ecx, al
lea rax, str.WorkerThread_active
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400f68f0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0x290]
mov r9d, 1
call fcn.140004a70
jmp 0x14005e677
movzx ecx, al
lea rax, str.WorkerThread_born
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400f68f0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x290]
mov r9d, 3
call fcn.140004a70
jmp 0x14005e65d
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14005e8b1
lock dec dword [rcx]
je 0x140060e92
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x14005e8c3
lock dec dword [rdi]
je 0x140060d96
mov rcx, rsi
call fcn.140092084
jmp 0x14005eccd
test r12, r12
je 0x14005e9f3
mov al, byte [r14 + 0xd]
and al, 0x7f
cmp al, 2
je 0x140060e06
lock dec dword [r12 + 0x18]
jne 0x14005e9f3
lea rdi, [r12 + 0x20]
mov rax, qword [0x1401165a0]
and rax, rdi
cmp rax, qword [0x140116588]
jne 0x14005e913
mov rcx, rdi
call fcn.1400562e0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060fbc
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 [0x1401165a0]
and rax, rdi
mov rcx, qword [0x140116588]
cmp rax, rcx
jne 0x14005e967
mov rcx, rdi
call fcn.1400565a0
mov rcx, qword [0x140116588]
mov rax, qword [0x1401165a0]
and rax, rdi
cmp rax, rcx
jne 0x14005e974
mov rcx, rdi
call fcn.1400562e0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060fca
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 [0x1401165a0]
and rax, rdi
cmp rax, qword [0x140116588]
jne 0x14005e9d2
mov rcx, rdi
call fcn.1400565a0
mov rdi, r12
cmp r12, rbx
jne 0x14006184b
mov rcx, rbp
call fcn.14006ac00
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov r12, rsi
lock dec dword [r14 + 8]
jne 0x14005ed58
mov rcx, r14
mov edx, 1
call fcn.14005ba60
jmp 0x14005ed58
lock dec dword [rcx]
jne 0x14005ea1f
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x14005ed4f
lock dec dword [rcx]
jne 0x14005ed4f
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
jmp 0x14005ed4f
lock dec dword [rcx]
jne 0x14005ea57
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x14005ebdb
lock dec dword [rcx]
jne 0x14005ebdb
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
jmp 0x14005ebdb
call fcn.140056990
jmp 0x14005eb92
lea rcx, [r12 - 0x10]
call qword [str.P:_f_]
add r12, 0xffffffffffffffe8
cmp r12, rsi
je 0x14005eaea
mov rax, qword [r12 - 8]
test rax, rax
jne 0x14005ea90
jmp 0x14005ea9b
mov rcx, rbp
call fcn.140056440
test rbp, rbp
je 0x14005ec4a
jmp 0x14005ec39
mov rcx, r14
xor edx, edx
call qword [str.P:_f_]
test al, al
je 0x14005ed1d
mov r13, r14
mov r15, r12
xor r12d, r12d
xor r14d, r14d
jmp 0x14005ed23
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x158], rsi
call fcn.140092084
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 0x14005eb3f
mov rax, qword [rsp + 0x98]
dec dword [rax]
mov rcx, qword [rsp + 0x188]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
mov rsi, r13
jne 0x14005eb62
call fcn.140056990
mov qword [rsp + 0x188], 0
mov rcx, qword [rsp + 0x180]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
mov r13d, dword [rsp + 0x68]
je 0x14005ea80
mov qword [rsp + 0x180], 0
mov rcx, qword [rsp + 0x178]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
jne 0x14005ebbe
call fcn.140056990
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x208], 0
test rcx, rcx
jne 0x14005ea48
test r13b, r13b
je 0x14005ec01
movzx eax, byte [r14 + 0xd]
and al, 0x7f
cmp al, 1
jne 0x14005ec01
mov rax, qword [rsi + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
je 0x1400611da
mov rax, qword [r14]
mov rax, qword [rax + 0x48]
lea rcx, [0x140055290]
cmp rax, rcx
mov r12, qword [rsp + 0x58]
jne 0x14005eac6
mov rax, qword [0x1401165a0]
and rax, rbp
cmp rax, qword [0x140116588]
je 0x14005eab0
test rbp, rbp
je 0x14005ec4a
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060d88
mov rax, qword [0x1401165a0]
and rax, rbp
cmp rax, qword [0x140116588]
jne 0x14005ec65
mov rcx, rbp
call fcn.140056440
mov byte [r14 + 0x98], 0
mov rax, qword [r14 + 0x58]
mov sil, 1
cmp rax, qword [r14 + 0x60]
jne 0x14005ecd0
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
jne 0x14005ecd0
mov byte [r14 + 0x99], 0
mov rsi, qword [r14 + 0x40]
test rsi, rsi
je 0x14005eccd
lock dec dword [rsi + 8]
jne 0x14005eccd
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1400df1f0]
cmp qword [rcx + 0x10], rdx
jne 0x14005ecbf
lea rcx, [0x1400e9000]
cmp rax, rcx
je 0x14005e89f
mov rcx, rsi
mov edx, 1
call qword [str.P:_f_]
xor esi, esi
nop
mov rax, qword [0x1401165a0]
and rax, rbp
cmp rax, qword [0x140116588]
jne 0x14005eceb
mov rcx, rbp
call fcn.140056990
test rbp, rbp
je 0x14005ecf9
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401165a0]
and rax, rbp
cmp rax, qword [0x140116588]
jne 0x14005ed14
mov rcx, rbp
call fcn.140056990
test sil, sil
jne 0x14005ead9
xor r13d, r13d
xor r15d, r15d
mov rbp, qword [rsp + 0x48]
cmp byte [rsp + 0x3a0], 0
je 0x14005ed4f
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
test rcx, rcx
jne 0x14005ea10
test r14, r14
jne 0x14005e8d0
mov rax, qword [0x1401165a0]
and rax, r12
cmp rax, qword [0x140116588]
je 0x140061365
mov r8, qword [rsp + 0xf0]
test r8, r8
jne 0x140061411
mov qword [rsp + 0x320], r8
mov qword [rsp + 0xf0], 0
test r8, r8
jne 0x1400613f4
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], r13
test rcx, rcx
jne 0x140061386
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
je 0x140061347
mov qword [rsp + 0xf8], r15
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x190], rax
lea rcx, [rsp + 0x190]
call fcn.1400562d0
cmp byte [rsp + 0x78], 0
je 0x14005eebd
cmp byte [rsp + 0x118], 0
je 0x14005ee99
cmp byte [rsp + 0x100], 0
je 0x14005ee99
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rax]
test rdi, rdi
je 0x14005ee99
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x14006124c
cmp dword [rdi + 0x24], 1
jne 0x14006151b
cmp qword [rdi + 0x18], 0
jne 0x14006154e
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov rsi, qword [rsp + 0x108]
cmp qword [rdi + 0x18], 0
jne 0x1400615cc
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, [0x140061b00]
cmp rax, rcx
jne 0x1400613e3
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 [str.P:_f_]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x140060ff4
mov esi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], esi
jne 0x140061214
cmp qword [rsp + 0xf0], 0
jne 0x14006132c
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 [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
je 0x140061351
mov qword [rsp + 0xf8], rsi
mov rsi, qword [rsp + 0x320]
test rsi, rsi
jne 0x14006084c
mov qword [rsp + 0x320], 0
test rsi, rsi
jne 0x14006087a
mov rcx, qword [rsp + 0x328]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
je 0x14006135b
mov qword [rsp + 0x328], 0
mov rcx, qword [rsp + 0x320]
test rcx, rcx
mov r12, qword [rsp + 0x70]
jne 0x14006139f
mov rax, qword [rsp + 0xf0]
test rax, rax
jne 0x14005f714
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0xf8]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
je 0x1400613d9
mov qword [rsp + 0xf8], 0
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
jne 0x140061495
mov dil, 1
cmp byte [rsp + 0x118], 0
je 0x14005f0e8
cmp byte [rsp + 0x100], 0
je 0x14005f0e8
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rax]
test rbx, rbx
je 0x14005f0e8
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x140061292
cmp dword [rbx + 0x24], 1
jne 0x140061690
cmp qword [rbx + 0x18], 0
jne 0x1400616ce
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov rsi, qword [rsp + 0x108]
cmp qword [rbx + 0x18], 0
jne 0x1400616f4
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 0x140060c82
mov al, byte [rbp + 0x30]
test al, al
jne 0x140060c82
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x140061ee0]
cmp rax, rcx
jne 0x140061446
mov al, byte [rbp + 0x70]
test al, al
jne 0x140060c82
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x1401165a0]
and rax, rsi
cmp rax, qword [0x140116588]
jne 0x14005f14c
mov rcx, rsi
call fcn.1400562e0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060c28
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x1400611ae
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401165a0]
and rax, rsi
cmp rax, qword [0x140116588]
jne 0x14005f190
mov rcx, rsi
call fcn.1400565a0
test dil, dil
jne 0x140060c82
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 [0x14012560a]
test al, al
jne 0x140060a30
mov esi, dword [0x1401160e4]
test esi, esi
jne 0x14006011c
cmp byte [rsp + 0x118], 0
jne 0x1400614df
mov rbp, qword [rsp + 0x48]
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x140061b00]
cmp rax, rcx
jne 0x1400614ae
mov rsi, qword [rbp + 0x68]
mov rax, qword [rsi]
lea rcx, [fcn.140005e60]
cmp qword [rax + 0x30], rcx
jne 0x140060c16
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
mov rax, qword [rsi]
mov rax, qword [rax + 0x28]
lea rcx, [0x140065180]
cmp rax, rcx
jne 0x140060647
mov rax, qword [rsi - 0x40]
mov rax, qword [rax + 0x20]
lea rcx, [0x1400ea540]
cmp rax, rcx
jne 0x140060bcb
cmp byte [rsi + 0x18], 0
mov rcx, rbx
jne 0x140060be0
mov qword [rsp + 0x130], rcx
mov r14, qword [rsp + 0x130]
mov eax, 0xf4240
cmp r14, rax
cmovge r14, rax
mov eax, dword [0x14012bc9c]
mov ecx, dword [0x140122718]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140060e56
cmp byte [0x14012bc98], 0
je 0x14005f452
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x290], rax
mov rax, qword [fcn.14007a300]
lea rcx, [0x140090620]
cmp rax, rcx
jne 0x14006119b
mov qword [rsp + 0x320], 0
lea rcx, [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x320]
mov rcx, qword [0x140125770]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x140061642
imul rax, rax, 0xf4240
cqo
idiv rcx
mov qword [rsp + 0x290], rax
mov eax, dword [0x14012bca8]
mov ecx, dword [0x140122718]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140060dab
mov rax, qword [0x14012bca0]
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 0x1400615f7
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 0x14005f403
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 0x140061011
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 0x1400615a8
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 0x140060b17
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 0x140060473
cmp r14, rbx
je 0x140060093
mov rax, qword [0x140116510]
lea rcx, [0x140090620]
cmp rax, rcx
jne 0x140060ffe
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x140125770]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x14006171a
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 0x140060089
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 0x140060998
mov dil, 1
cmp byte [rsi + 0x10], 0
je 0x14006070f
mov rbx, qword [rsp + 0x50]
cmp byte [rsp + 0x360], 0
jne 0x1400600bd
test dil, dil
je 0x140060b2f
mov qword [rsp + 0x190], 0xa
mov al, byte [0x14012560a]
test al, al
jne 0x140060a7b
mov al, byte [rbp + 0x30]
test al, al
jne 0x140060a29
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
lea rcx, [0x140061ee0]
cmp rax, rcx
jne 0x140061454
mov al, byte [rbp + 0x70]
test al, al
jne 0x140060a29
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x1401165a0]
and rax, rsi
cmp rax, qword [0x140116588]
jne 0x14005f623
mov rcx, rsi
call fcn.1400562e0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060c36
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x1400611c4
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401165a0]
and rax, rsi
cmp rax, qword [0x140116588]
jne 0x14005f667
mov rcx, rsi
call fcn.1400565a0
test dil, dil
jne 0x140060a29
cmp byte [rsp + 0x78], 0
je 0x14005f6a9
cmp byte [rsp + 0x118], 0
jne 0x140061483
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 0x1400613cf
mov esi, dword [rbp + 0x50]
cmp dword [rbp + 0x54], esi
jne 0x1400614bf
movaps xmmword [rsp + 0xf0], xmm6
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
lea rcx, [0x140061b00]
cmp rax, rcx
jne 0x1400614ce
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
lea rdx, [rsp + 0xf0]
mov r8, rbp
call qword [str.P:_f_]
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x140060777
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0xe8]
call fcn.1400562d0
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 0x14006009b
mov rax, qword [rsi + 0x10]
mov ecx, 2
lock xadd dword [rax], ecx
test cl, 1
jne 0x1400613bf
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 [0x1401165a0]
and rax, r14
cmp rax, qword [0x140116588]
jne 0x14005f814
mov rcx, r14
call fcn.140056440
mov qword [rsp + 0x170], r14
lea rbp, [r14 + 0x18]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006098a
test r13b, r13b
je 0x140061574
mov rax, qword [r14]
mov rax, qword [rax + 0x40]
lea rcx, [0x140055160]
cmp rax, rcx
jne 0x14005f8f5
mov rax, qword [0x1401165a0]
and rax, rbp
cmp rax, qword [0x140116588]
jne 0x14005f86c
mov rcx, rbp
call fcn.140056440
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.140061ca0
mov rax, qword [r14 + 0x58]
cmp rax, qword [r14 + 0x60]
jne 0x14005f8d0
mov rax, qword [r14 + 0x70]
cmp rax, qword [r14 + 0x78]
je 0x14005f8d8
mov rcx, r14
call fcn.140061b10
mov rax, qword [0x1401165a0]
and rax, rbp
cmp rax, qword [0x140116588]
jne 0x14005f90e
mov rcx, rbp
call fcn.140056990
jmp 0x14005f90e
mov rcx, r14
lea rdx, [rsp + 0x210]
lea r8, [rsp + 0x170]
call qword [str.P:_f_]
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 0x14005fa44
test cl, cl
je 0x14005fa9e
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 0x14005fa74
lock dec dword [rsi]
jne 0x14005fa74
mov rax, qword [rsi + 0x10]
lea rcx, [0x1400e2b80]
cmp rax, rcx
jne 0x140060c08
jmp 0x140060c44
test cl, cl
je 0x140060695
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
test rcx, rcx
jne 0x14006065d
mov r15, rsi
mov byte [rsp + 0x3a0], 0
cmp byte [rsp + 0x310], 0
mov rsi, r15
je 0x14005fa9e
mov rcx, qword [rsp + 0x308]
mov qword [rsp + 0x308], 0
test rcx, rcx
jne 0x14006043b
test r13b, r13b
je 0x14005fac0
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x288], 0
test rcx, rcx
jne 0x1400600cf
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 0x14005ffa2
cmp byte [rsp + 0x3a0], 0
je 0x14005ebdb
cmp qword [rsp + 0x348], 0
jne 0x140060acc
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, [0x140054b20]
cmp rax, rcx
jne 0x140061462
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 [str.P:_f_]
movzx edi, byte [rsp + 0x129]
test dil, 0x7f
jne 0x14005fbd5
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 0x140060c6d
mov r9, qword [rsp + 0xb8]
movzx edx, byte [r9]
mov byte [rsp + 0x47], dl
mov edx, 1
lock xadd dword [0x14012bc4c], 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 0x14005fc88
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 0x14005fe95
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140061311
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 0x14005ff3b
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.140061ef0
mov r13, rsi
mov rsi, qword [rsp + 0x208]
mov qword [rsp + 0x208], 0
test rsi, rsi
jne 0x140060039
cmp byte [rsp + 0x2c0], 0
je 0x14005fe19
mov rcx, qword [rsp + 0x2b8]
test rcx, rcx
je 0x14005fdd2
lock dec dword [rcx + 8]
je 0x140061372
mov rax, qword [rsp + 0x2a8]
test rax, rax
je 0x14005fdea
mov rcx, qword [rsp + 0x2b0]
mov qword [rax], rcx
mov rsi, qword [rsp + 0x2a0]
test rsi, rsi
je 0x14005fe01
lock dec dword [rsi + 8]
je 0x14005ffd5
mov rax, qword [rsp + 0x290]
test rax, rax
je 0x14005fe19
mov rcx, qword [rsp + 0x298]
mov qword [rax], rcx
cmp byte [rsp + 0x148], 0
je 0x14005fe52
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x14005fe3a
lock dec dword [rcx + 8]
je 0x14006137c
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x14005fe52
mov rcx, qword [rsp + 0x138]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb0]
mov qword [rax], r12
cmp byte [rsp + 0x168], 0
je 0x14005eaff
mov rsi, qword [rsp + 0x150]
test rsi, rsi
je 0x14005eaff
mov r12, qword [rsp + 0x158]
mov rcx, rsi
cmp r12, rsi
jne 0x14005eaa4
jmp 0x14005eaf2
mov rax, qword [rsp + 0x180]
test rax, rax
je 0x14005fd50
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140061314
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 0x140061317
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 0x14005fd4d
cmp eax, 2
jne 0x14005ff6d
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.1400621d0
jmp 0x14005fd91
test eax, eax
jne 0x14005fd91
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.140062490
jmp 0x14005fd91
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x170]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
jne 0x14005fae6
call fcn.140056990
jmp 0x14005fae6
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1400df1f0]
cmp qword [rcx + 0x10], rdx
jne 0x14005fff5
lea rcx, [0x1400e9000]
cmp rax, rcx
je 0x140060008
mov rcx, rsi
mov edx, 1
call qword [str.P:_f_]
jmp 0x14005fe01
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14006001a
lock dec dword [rcx]
je 0x140060e9c
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14006002c
lock dec dword [rax]
je 0x140060de4
mov rcx, rsi
call fcn.140092084
jmp 0x14005fe01
lock dec dword [rsi]
jne 0x14005fdb1
mov rax, qword [rsi + 0x10]
lea rcx, [0x1400e2b80]
cmp rax, rcx
je 0x140060060
mov rcx, rsi
call qword [str.P:_f_]
jmp 0x14005fdb1
mov rcx, qword [rsi + 0x28]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
jne 0x14006007c
call fcn.1400565a0
mov rcx, rsi
call fcn.140092084
jmp 0x14005fdb1
mov edx, 0xffffffff
jmp 0x14005f57e
mov rdi, rbx
jmp 0x14005f536
cmp eax, 2
je 0x14005f784
test eax, eax
jne 0x1400613b8
mov rax, qword [rsi + 0x10]
mov eax, dword [rax]
test al, 1
sete r13b
jmp 0x14005f784
lea rcx, [rsp + 0x320]
call fcn.14005a5b0
jmp 0x14005f5af
lock dec dword [rcx]
jne 0x1400600de
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
mov rcx, qword [rsp + 0x288]
test rcx, rcx
je 0x14005fac0
lock dec dword [rcx]
jne 0x14005fac0
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
jmp 0x14005fac0
lea rsi, [rax + 0x10]
xor edi, edi
cmp qword [rsi], 0
jne 0x1400602e2
jmp 0x1400610ea
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
test rax, rax
je 0x140060f65
mov ebp, esi
mov rax, qword [rax + 8]
cmp byte [rax + 0xc], 0
jne 0x14005f1e1
mov rcx, qword [0x140114e18]
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 0x14006174d
mov rax, qword [rsi]
test bpl, 1
jne 0x140060107
test bpl, 2
jne 0x1400601c1
test bpl, 4
jne 0x1400601da
test bpl, 8
jne 0x1400601f9
test bpl, 0x10
jne 0x140060218
test bpl, 0x20
jne 0x140060237
test bpl, 0x40
jne 0x140060256
test bpl, bpl
jns 0x14006041c
lea rsi, [rax + 0x2b0]
mov edi, 7
cmp qword [rax + 0x2b0], 0
jne 0x1400602e2
jmp 0x140061018
lea rsi, [rax + 0x70]
mov edi, 1
cmp qword [rax + 0x70], 0
jne 0x1400602e2
jmp 0x1400610c1
lea rsi, [rax + 0xd0]
mov edi, 2
cmp qword [rax + 0xd0], 0
jne 0x1400602e2
jmp 0x140061098
lea rsi, [rax + 0x130]
mov edi, 3
cmp qword [rax + 0x130], 0
jne 0x1400602e2
jmp 0x14006112a
lea rsi, [rax + 0x190]
mov edi, 4
cmp qword [rax + 0x190], 0
jne 0x1400602e2
jmp 0x14006106f
lea rsi, [rax + 0x1f0]
mov edi, 5
cmp qword [rax + 0x1f0], 0
jne 0x1400602e2
jmp 0x140061043
lea rsi, [rax + 0x250]
mov edi, 6
cmp qword [rax + 0x250], 0
jne 0x1400602e2
jmp 0x140061153
mov r8d, dword [r14 + 0x20]
cmp r8, 0x7f
ja 0x140060efd
mov rbx, qword [r14]
mov rdx, qword [rbx + 0x18]
sub rdx, r8
lea rcx, [rdx - 4]
cmp rax, rcx
jne 0x140060efd
cmp rax, qword [rbx + 8]
jb 0x140060efd
lea rcx, [rdx - 3]
call fcn.1400c3c30
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 0x14006037b
mov rcx, r14
call fcn.14005e2d0
jmp 0x140060369
cmp qword [rsi], 0
je 0x140060f2c
test rsi, rsi
je 0x14006041c
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x1400902a0]
cmp rax, rdx
jne 0x140061662
mov rax, qword [rcx + 0x60]
add rax, qword [rcx + 0x58]
sub rax, qword [rcx + 0x48]
cmp rax, qword [rsi + 0x50]
je 0x1400603b5
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [fcn.140062750]
cmp rax, rdx
jne 0x14006173a
lea rdx, [rsp + 0x320]
call fcn.140062750
mov r14, qword [rsp + 0x320]
test r14, r14
je 0x14006038b
mov r15, qword [rsp + 0x328]
cmp byte [r14 + 0x24], 0
jne 0x14006037b
cmp qword [r14 + 0x10], 0
jne 0x1400602cb
mov rax, qword [r14 + 0x18]
test rax, rax
jne 0x140060271
mov byte [r14 + 0x24], 1
test r15, r15
je 0x14006038b
mov rcx, r15
mov rdx, r14
call fcn.14006be80
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
lea rdx, [0x1400902a0]
cmp rax, rdx
jne 0x1400616c3
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 0x140061778
cmp edi, 6
ja 0x14006041c
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, [0x1401160e8]
mov ebx, ebp
mov r9d, 1
mov ecx, edi
shl r9d, cl
bt ebx, edi
jb 0x1400602d8
add rdx, 0xffffffffffffff80
sub r8, 0xffffffffffffff80
add rsi, 0x60
inc edi
cmp rax, rdx
jne 0x1400603f5
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov byte [rax + 0xc], 0
movabs rbx, 0x7fffffffffffffff
jmp 0x14005f1e1
lock dec dword [rcx]
jne 0x14006044a
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
mov rcx, qword [rsp + 0x308]
test rcx, rcx
je 0x14005fa9e
lock dec dword [rcx]
jne 0x14005fa9e
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
jmp 0x14005fa9e
lea rcx, [rsp + 0x290]
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
mov r9d, 0x24
call fcn.140057f70
cmp byte [rsp + 0x360], 0
jne 0x14006175f
mov rax, qword [rsp + 0xc8]
mov rdi, qword [rax]
mov rax, qword [0x1401165a0]
and rax, rdi
cmp rax, qword [0x140116588]
jne 0x1400604c8
mov rcx, rdi
call fcn.140056440
mov qword [rsp + 0x320], rdi
mov rax, qword [rsp + 0x90]
mov rdi, qword [rax]
mov rax, qword [0x1401165a0]
and rax, rdi
cmp rax, qword [0x140116588]
jne 0x1400604f6
mov rcx, rdi
call fcn.140056440
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 0x140060592
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 0x140060596
mov rax, qword [rsp + 0x328]
test rax, rax
je 0x1400605c4
cmp byte [rax + 0x38], 0
je 0x1400605c4
mov rdi, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test rdi, rdi
je 0x1400605c4
lock dec dword [rdi]
jne 0x1400605c4
mov rcx, rdi
call fcn.14000a020
mov rcx, rdi
call fcn.140092084
jmp 0x1400605c4
xor eax, eax
jmp 0x140060534
mov eax, dword [0x14012bc24]
mov ecx, dword [0x140122718]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140060ea6
cmp byte [0x14012bc20], 0
je 0x140060557
mov rcx, qword [rsp + 0x320]
test rcx, rcx
je 0x1400605e3
cmp qword [rsp + 0x328], 0
jne 0x1400605e3
xor edx, edx
call fcn.14005b010
mov qword [rsp + 0x150], 0xa
mov al, byte [0x14012560a]
test al, al
jne 0x140060606
mov byte [rsp + 0x360], 1
jmp 0x14005f4aa
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.14000ef20
jmp 0x1400605f9
mov rcx, rsi
lea rdx, [rsp + 0x130]
call qword [str.P:_f_]
jmp 0x14005f27a
lock dec dword [rcx]
jne 0x14006066c
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
mov rcx, qword [rsp + 0x398]
test rcx, rcx
je 0x14005fa69
lock dec dword [rcx]
jne 0x14005fa69
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
jmp 0x14005fa69
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 0x14005fa74
mov qword [rsp + 0x170], 0x9b
mov al, byte [0x14012569b]
test al, al
mov rbx, qword [rsp + 0x50]
je 0x14005f5a1
movzx ecx, al
xor r15, qword [0x140123bb8]
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.14006aec0
jmp 0x14005f5a1
mov al, byte [rbp + 0x30]
test al, al
jne 0x14005eff8
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, rbp
call qword [str.P:_f_]
test al, al
jne 0x14005eff8
mov rdi, qword [rbp + 0x38]
lea rsi, [rdi + 0x50]
mov rax, qword [0x1401165a0]
and rax, rsi
cmp rax, qword [0x140116588]
jne 0x1400607be
mov rcx, rsi
call fcn.1400562e0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060eef
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x140061236
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x1401165a0]
and rax, rsi
cmp rax, qword [0x140116588]
jne 0x140060802
mov rcx, rsi
call fcn.1400565a0
test dil, dil
jne 0x14005eff8
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [str.P:_f_]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x40]
mov rcx, rax
mov rax, rdx
call qword [str.P:_f_]
jmp 0x14005eff8
mov rax, qword [r12 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x140060872
jmp 0x1400612d8
mov r12, qword [rsp + 0x328]
test r12, r12
je 0x14005efa2
mov qword [rsp + 0x320], 0
mov al, byte [rsi + 0xd]
and al, 0x7f
cmp al, 2
je 0x140060834
lock dec dword [r12 + 0x18]
je 0x140060896
lock dec dword [rsi + 8]
jne 0x14005efb7
mov rcx, rsi
mov edx, 1
call fcn.14005ba60
jmp 0x14005efb7
lea r14, [r12 + 0x20]
mov rax, qword [0x1401165a0]
and rax, r14
cmp rax, qword [0x140116588]
jne 0x1400608b6
mov rcx, r14
call fcn.1400562e0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060fd8
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 [0x1401165a0]
and rax, r14
mov rcx, qword [0x140116588]
cmp rax, rcx
jne 0x14006090a
mov rcx, r14
call fcn.1400565a0
mov rcx, qword [0x140116588]
mov rax, qword [0x1401165a0]
and rax, r14
cmp rax, rcx
jne 0x140060917
mov rcx, r14
call fcn.1400562e0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140060fe6
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 [0x1401165a0]
and rax, r14
cmp rax, qword [0x140116588]
jne 0x14006096c
mov rcx, r14
call fcn.1400565a0
mov r12, r15
cmp r15, rbx
jne 0x1400617ab
mov rcx, rdi
call fcn.14006ac00
mov rbx, qword [rsp + 0x50]
jmp 0x14005efae
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005f831
mov rax, qword [0x140116510]
lea rcx, [0x140090620]
cmp rax, rcx
jne 0x140061223
mov qword [rsp + 0x290], 0
lea rcx, [rsp + 0x290]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x290]
mov rcx, qword [0x140125770]
movabs rdx, 0x8637bd05af7
cmp rax, rdx
jge 0x140061906
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 0x14005f539
xor edi, edi
jmp 0x14005f59c
xor edi, edi
jmp 0x14005f054
movzx ecx, al
lea rax, str.WorkerThread_active
mov qword [rsp + 0x320], rax
lea rax, [0x1400f68f0]
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.140004a70
jmp 0x14005f1d3
movzx ecx, al
mov rax, qword [0x140123bb8]
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.14006aec0
jmp 0x14005f5d2
mov rax, qword [rsi + 0x10]
mov eax, dword [rax]
test al, 1
je 0x14005fb03
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x398], 0
lea rdx, [rsp + 0x120]
mov qword [rdx], rax
lea rcx, [rsp + 0x398]
call fcn.1400c63f0
cmp byte [rsp + 0x3a0], 0
jne 0x14005fb03
int3
mov rcx, qword [r15]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
mov rbx, qword [rsp + 0x50]
je 0x14005f5b8
mov eax, dword [0x140122718]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x160]
cmp rdi, 2
jb 0x140060b74
mov byte [rdi + 4], 0
mov ebx, pe_nt_image_headers64
lea rdx, [rdi + rbx]
mov rcx, rdi
xor r8d, r8d
call fcn.14007cb00
add rbx, 0x10
cmp rbx, 0x4f8
jne 0x140060b58
mov rax, qword [rsp + 0x130]
cmp rax, r14
movabs r8, 0x7fffffffffffffff
mov rbx, qword [rsp + 0x50]
jle 0x14005f5b8
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.140064c50
jmp 0x14005f5b8
lea rcx, [rsi - 0x40]
call qword [str.P:_f_]
mov rcx, rbx
test al, al
je 0x14005f272
mov rax, qword [rsi - 0x18]
cvtsi2sd xmm0, qword [rax + 0x30]
mulsd xmm0, xmm7
ucomisd xmm8, xmm0
jb 0x140061926
maxsd xmm0, xmm9
cvttsd2si rcx, xmm0
jmp 0x14005f272
mov rcx, rsi
call qword [str.P:_f_]
jmp 0x14005fa74
mov rcx, rsi
call fcn.140005e60
mov rbx, qword [rsp + 0x50]
jmp 0x14005f5b8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005f15d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005f634
mov rcx, qword [rsi + 0x28]
mov rax, qword [0x1401165a0]
and rax, rcx
cmp rax, qword [0x140116588]
jne 0x140060c60
call fcn.1400565a0
mov rcx, rsi
call fcn.140092084
jmp 0x14005fa74
mov ebx, 1
lock xadd dword [0x14012bc48], ebx
mov dword [r8], ebx
jmp 0x14005fbf2
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
call qword [str.P:_f_]
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov rdx, rbp
mov rax, r8
call qword [str.P:_f_]
mov rcx, qword [rbp + 0x48]
test rcx, rcx
jne 0x14006195c
mov rsi, qword [rbp + 0x10]
mov qword [rbp + 0x10], 0
test rsi, rsi
jne 0x14006117c
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14012560a]
test al, al
mov rsi, qword [rsp + 0x80]
jne 0x14006196e
mov qword [rsp + 0x290], 0xa
mov al, byte [0x14012560a]
test al, al
jne 0x1400619b4
mov ecx, dword [0x1401160e4]
test ecx, ecx
jne 0x1400618fc
test rsi, rsi
je 0x140060d39
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [str.P:_f_]
lock dec dword [rsi]
jne 0x140060d39
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [str.P:_f_]
mov rcx, qword [rsp + 0x3a8]
xor rcx, rsp
call fcn.1400941a0
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 0x14005ec4a
mov rcx, rdi
call fcn.1400c5490
mov rcx, rdi
call fcn.140092084
jmp 0x14005e8c3
lea rcx, [0x14012bca8]
call fcn.140092134
cmp dword [0x14012bca8], 0xffffffff
jne 0x14005f35e
mov rax, qword [rsp + 0x290]
mov qword [0x14012bca0], rax
lea rcx, [0x14012bca8]
call fcn.1400920c8
jmp 0x14005f35e
mov rcx, rax
mov qword [rsp + 0xc0], rax
call fcn.1400c5490
mov rcx, qword [rsp + 0xc0]
call fcn.140092084
jmp 0x14006002c
mov rax, qword [r12 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14005e8e7
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
lea rdx, [r12 + 0x50]
mov rcx, rsi
call fcn.14005def0
mov rcx, qword [r12 + 0x58]
call fcn.140080dc0
mov rcx, rsi
call fcn.14005de10
jmp 0x14005e8e7
lea rcx, [0x14012bc9c]
call fcn.140092134
cmp dword [0x14012bc9c], 0xffffffff
jne 0x14005f2b3
lea rcx, str.DelayFirstWorkerWake
call fcn.140064a50
mov byte [0x14012bc98], al
lea rcx, [0x14012bc9c]
call fcn.1400920c8
jmp 0x14005f2b3
call fcn.140092084
jmp 0x14005e8b1
call fcn.140092084
jmp 0x14006001a
lea rcx, [0x14012bc24]
call fcn.140092134
cmp dword [0x14012bc24], 0xffffffff
jne 0x1400605bb
mov rcx, qword [0x140125838]
test rcx, rcx
je 0x140060ed7
lea rdx, str.enable_background_thread_pool
call fcn.14000a0d0
mov byte [0x14012bc20], 1
lea rcx, [0x14012bc24]
call fcn.1400920c8
jmp 0x1400605bb
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400607cf
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 0x1400602ba
mov ebx, dword [0x1401160e4]
and ebx, ebp
test ebx, r9d
je 0x140060f42
mov cl, byte [r8 + rax]
test cl, 1
jne 0x140060f49
mov ebp, ebx
jmp 0x140060409
add r8, rax
lea rcx, [0x1401160d8]
mov rdx, rsi
mov r9d, edi
call fcn.140002120
mov ebp, ebx
jmp 0x1400602e2
mov rax, qword [0x140114e18]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.P:_f_]
lea rcx, [rax + 0x6218]
lea rdx, [0x1401160d8]
mov qword [rax + 0x6218], rdx
mov qword [rax + 0x6220], rax
mov rax, qword [rsp + 0x60]
mov qword [rax], rcx
mov ebp, dword [0x1401160e4]
and ebp, esi
je 0x14005f1e1
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
jmp 0x14006012f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005e924
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005e985
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400608c7
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140060928
mov esi, 3
jmp 0x14005ef31
lea rcx, [rsp + 0x190]
call qword [str.P:_f_]
jmp 0x14005f51a
xor eax, eax
jmp 0x14005f429
mov eax, dword [0x1401160e4]
test al, al
jns 0x14006041c
mov cl, byte [0x140116468]
test cl, 1
je 0x14006041c
and ebp, eax
lea r8, [0x140116468]
jmp 0x140061113
mov ecx, dword [0x1401160e4]
and ebp, ecx
test cl, 0x20
je 0x14006018f
mov cl, byte [0x140116368]
test cl, 1
je 0x14006018f
lea r8, [0x140116368]
jmp 0x140061113
mov ecx, dword [0x1401160e4]
and ebp, ecx
test cl, 0x10
je 0x140060185
mov cl, byte [0x1401162e8]
test cl, 1
je 0x140060185
lea r8, [0x1401162e8]
jmp 0x140061113
mov ecx, dword [0x1401160e4]
and ebp, ecx
test cl, 4
je 0x140060175
mov cl, byte [0x1401161e8]
test cl, 1
je 0x140060175
lea r8, [0x1401161e8]
jmp 0x140061113
mov ecx, dword [0x1401160e4]
and ebp, ecx
test cl, 2
je 0x14006016f
mov cl, byte [0x140116168]
test cl, 1
je 0x14006016f
lea r8, [0x140116168]
jmp 0x140061113
mov ecx, dword [0x1401160e4]
and ebp, ecx
test cl, 1
je 0x140060169
mov cl, byte [0x1401160e8]
test cl, 1
je 0x140060169
lea r8, [0x1401160e8]
xor edi, edi
lea rcx, [0x1401160d8]
mov rdx, rsi
mov r9d, edi
call fcn.140002120
jmp 0x1400602e2
mov ecx, dword [0x1401160e4]
and ebp, ecx
test cl, 8
je 0x14006017b
mov cl, byte [0x140116268]
test cl, 1
je 0x14006017b
lea r8, [0x140116268]
jmp 0x140061113
mov ecx, dword [0x1401160e4]
and ebp, ecx
test cl, 0x40
je 0x140060199
mov cl, byte [0x1401163e8]
test cl, 1
je 0x140060199
lea r8, [0x1401163e8]
jmp 0x140061113
lock dec dword [rsi + 8]
jne 0x140060ccb
mov rcx, rsi
call fcn.1400c48e0
mov rcx, rsi
call fcn.140092084
jmp 0x140060ccb
lea rcx, [rsp + 0x290]
call qword [str.P:_f_]
jmp 0x14005f339
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14005f16c
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x14005f643
mov rdi, rsi
lea rsi, [rsp + 0x290]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
lea rdx, [rdi + 0x50]
mov rcx, rsi
call fcn.14005def0
mov rcx, qword [rdi + 0x58]
call fcn.140080dc0
mov rcx, rsi
call fcn.14005de10
jmp 0x14005ec01
mov ecx, esi
call fcn.1400061d0
mov dword [rbp + 0x54], esi
jmp 0x14005ef3a
lea rcx, [rsp + 0x290]
call qword [str.P:_f_]
jmp 0x1400609ff
mov rcx, qword [rax]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete dil
jmp 0x1400607de
mov rdx, qword [0x1401259e0]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x14005ee3a
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
add rdx, 0xd8
mov rcx, rsi
call fcn.14005def0
mov rcx, rsi
call fcn.14005de10
jmp 0x14005ee3a
mov rdx, qword [0x1401259e0]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x14005f089
lea rsi, [rsp + 0x320]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
add rdx, 0xd8
mov rcx, rsi
call fcn.14005def0
mov rcx, rsi
call fcn.14005de10
jmp 0x14005f089
lea rdi, [rsp + 0x290]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi], rax
lea rdx, [r12 + 0x50]
mov rcx, rdi
call fcn.14005def0
mov rcx, qword [r12 + 0x58]
call fcn.140080dc0
mov rcx, rdi
call fcn.14005de10
jmp 0x140060872
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
call fcn.140056990
jmp 0x14005edd5
call fcn.140056990
jmp 0x14005ef89
call fcn.140056990
jmp 0x14005efd6
mov rcx, r12
call fcn.140056990
jmp 0x14005ed6f
call fcn.14007a260
jmp 0x14005fdd2
call fcn.14007a260
jmp 0x14005fe3a
lock dec dword [rcx + 8]
jne 0x14005edb6
mov edx, 1
call fcn.14005ba60
jmp 0x14005edb6
lock dec dword [rcx + 8]
jne 0x14005eff8
mov edx, 1
call fcn.14005ba60
jmp 0x14005eff8
call fcn.1400c56a0
jmp 0x1400613c7
mov rcx, rsi
call fcn.1400ea560
xor r13d, r13d
jmp 0x14005f784
mov esi, 3
jmp 0x14005f6be
call fcn.140056990
jmp 0x14005f034
mov rcx, rbp
call qword [str.P:_f_]
mov rcx, rax
jmp 0x14005eee1
lock dec dword [r8 + 8]
jne 0x14005ed9d
mov rcx, r8
mov edx, 1
call fcn.14005ba60
jmp 0x14005ed9d
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x14005ed80
mov qword [rsp + 0xf0], 0
lea rsi, [rsp + 0x320]
mov rdx, rsi
call fcn.140016ae0
mov r8, qword [rsi]
jmp 0x14005ed94
mov rcx, rbp
call qword [str.P:_f_]
jmp 0x14005f121
mov rcx, rbp
call qword [str.P:_f_]
jmp 0x14005f5f8
lea rdx, [rsp + 0x190]
lea r9, [rsp + 0x128]
mov rcx, rsi
mov r8, r14
call qword [str.P:_f_]
jmp 0x14005ebdb
lea rcx, [rsp + 0x100]
call fcn.14006ac70
jmp 0x14005f685
lock dec dword [rcx + 8]
jne 0x14005f051
mov edx, 1
call fcn.14005ba60
jmp 0x14005f051
mov rcx, rbp
call qword [str.P:_f_]
mov rsi, rax
jmp 0x14005f210
mov ecx, esi
call fcn.1400061d0
mov dword [rbp + 0x54], esi
jmp 0x14005f6c7
mov rcx, rbp
call qword [str.P:_f_]
mov rcx, rax
jmp 0x14005f6eb
lea rsi, [rsp + 0x100]
mov rcx, rsi
call fcn.14006ac70
mov byte [rsi + 0x18], 0
jmp 0x14005f1ef
lea rcx, [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
call fcn.1400e2b20
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140061530
cmp byte [rsp + 0x110], 0
je 0x14005ee5e
cmp qword [rdi + 0x18], 0
jne 0x1400614f8
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
jmp 0x14005ee5e
lea rcx, [rdi + 0x18]
mov rsi, qword [rdi + 0x10]
call fcn.1400e2b20
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14005ee4f
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 [str.P:_f_]
mov al, byte [rsi + 0x80]
mov rsi, rdi
jmp 0x14005f994
lea rcx, [rbx + r9]
add rcx, 2
mov r14, rbx
cmp rcx, 1
ja 0x14005f440
mov r14, rbx
cmp r9, rax
je 0x14005f440
int3
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.1400e2b20
movabs rcx, 0xff00000000000000
and rcx, rbx
mov rbx, qword [rsp + 0x50]
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14005ee71
lea rax, [rbx + r8]
add rax, 2
lea r9, [rbx + 1]
cmp rax, 1
jbe 0x140061622
mov rbp, qword [rsp + 0x48]
movabs rbx, 0x7fffffffffffffff
mov r12, qword [rsp + 0x70]
jmp 0x14005f3a9
cmp r8, r14
mov rbp, qword [rsp + 0x48]
movabs rbx, 0x7fffffffffffffff
mov r12, qword [rsp + 0x70]
je 0x14005f3a9
int3
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005f331
call qword [str.P:_f_]
jmp 0x140060311
lea rcx, [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
call fcn.1400e2b20
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400616a5
cmp byte [rsp + 0x110], 0
je 0x14005f0ad
cmp qword [rbx + 0x18], 0
jne 0x14006166d
movabs rax, 0x4000000000000000
lock or qword [rbx + 0x10], rax
mov rbp, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
jmp 0x14005f0ad
call qword [str.P:_f_]
jmp 0x1400603b1
lea rcx, [rbx + 0x18]
mov rsi, qword [rbx + 0x10]
call fcn.1400e2b20
movabs rcx, 0xff00000000000000
and rcx, rsi
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14005f09e
lea rcx, [rbx + 0x18]
mov r14, qword [rbx + 0x10]
call fcn.1400e2b20
movabs rcx, 0xff00000000000000
and rcx, r14
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x14005f0c0
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005f512
lea rdx, [rsp + 0x320]
call qword [str.P:_f_]
jmp 0x140060342
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [str.P:_f_]
jmp 0x140060160
lea rdi, [rsp + 0x320]
mov rcx, rdi
call fcn.14005a5b0
mov byte [rdi + 0x40], 0
jmp 0x1400604a2
mov rcx, qword [rsi]
lea rax, [fcn.1400c6af0]
lea rdx, [rsp + 0x320]
mov qword [rdx + 0x18], rax
lea rax, [0x1400f6880]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [str.P:_f_]
jmp 0x1400603bf
cmp r13, r12
jb 0x140061332
mov r14, qword [rdi + r12*8]
test r14, r14
je 0x140061335
mov qword [rdi + r12*8], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [str.P:_f_]
lock dec dword [r14]
jne 0x1400617e9
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [str.P:_f_]
inc r12
xor eax, eax
cmp r12, r13
cmove r12, rax
cmp r12, rbx
jne 0x1400617ab
cmp rbx, r15
jbe 0x140061a77
cmp r13, rbx
jb 0x140061338
cmp r15, rbx
jg 0x14006133b
shl rbx, 3
shl r15, 3
mov rcx, qword [rdi + r15]
test rcx, rcx
jne 0x14006183a
add r15, 8
cmp rbx, r15
mov rbp, qword [rsp + 0x48]
je 0x140060978
jmp 0x14006181d
lock dec dword [rcx]
jne 0x140061826
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
jmp 0x140061826
cmp qword [rsp + 0x58], rdi
jb 0x14006132f
mov rax, qword [rbp + rdi*8]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14006131a
mov qword [rbp + rdi*8], 0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 8]
call qword [str.P:_f_]
mov rax, qword [rsp + 0x68]
lock dec dword [rax]
jne 0x14006189a
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
inc rdi
xor eax, eax
cmp rdi, qword [rsp + 0x58]
cmove rdi, rax
cmp rdi, rbx
jne 0x14006184b
cmp rbx, r12
jbe 0x1400619fa
cmp qword [rsp + 0x58], rbx
jb 0x14006131d
cmp r12, rbx
jg 0x140061320
shl rbx, 3
shl r12, 3
mov rcx, qword [rbp + r12]
test rcx, rcx
jne 0x1400618eb
add r12, 8
cmp rbx, r12
je 0x14005e9de
jmp 0x1400618d2
lock dec dword [rcx]
jne 0x1400618dc
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
jmp 0x1400618dc
call fcn.1400eb3e0
jmp 0x140060d15
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400609f7
xor ecx, ecx
ucomisd xmm0, qword [0x1400fe918]
cmovae rcx, rbx
jmp 0x14005f272
mov qword [rsp + 0x320], 0
jmp 0x14005e6f4
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.P:_f_]
jmp 0x14005e684
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [str.P:_f_]
jmp 0x140060cb6
movzx ecx, al
lea r8, [rsp + 0x320]
lea rax, str.WorkerThread_active
mov qword [r8], rax
lea rax, [0x1400f68f0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x45
lea rdx, [rsp + 0x290]
mov r9d, 2
call fcn.140004a70
jmp 0x140060ced
movzx ecx, al
lea rax, str.WorkerThread_dead
lea r8, [rsp + 0x320]
mov qword [r8], rax
lea rax, [0x1400f68f0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 8
mov byte [rsp + 0x28], 0x49
lea rdx, [rsp + 0x290]
mov r9d, 3
call fcn.140004a70
jmp 0x140060d07
cmp qword [rsp + 0x58], r12
jb 0x140061323
jl 0x140061326
je 0x140061a3b
shl qword [rsp + 0x58], 3
shl r12, 3
mov rcx, qword [rbp + r12]
test rcx, rcx
je 0x140061a30
lock dec dword [rcx]
jne 0x140061a30
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
add r12, 8
cmp qword [rsp + 0x58], r12
jne 0x140061a17
test rbx, rbx
js 0x140061329
je 0x14005e9de
shl rbx, 3
xor edi, edi
mov rcx, qword [rbp + rdi]
test rcx, rcx
je 0x140061a69
lock dec dword [rcx]
jne 0x140061a69
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
add rdi, 8
cmp rbx, rdi
jne 0x140061a50
jmp 0x14005e9de
cmp r13, r15
jb 0x14006133e
jl 0x140061341
je 0x140061ab1
shl r13, 3
shl r15, 3
mov rcx, qword [rdi + r15]
test rcx, rcx
je 0x140061aa8
lock dec dword [rcx]
jne 0x140061aa8
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
add r15, 8
cmp r13, r15
jne 0x140061a90
test rbx, rbx
js 0x140061344
mov rbp, qword [rsp + 0x48]
je 0x140060978
shl rbx, 3
xor r14d, r14d
mov rcx, qword [rdi + r14]
test rcx, rcx
je 0x140061ae4
lock dec dword [rcx]
jne 0x140061ae4
mov rax, qword [rcx + 0x10]
call qword [str.P:_f_]
add r14, 8
cmp rbx, r14
mov rbp, qword [rsp + 0x48]
jne 0x140061acc
jmp 0x140060978