Function at 0x1400cec90
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x6a8
movaps xmmword [rsp + 0x690], xmm6
mov dword [rsp + 0x78], r9d
mov rbx, r8
mov rdi, rcx
mov rax, qword [0x14022c040]
xor rax, rsp
mov qword [rsp + 0x688], rax
movaps xmm6, xmmword [0x1401fa990]
movups xmmword [rdx + 0x10], xmm6
mov qword [rsp + 0x98], rdx
movups xmmword [rdx], xmm6
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1bfe
lock and dword [rdi + 0x60], 0xfffffffc
mov rsi, qword [rdi + 0x98]
test rsi, rsi
je 0x1400ced2c
lea r12, [0x140193db0]
xor r13d, r13d
xchg qword [rsi], r13
test r13, r13
jne 0x1400d0265
mov rsi, qword [rsi + 0x218]
test rsi, rsi
jne 0x1400ced11
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1c2b
mov r14d, 1
lock xadd qword [rdi + 0x20], r14
mov r13, qword [rdi + 0x250]
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400cee2d
movzx eax, byte [rbx + 8]
test al, al
jne 0x1400cedfe
mov rax, qword [fcn.1401241a0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400d1800
mov qword [rsp + 0x140], 0
lea rcx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x140]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d22f1
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0x140], rax
movzx eax, byte [rbx + 8]
cmp al, 1
je 0x1400d1c74
test rbx, rbx
je 0x1400d19cb
mov rax, qword [rsp + 0x140]
mov qword [rbx], rax
mov byte [rbx + 8], 1
mov al, 1
test al, al
je 0x1400d19cb
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400d19cb
mov rcx, qword [rbx]
cmp dword [rax + 0x14], 1
je 0x1400d1c94
mov rdx, qword [rax]
cmp rdx, rcx
jle 0x1400d11a4
mov r13, qword [rdi + 0x258]
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400cef07
movzx eax, byte [rbx + 8]
test al, al
jne 0x1400ceed8
mov rax, qword [fcn.1401241a0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400d1813
mov qword [rsp + 0x140], 0
lea rcx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x140]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d2318
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0x140], rax
movzx eax, byte [rbx + 8]
cmp al, 1
je 0x1400d1c84
test rbx, rbx
je 0x1400d19cb
mov rax, qword [rsp + 0x140]
mov qword [rbx], rax
mov byte [rbx + 8], 1
mov al, 1
test al, al
je 0x1400d19cb
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400d19cb
mov rcx, qword [rbx]
cmp dword [rax + 0x14], 1
je 0x1400d1ce5
mov rdx, qword [rax]
cmp rdx, rcx
jle 0x1400d0ca3
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1baa
cmp byte [rbx + 8], 1
jne 0x1400cef38
mov rax, qword [rbx]
cmp rax, qword [rdi + 0x268]
jge 0x1400d0c5b
lea r13, [rdi - 8]
lea r15, [rsp + 0x148]
lea rbp, [0x14018d450]
mov rax, qword [rdi + 0x168]
test rax, rax
jne 0x1400d0130
xor r12d, r12d
mov qword [rsp + 0x100], 0xe9
movzx eax, byte [0x14023e069]
test al, al
jne 0x1400d20b6
test r12, r12
je 0x1400cfbca
cmp qword [r12 + 0x28], 0
je 0x1400cf027
mov r8d, 0x540
mov rcx, r15
mov dl, 0xaa
call fcn.14016a6d0
mov qword [rsp + 0x140], 0
cmp qword [r12 + 0x10], 0
je 0x1400cf027
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov ecx, 0
cmovne rcx, rdx
cmp r8, rcx
jbe 0x1400d1a5d
mov rsi, qword [rax + 0x18]
imul r14, rcx, 0xa8
mov rcx, qword [rsi + r14 + 0x78]
test rcx, rcx
je 0x1400d043e
mov rax, qword [rcx + 0x18]
cmp rax, rbp
jne 0x1400d0420
add rsi, r14
cmp qword [rsi + 0xa0], 0
jne 0x1400d03f3
mov rsi, qword [rsp + 0x140]
cmp rsi, 2
jae 0x1400d06af
test rsi, rsi
jne 0x1400d0693
cmp qword [r12 + 0x10], 0
je 0x1400d1b0d
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov ecx, 0
cmovne rcx, rdx
cmp r8, rcx
jbe 0x1400d1a66
imul rcx, rcx, 0xa8
add rcx, qword [rax + 0x18]
cmp byte [rcx + 0x80], 0
je 0x1400d0b88
mov rsi, qword [r12 + 0x30]
mov rax, qword [rsi + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d18dd
cmp qword [rsi + 0x160], 0
jne 0x1400d0612
mov rax, qword [rsi + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d1933
cmp qword [rsi + 0x168], 0
jne 0x1400d0612
cmp dword [rdi + 0xa8], 0
jne 0x1400d0a7b
xor ebp, ebp
cmp qword [rdi + 0x230], 0
mov r9d, 0
jne 0x1400d0612
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x130], xmm0
movupd xmmword [rsp + 0x120], xmm0
mov r13, qword [r12 + 0x30]
movups xmmword [rsp + 0x160], xmm6
movups xmmword [rsp + 0x170], xmm6
movups xmmword [rsp + 0x180], xmm6
movups xmmword [rsp + 0x190], xmm6
movups xmmword [rsp + 0x1a0], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1b0], rax
mov word [rsp + 0xf8], 0xaaaa
mov byte [rsp + 0xfa], 0xaa
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
xor ecx, ecx
cmp rdx, r8
cmovne rcx, rdx
cmp r8, rcx
jbe 0x1400d1b14
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movaps xmmword [rsp + 0x150], xmm1
movaps xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rax + rcx + 0x20]
movupd xmm1, xmmword [rax + rcx + 0x30]
movups xmm2, xmmword [rax + rcx + 0x40]
movups xmm3, xmmword [rax + rcx + 0x50]
movaps xmmword [rsp + 0x160], xmm0
movapd xmmword [rsp + 0x170], xmm1
movaps xmmword [rsp + 0x180], xmm2
movaps xmmword [rsp + 0x190], xmm3
movupd xmm0, xmmword [rax + rcx + 0x60]
movapd xmmword [rsp + 0x1a0], xmm0
mov rdx, qword [rax + rcx + 0x6d]
mov qword [rsp + 0x1ad], rdx
mov r10, qword [rax + rcx + 0x78]
mov qword [rax + rcx + 0x78], 0
movzx edx, byte [rax + rcx + 0x82]
mov byte [rsp + 0xfa], dl
movzx edx, word [rax + rcx + 0x80]
mov word [rsp + 0xf8], dx
mov r11, qword [rax + rcx + 0x88]
mov rsi, qword [rax + rcx + 0x90]
mov qword [rax + rcx + 0x88], 0
mov r14, qword [rax + rcx + 0x98]
mov qword [rax + rcx + 0x98], 0
mov rax, qword [rax + rcx + 0xa0]
mov qword [rsp + 0x88], rax
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
xor ecx, ecx
cmp rdx, r8
cmovne rcx, rdx
mov qword [rax], rcx
cmp r8, rcx
jbe 0x1400d1b17
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x48], r10
mov dword [rsp + 0x78], r9d
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
lea rsi, [rax + rcx]
mov rcx, qword [rax + rcx + 0x98]
test rcx, rcx
jne 0x1400d0252
mov r14, qword [rsi + 0x88]
test r14, r14
jne 0x1400d0a85
mov rcx, qword [rsi + 0x78]
test rcx, rcx
jne 0x1400d03db
mov rax, qword [r12]
mov rcx, qword [rax + 8]
cmp rcx, qword [rax]
jne 0x1400cf2d0
mov rcx, qword [rax + 0x28]
test rcx, rcx
jne 0x1400d0c67
dec qword [r12 + 0x10]
jne 0x1400cf5b9
cmp dword [r12 + 0x70], 0
jne 0x1400cf4eb
mov r14, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x1400cf3ba
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
mov rax, qword [0x14022e6d0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400d16ac
mov qword [rsp + 0xd0], 0
lea rcx, [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xd0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d22ca
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0xa0], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400cf3ba
mov rax, qword [r12 + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [r12]
mov rcx, qword [r12 + 0x10]
mov qword [r12 + 0x18], rcx
test rax, rax
je 0x1400cf3ba
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400cf3a4
cmp rcx, r8
jb 0x1400d1649
lea r15, [r14 + 0x28]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d0c95
mov rax, qword [r12]
mov rcx, qword [r14 + 0x30]
mov qword [r12], rcx
mov qword [r14 + 0x30], rax
mov rax, qword [r12 + 8]
mov rcx, qword [r14 + 0x38]
mov qword [r12 + 8], rcx
mov qword [r14 + 0x38], rax
mov rax, qword [r12 + 0x10]
mov rcx, qword [r14 + 0x40]
mov qword [r12 + 0x10], rcx
mov qword [r14 + 0x40], rax
mov rax, qword [r12 + 0x18]
mov rcx, qword [r14 + 0x48]
mov qword [r12 + 0x18], rcx
mov qword [r14 + 0x48], rax
mov rax, qword [r12 + 0x20]
mov rcx, qword [r14 + 0x50]
mov qword [r12 + 0x20], rcx
mov qword [r14 + 0x50], rax
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1955
cmp byte [r14 + 0x148], 1
je 0x1400d1e6c
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d18af
mov rcx, qword [r14 + 0xa8]
cmp qword [rcx + 0x10], 0
sete byte [r14 + 0x58]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d18c6
movzx ecx, byte [r14 + 0x118]
mov byte [r14 + 0x5b], cl
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1966
cmp qword [r14 + 0x98], 0
jne 0x1400d16c5
mov rax, qword [r14]
mov rcx, qword [r14 + 0x18]
lea rdx, [0x140132c40]
cmp qword [rax + 0x10], rdx
mov esi, dword [rcx + 8]
jne 0x1400d1676
test esi, esi
jne 0x1400d1977
cmp byte [r14 + 0x118], 1
jne 0x1400d168c
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1988
movzx eax, byte [r14 + 0x138]
xor al, 1
mov byte [r14 + 0x59], al
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
je 0x1400cf5b9
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
mov rax, qword [0x14022e6d0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400d1693
mov qword [rsp + 0xd0], 0
lea rcx, [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xd0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d2142
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0xa0], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400cf5b9
mov rax, qword [r12 + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [r12]
mov rcx, qword [r12 + 0x10]
mov qword [r12 + 0x18], rcx
test rax, rax
je 0x1400cf5b9
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400cf5a3
cmp rcx, r8
jb 0x1400d161c
mov rcx, qword [r12 + 0x28]
mov rdx, r12
call fcn.1400d3290
mov rsi, qword [r12 + 0x30]
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d2169
mov rsi, qword [rdi + 0x2b0]
mov r14, qword [rdi + 0x2b8]
mov rax, r14
sub rax, rsi
mov r15, r14
sub r15, rsi
je 0x1400d0b28
sar rax, 3
lea rcx, [rax + r15*2]
dec rcx
mov rax, qword [rdi + 0x2c8]
mov rdx, qword [rdi + 0x2d0]
add rdx, rax
cmp rcx, rdx
je 0x1400d1080
cmp r14, rsi
je 0x1400d19cb
mov rcx, qword [rdi + 0x2c8]
add rcx, qword [rdi + 0x2d0]
movabs r15, 0xf0f0f0f0f0f0f0f1
mov rax, rcx
mul r15
movabs r14, 0x1ffffffffffffff0
mov rax, rdx
and rax, r14
shr rdx, 4
add rax, rdx
sub rcx, rax
imul r12, rcx, 0xe8
add r12, qword [rsi + rdx*8]
je 0x1400d19cb
lea rax, [rsp + 0x160]
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movups xmmword [r12 + 0x20], xmm0
movups xmmword [r12 + 0x30], xmm1
movups xmmword [r12 + 0x40], xmm2
movups xmmword [r12 + 0x50], xmm3
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r12 + 0x60], xmm0
mov rax, qword [rax + 0x4d]
mov qword [r12 + 0x6d], rax
mov rax, qword [rsp + 0x48]
mov qword [r12 + 0x78], rax
movzx eax, word [rsp + 0xf8]
mov word [r12 + 0x80], ax
movzx eax, byte [rsp + 0xfa]
mov byte [r12 + 0x82], al
mov rax, qword [rsp + 0x50]
mov qword [r12 + 0x88], rax
mov rax, qword [rsp + 0x60]
mov qword [r12 + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [r12 + 0x98], rax
mov rax, qword [rsp + 0x88]
mov qword [r12 + 0xa0], rax
mov qword [r12 + 0xa8], r13
mov eax, dword [r13 + 8]
mov dword [r12 + 0xb0], eax
mov dword [r12 + 0xb8], 0
mov byte [r12 + 0xbc], bpl
mov eax, dword [rsp + 0x78]
mov byte [r12 + 0xbd], al
movupd xmm0, xmmword [rsp + 0x11e]
movupd xmm1, xmmword [rsp + 0x12e]
movupd xmmword [r12 + 0xbe], xmm0
movupd xmmword [r12 + 0xce], xmm1
movzx eax, word [rsp + 0x13e]
mov word [r12 + 0xde], ax
mov rax, qword [r13 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d18ee
mov rax, qword [r13 + 0xa8]
movzx eax, byte [rax + 0x38]
mov byte [r12 + 0xe0], al
movzx eax, byte [r12 + 0x82]
mov dword [r12 + 0xe4], eax
mov rcx, qword [rdi + 0x2d0]
inc rcx
mov qword [rdi + 0x2d0], rcx
add rcx, qword [rdi + 0x2c8]
mov r8, qword [rdi + 0x2b0]
mov rax, rcx
mul r15
mov rax, rdx
shr rax, 4
mov r9, qword [r8 + rax*8]
cmp qword [rdi + 0x2b8], r8
je 0x1400d1606
and rdx, r14
add rdx, rax
sub rcx, rdx
imul r12, rcx, 0xe8
add r12, r9
cmp r12, r9
je 0x1400d1b9a
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1de0
mov rsi, qword [r12 - 0x40]
cmp byte [rsi + 0x1d8], 1
je 0x1400d02eb
mov rax, qword [rsi + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d18ff
cmp qword [rsi + 0x160], 0
jne 0x1400d02fc
mov rax, qword [rsi + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d1944
cmp qword [rsi + 0x168], 0
jne 0x1400d02fc
cmp dword [rdi + 0xa8], 0
jne 0x1400cf8a8
cmp qword [rdi + 0x230], 0
jne 0x1400d02fc
xor ebp, ebp
lea rbx, [r12 - 0xe8]
mov rsi, qword [r12 - 0x40]
cmp byte [rsi + 0x1d9], 1
jne 0x1400cfb3b
mov r13, qword [r12 - 0x58]
mov rax, qword [rsi + 0x18]
mov r14d, dword [rax + 8]
test r14d, r14d
jne 0x1400d1921
mov r15, qword [rsi + 0x158]
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1e0d
mov rax, qword [rdi + 0x1d0]
cmp rax, qword [rdi + 0x1d8]
je 0x1400cfacd
lea rax, [rdi + 0x1d0]
mov qword [rsp + 0x150], rax
lea rax, [rdi + 0x1e8]
mov qword [rsp + 0x148], rax
mov rax, qword [rdi + 0x1e8]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x140]
mov qword [rax + 8], rcx
mov qword [rdi + 0x1e8], rcx
mov qword [rsp + 0x158], 0
mov rcx, 0xffffffffffffffff
cmp dword [rdi + 0x200], 0
jne 0x1400d1d39
mov qword [rsp + 0x160], rcx
mov rsi, qword [rsp + 0x150]
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
sar rdx, 3
cmp rdx, rcx
cmovae rdx, rcx
xor eax, eax
test rdx, rdx
je 0x1400cf9bb
mov r8, qword [rsi]
mov r9, qword [rsi + 8]
sub r9, r8
sar r9, 3
cmp r9, rax
jbe 0x1400d19cb
cmp qword [r8 + rax*8], 0
je 0x1400d1c58
test rsi, rsi
je 0x1400cfacd
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
sub r8, rdx
sar r8, 3
cmp r8, rcx
cmovb rcx, r8
cmp rax, rcx
je 0x1400cfa73
cmp r8, rax
jbe 0x1400d19cb
cmp r15, r13
seta r8b
mov rcx, qword [rdx + rax*8]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [0x14021e390]
mov rsi, qword [rsp + 0x150]
test rsi, rsi
je 0x1400cfacd
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x160]
inc rax
mov qword [rsp + 0x158], rax
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
sar rdx, 3
cmp rdx, rcx
cmovae rdx, rcx
cmp rax, rdx
jae 0x1400cf9c4
mov r8, qword [rsi]
mov r9, qword [rsi + 8]
sub r9, r8
sar r9, 3
cmp r9, rax
jbe 0x1400d19cb
cmp qword [r8 + rax*8], 0
jne 0x1400cf9c4
jmp 0x1400d2094
mov rax, qword [rsi + 0x20]
cmp rax, qword [rsi + 0x18]
jne 0x1400cfa9f
mov r14, qword [rsi]
mov rdx, qword [rsi + 8]
cmp r14, rdx
je 0x1400cfa9f
lea rax, [r14 + 8]
cmp qword [r14], 0
je 0x1400d0b42
mov r14, rax
cmp rax, rdx
jne 0x1400cfa89
cmp qword [rsp + 0x150], 0
je 0x1400cfacd
mov qword [rsp + 0x150], 0
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x148]
mov qword [rax + 8], rcx
mov qword [rcx], rax
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1d8c
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1e3a
cmp r15, r13
seta r8b
mov rcx, qword [r12 - 0x40]
mov rdx, rbx
call fcn.1400d2f60
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1db6
test bpl, bpl
jne 0x1400cfce5
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1d62
cmp qword [r12 - 0x48], 0
jne 0x1400d0a57
mov rax, qword [r12 - 0x50]
test rax, rax
je 0x1400cfb78
movzx eax, byte [rax + 4]
test al, al
je 0x1400d09d3
mov esi, dword [r12 - 0x38]
movzx r15d, byte [r12 - 8]
mov r14, qword [r12 - 0x40]
mov rax, qword [r14 + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d1910
mov r14, qword [r14 + 0x170]
test r14, r14
jne 0x1400cfc3e
shl rsi, 0x20
or rsi, r15
mov rax, qword [rsp + 0x98]
mov qword [rax], rbx
mov rbx, rax
mov qword [rax + 8], r14
mov qword [rax + 0x10], rsi
mov byte [rax + 0x18], 1
jmp 0x1400cfbd9
mov rbx, qword [rsp + 0x98]
mov byte [rbx], 0
mov byte [rbx + 0x18], 0
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d1bd4
cmp byte [rbx + 0x18], 1
jne 0x1400cfc05
mov eax, dword [rdi + 0x60]
test al, 2
jne 0x1400d1b1a
mov rcx, qword [rsp + 0x688]
xor rcx, rsp
cmp rcx, qword [0x14022c040]
je 0x1400cfc1f
call fcn.1401363f0
int3
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x690]
add rsp, 0x6a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 1
lock xadd dword [r14], eax
test eax, eax
jle 0x1400d1d50
cmp eax, 0x7fffffff
je 0x1400d1d53
mov eax, 1
lock xadd dword [r14], eax
test eax, eax
jle 0x1400d1d56
cmp eax, 0x7fffffff
je 0x1400d1d59
lock dec dword [r14]
jne 0x1400cfc8b
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [0x14021e390]
mov rax, qword [rsp + 0x98]
mov qword [rax], rbx
mov rbx, rax
mov qword [rax + 8], r14
mov eax, 1
lock xadd dword [r14], eax
test eax, eax
jle 0x1400d1d5c
cmp eax, 0x7fffffff
je 0x1400d1d5f
shl rsi, 0x20
or rsi, r15
mov qword [rbx + 0x10], rsi
mov byte [rbx + 0x18], 1
lock dec dword [r14]
jne 0x1400cfbd9
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [0x14021e390]
jmp 0x1400cfbd9
cmp dword [rdi + 0xa8], 0
jne 0x1400cffeb
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d23ea
mov rax, qword [rdi + 0x208]
cmp rax, qword [rdi + 0x210]
je 0x1400cffd0
lea rax, [rdi + 0x208]
mov qword [rsp + 0x150], rax
lea rax, [rdi + 0x220]
mov qword [rsp + 0x148], rax
mov rax, qword [rdi + 0x220]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x140]
mov qword [rax + 8], rcx
mov qword [rdi + 0x220], rcx
mov qword [rsp + 0x158], 0
mov rcx, 0xffffffffffffffff
cmp dword [rdi + 0x238], 0
jne 0x1400d23d3
mov qword [rsp + 0x160], rcx
mov r13, qword [rsp + 0x150]
mov rax, qword [r13 + 8]
sub rax, qword [r13]
sar rax, 4
cmp rax, rcx
cmovae rax, rcx
test rax, rax
je 0x1400cfe1d
xor ecx, ecx
mov rdx, qword [rsp + 0x150]
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
sub rdx, r8
sar rdx, 4
cmp rdx, rcx
jbe 0x1400d19cb
shl rcx, 4
lea rdx, [r8 + rcx]
cmp qword [r8 + rcx + 8], 0
je 0x1400cfdf2
mov rcx, qword [rdx]
test rcx, rcx
je 0x1400d1d36
movzx ecx, byte [rcx + 4]
test cl, cl
jne 0x1400d1d36
mov rcx, qword [rdx]
test rcx, rcx
je 0x1400d0b07
movzx ecx, byte [rcx + 4]
test cl, cl
jne 0x1400d0b07
cmp qword [rdx + 8], 0
je 0x1400d0b07
mov r13, qword [rsp + 0x150]
test r13, r13
je 0x1400cffd0
mov rax, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x160]
mov rbp, qword [r13]
mov r14, qword [r13 + 8]
mov rcx, r14
sub rcx, rbp
sar rcx, 4
cmp rcx, rdx
cmovb rdx, rcx
cmp rax, rdx
je 0x1400cff46
cmp rcx, rax
jbe 0x1400d19cb
shl rax, 4
mov rcx, qword [rbp + rax]
test rcx, rcx
je 0x1400cfe7b
movzx ecx, byte [rcx + 4]
test cl, cl
je 0x1400d1843
xor ecx, ecx
mov rdx, qword [r12 - 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14021e390]
mov r13, qword [rsp + 0x150]
test r13, r13
je 0x1400cffd0
mov rcx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x160]
inc rcx
mov qword [rsp + 0x158], rcx
mov rax, qword [r13 + 8]
sub rax, qword [r13]
sar rax, 4
cmp rax, rdx
cmovae rax, rdx
cmp rcx, rax
jae 0x1400cfe1d
mov rdx, qword [rsp + 0x150]
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
sub rdx, r8
sar rdx, 4
cmp rdx, rcx
jbe 0x1400d19cb
shl rcx, 4
lea rdx, [r8 + rcx]
cmp qword [r8 + rcx + 8], 0
je 0x1400cff1e
mov rcx, qword [rdx]
test rcx, rcx
je 0x1400d1b0a
movzx ecx, byte [rcx + 4]
test cl, cl
jne 0x1400d1b0a
mov rcx, qword [rdx]
test rcx, rcx
je 0x1400d0098
movzx ecx, byte [rcx + 4]
test cl, cl
jne 0x1400d0098
cmp qword [rdx + 8], 0
jne 0x1400cfe15
jmp 0x1400d0098
mov rax, qword [r13 + 0x20]
cmp rax, qword [r13 + 0x18]
jne 0x1400cffa2
cmp rbp, r14
je 0x1400cffa2
cmp qword [rbp + 8], 0
je 0x1400cff75
mov rax, qword [rbp]
test rax, rax
je 0x1400d1b1d
movzx eax, byte [rax + 4]
test al, al
jne 0x1400d1b1d
mov rax, qword [rbp]
test rax, rax
je 0x1400d00b9
movzx eax, byte [rax + 4]
test al, al
jne 0x1400d00b9
cmp qword [rbp + 8], 0
je 0x1400d00b9
add rbp, 0x10
cmp rbp, r14
jne 0x1400cff55
cmp qword [rsp + 0x150], 0
je 0x1400cffd0
mov qword [rsp + 0x150], 0
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x148]
mov qword [rax + 8], rcx
mov qword [rcx], rax
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d2399
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
jne 0x1400d2417
mov rsi, qword [r12 - 0x40]
mov rax, qword [rsi + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d1999
mov r14, qword [rsi + 0x160]
test r14, r14
je 0x1400d0078
mov rax, qword [rsi + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d19aa
mov eax, 1
lock xadd dword [r14], eax
test eax, eax
jle 0x1400d20b0
cmp eax, 0x7fffffff
je 0x1400d20b3
lea r8, [r12 - 0x30]
mov rax, qword [rsi + 0x160]
mov rax, qword [rax + 8]
mov rcx, r14
mov rdx, rbx
call qword [0x14021e390]
lock dec dword [r14]
je 0x1400d235d
mov qword [rsp + 0xd0], 0xe8
movzx eax, byte [0x14023e068]
test al, al
je 0x1400cfb3b
jmp 0x1400d236f
mov rcx, qword [rsp + 0x158]
inc rcx
mov qword [rsp + 0x158], rcx
cmp rcx, rax
jb 0x1400cfed7
jmp 0x1400cfe15
lea rsi, [rbp + 0x10]
cmp rsi, r14
jne 0x1400d0bef
cmp rbp, r14
ja 0x1400d19cb
je 0x1400cffa2
mov rsi, qword [r13 + 8]
sub r14, rbp
add r14, rbp
mov r15, rbp
cmp r14, rsi
jne 0x1400d2848
cmp rsi, r15
je 0x1400d0111
add rsi, 0xfffffffffffffff0
test rsi, rsi
je 0x1400d19cb
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400d0120
lea rax, [rsi - 0x10]
cmp rsi, r15
mov rsi, rax
jne 0x1400d00f4
sub r15, rbp
add r15, rbp
mov qword [r13 + 8], r15
jmp 0x1400cffa2
lock dec dword [rcx]
jne 0x1400d0105
call fcn.140133b2c
jmp 0x1400d0105
tzcnt r14, rax
cmp dword [rsp + 0x78], 1
je 0x1400d1a8d
mov rcx, qword [rdi + 0x1a0]
mov rax, qword [rdi + 0x1a8]
sub rax, rcx
sar rax, 5
cmp dword [rdi + 0x1c0], 3
jge 0x1400d15c7
cmp rax, r14
jbe 0x1400d19cb
mov edx, r14d
shl edx, 5
mov rax, qword [rcx + rdx + 8]
cmp rax, qword [rcx + rdx + 0x10]
je 0x1400d01c9
mov rcx, qword [rdi + 0x178]
mov rdx, qword [rdi + 0x180]
sub rdx, rcx
sar rdx, 5
cmp rdx, r14
jbe 0x1400d19cb
mov r12, qword [rax + 0x18]
mov r8d, r14d
shl r8d, 5
mov rdx, qword [rcx + r8 + 8]
cmp rdx, qword [rcx + r8 + 0x10]
je 0x1400d01fd
mov rcx, qword [rdx + 0x18]
mov r8, qword [rdx]
cmp qword [rax], r8
je 0x1400d233f
jb 0x1400d01fd
mov r12, rcx
jmp 0x1400d01fd
mov rax, qword [rdi + 0x178]
mov rcx, qword [rdi + 0x180]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1400d19cb
mov edx, r14d
shl edx, 5
mov rcx, qword [rax + rdx + 8]
cmp rcx, qword [rax + rdx + 0x10]
je 0x1400d0214
mov r12, qword [rcx + 0x18]
cmp dword [r12 + 0x70], 1
je 0x1400d0219
mov dword [rdi + 0x1c0], 0
jmp 0x1400cef5e
xor r12d, r12d
jmp 0x1400d01fd
mov rax, qword [rdi + 0x1a0]
mov rcx, qword [rdi + 0x1a8]
sub rcx, rax
sar rcx, 5
cmp rcx, r14
jbe 0x1400d19cb
shl r14d, 5
mov rcx, qword [rax + r14 + 8]
cmp rcx, qword [rax + r14 + 0x10]
je 0x1400d0205
inc dword [rdi + 0x1c0]
jmp 0x1400cef5e
lock dec dword [rcx]
jne 0x1400cf299
call fcn.140133b2c
jmp 0x1400cf299
tzcnt r14, r13
mov ebp, 1
mov ecx, r14d
shl rbp, cl
mov r15, qword [rsi + r14*8 + 0x10]
test r15, r15
je 0x1400d1a84
mov eax, 1
lock xadd dword [r15], eax
test eax, eax
jle 0x1400d1a87
cmp eax, 0x7fffffff
je 0x1400d1a8a
mov rax, qword [rsi + r14*8 + 0x10]
mov rax, qword [rax + 8]
cmp rax, r12
jne 0x1400d02d7
mov rax, qword [r15 + 0x20]
mov rcx, qword [r15 + 0x28]
call qword [0x14021e390]
lock dec dword [r15]
je 0x1400d02dc
mov rax, r13
btc rax, r14
cmp rbp, r13
mov r13, rax
je 0x1400ced20
jmp 0x1400d0265
mov rcx, r15
jmp 0x1400d02b6
mov rax, qword [r15 + 0x10]
mov rcx, r15
call qword [0x14021e390]
jmp 0x1400d02c2
mov byte [rdi + 0x2a0], 1
mov rsi, qword [r12 - 0x40]
jmp 0x1400cf857
mov dword [r12 - 0x30], 1
cmp byte [r12 - 0x2c], 1
jne 0x1400d03af
movzx eax, byte [rbx + 8]
test al, al
jne 0x1400d039f
mov rax, qword [fcn.1401241a0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400d189c
lea r14, [rsp + 0x140]
mov qword [r14], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r14]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d2447
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0x140], rax
mov al, byte [rbx + 8]
cmp al, 1
je 0x1400d23c3
test rbx, rbx
je 0x1400d19cb
mov rax, qword [rsp + 0x140]
mov qword [rbx], rax
mov byte [rbx + 8], 1
mov al, 1
test al, al
je 0x1400d19cb
mov rax, qword [rbx]
mov qword [r12 - 0x28], rax
mov bpl, 1
cmp byte [r12 - 0x2b], 1
jne 0x1400cf8aa
lea rbx, [rsp + 0x140]
mov rcx, rbx
call fcn.140008c30
mov rax, qword [rbx]
mov qword [r12 - 0x18], rax
jmp 0x1400cf8aa
lock dec dword [rcx]
jne 0x1400cf2b6
mov rax, qword [rcx + 0x10]
call qword [0x14021e390]
jmp 0x1400cf2b6
mov rax, qword [rsi + 0x98]
test rax, rax
je 0x1400d0430
mov al, byte [rax + 4]
test al, al
je 0x1400cf00c
jmp 0x1400d0430
lea rcx, [rsp + 0x140]
call fcn.1400cb7c0
jmp 0x1400d0569
xor edx, edx
call qword [0x14021e390]
test al, al
je 0x1400ceffb
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov r9d, 0
cmovne r9, rdx
cmp r8, r9
jbe 0x1400d1a60
mov rcx, qword [rsp + 0x140]
mov r8d, 8
test cl, 1
je 0x1400d046f
mov r8, qword [rsp + 0x150]
imul rdx, r9, 0xa8
add rdx, qword [rax + 0x18]
mov rax, rcx
shr rax, 1
cmp rax, r8
je 0x1400d040c
mov r8, r15
test cl, 1
je 0x1400d0495
mov r8, qword [rsp + 0x148]
imul rax, rax, 0xa8
add rax, r8
je 0x1400d19cb
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movups xmm0, xmmword [rdx + 0x20]
movupd xmm1, xmmword [rdx + 0x30]
movups xmm2, xmmword [rdx + 0x40]
movups xmm3, xmmword [rdx + 0x50]
movups xmmword [rax + 0x20], xmm0
movupd xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm2
movups xmmword [rax + 0x50], xmm3
movupd xmm0, xmmword [rdx + 0x60]
movupd xmmword [rax + 0x60], xmm0
mov rcx, qword [rdx + 0x6d]
mov qword [rax + 0x6d], rcx
mov rcx, qword [rdx + 0x78]
mov qword [rax + 0x78], rcx
mov qword [rdx + 0x78], 0
movzx ecx, byte [rdx + 0x82]
mov byte [rax + 0x82], cl
movzx ecx, word [rdx + 0x80]
mov word [rax + 0x80], cx
mov rcx, qword [rdx + 0x88]
mov qword [rax + 0x88], rcx
mov qword [rdx + 0x88], 0
mov rcx, qword [rdx + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [rdx + 0x98]
mov qword [rax + 0x98], rcx
mov qword [rdx + 0x98], 0
mov rcx, qword [rdx + 0xa0]
mov qword [rax + 0xa0], rcx
add qword [rsp + 0x140], 2
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov ecx, 0
cmovne rcx, rdx
mov qword [rax], rcx
cmp r8, rcx
jbe 0x1400d1a63
mov rsi, qword [rax + 0x18]
imul r14, rcx, 0xa8
mov rcx, qword [rsi + r14 + 0x98]
test rcx, rcx
jne 0x1400d05f5
add rsi, r14
mov r14, qword [rsi + 0x88]
test r14, r14
jne 0x1400d05e9
mov rcx, qword [rsi + 0x78]
test rcx, rcx
jne 0x1400d0601
mov rax, qword [r12]
mov rcx, qword [rax + 8]
cmp rcx, qword [rax]
jne 0x1400d05d9
mov rcx, qword [rax + 0x28]
test rcx, rcx
jne 0x1400d1599
dec qword [r12 + 0x10]
jne 0x1400cefb2
jmp 0x1400cf00c
lock dec dword [r14 + 8]
jne 0x1400d05b6
jmp 0x1400d16e0
lock dec dword [rcx]
jne 0x1400d05a7
call fcn.140133b2c
jmp 0x1400d05a7
lock dec dword [rcx]
jne 0x1400d05bf
mov rax, qword [rcx + 0x10]
call qword [0x14021e390]
jmp 0x1400d05bf
movsd xmm0, qword [rdi + 0x58]
mov bpl, 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x1400d0a7d
cmp byte [rdi + 0x138], 0
je 0x1400d19cb
mov rax, qword [rdi + 0x128]
mov rcx, qword [rdi + 0x130]
mov qword [rdi + 0x128], rcx
mov rdx, rax
shl rdx, 0x17
xor rdx, rax
mov rax, rcx
shr rax, 0x1a
xor rax, rcx
xor rax, rdx
shr rdx, 0x11
xor rdx, rax
mov qword [rdi + 0x130], rdx
add rdx, rcx
shr rdx, 0xb
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
mulsd xmm1, qword [0x140200d60]
ucomisd xmm0, xmm1
seta r9b
jmp 0x1400cf0d0
lea rcx, [rsp + 0x140]
call fcn.1400cad50
cmp rsi, 1
je 0x1400cf027
jmp 0x1400cef4b
cmp qword [r12 + 0x10], 0
jne 0x1400d099e
cmp dword [r12 + 0x70], 0
jne 0x1400d08d0
mov r14, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x1400d079a
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
mov rax, qword [0x14022e6d0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400d1868
mov qword [rsp + 0xd0], 0
lea rcx, [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xd0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d2821
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0xa0], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400d079a
mov rdx, qword [r12 + 0x18]
inc rdx
cmp rdx, 5
mov eax, 4
cmovb rdx, rax
mov rax, qword [r12]
mov rcx, qword [r12 + 0x10]
mov qword [r12 + 0x18], rcx
test rax, rax
je 0x1400d079a
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400d0784
cmp rcx, r8
jb 0x1400d178d
lea rsi, [r14 + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400d160e
mov qword [rsp + 0x48], rsi
mov rax, qword [r12]
mov rcx, qword [r14 + 0x30]
mov qword [r12], rcx
mov qword [r14 + 0x30], rax
mov rax, qword [r12 + 8]
mov rcx, qword [r14 + 0x38]
mov qword [r12 + 8], rcx
mov qword [r14 + 0x38], rax
mov rax, qword [r12 + 0x10]
mov rcx, qword [r14 + 0x40]
mov qword [r12 + 0x10], rcx
mov qword [r14 + 0x40], rax
mov rax, qword [r12 + 0x18]
mov rcx, qword [r14 + 0x48]
mov qword [r12 + 0x18], rcx
mov qword [r14 + 0x48], rax
mov rax, qword [r12 + 0x20]
mov rcx, qword [r14 + 0x50]
mov qword [r12 + 0x20], rcx
mov qword [r14 + 0x50], rax
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d19f7
cmp byte [r14 + 0x148], 1
je 0x1400d2471
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d19cd
mov rcx, qword [r14 + 0xa8]
cmp qword [rcx + 0x10], 0
sete byte [r14 + 0x58]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d19e4
mov cl, byte [r14 + 0x118]
mov byte [r14 + 0x5b], cl
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1a08
cmp qword [r14 + 0x98], 0
jne 0x1400d1881
mov rax, qword [r14]
mov rcx, qword [r14 + 0x18]
lea rdx, [0x140132c40]
cmp qword [rax + 0x10], rdx
mov esi, dword [rcx + 8]
jne 0x1400d1826
test esi, esi
jne 0x1400d1a19
cmp byte [r14 + 0x118], 1
jne 0x1400d183c
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1a2a
mov al, byte [r14 + 0x138]
xor al, 1
mov byte [r14 + 0x59], al
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
je 0x1400d099e
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
mov rax, qword [0x14022e6d0]
lea rcx, [0x140124260]
cmp rax, rcx
jne 0x1400d184f
mov qword [rsp + 0xd0], 0
lea rcx, [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xd0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400d27fa
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023e460]
mov qword [rsp + 0xa0], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400d099e
mov rdx, qword [r12 + 0x18]
inc rdx
cmp rdx, 5
mov eax, 4
cmovb rdx, rax
mov rax, qword [r12]
mov rcx, qword [r12 + 0x10]
mov qword [r12 + 0x18], rcx
test rax, rax
je 0x1400d099e
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400d0988
cmp rcx, r8
jb 0x1400d1760
cmp qword [r12 + 0x40], 0xffffffffffffffff
je 0x1400d09b3
mov rcx, qword [r12 + 0x28]
mov rdx, r12
call fcn.1400caeb0
mov rsi, qword [r12 + 0x30]
mov al, byte [0x14023e068]
test al, al
jne 0x1400d2677
mov rsi, qword [rsp + 0x140]
jmp 0x1400cf01e
cmp qword [r12 - 0x48], 0
je 0x1400cfb78
mov rax, qword [r12 - 0x50]
test rax, rax
je 0x1400d235a
mov al, byte [rax + 4]
test al, al
jne 0x1400d235a
mov rsi, qword [r12 - 0x48]
mov rax, qword [rsi + 0x18]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.140133b54
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x1400d0a33
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x1400d2444
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x18], rax
test rcx, rcx
je 0x1400cfb78
lock dec dword [rcx]
jne 0x1400cfb78
call fcn.140133b2c
jmp 0x1400cfb78
mov rax, qword [r12 - 0x50]
test rax, rax
je 0x1400d0a6c
mov al, byte [rax + 4]
test al, al
je 0x1400cfb62
lea rcx, [r12 - 0x70]
call fcn.14016acf0
jmp 0x1400cfb78
xor ebp, ebp
xor r9d, r9d
jmp 0x1400cf0d0
lock dec dword [r14 + 8]
jne 0x1400cf2a9
mov rcx, qword [r14]
mov rax, qword [rcx + 8]
lea rdx, [0x140189e50]
cmp qword [rcx + 0x10], rdx
jne 0x1400d0ab0
lea rcx, [0x14019e130]
cmp rax, rcx
je 0x1400d0ac3
mov rcx, r14
mov edx, 1
call qword [0x14021e390]
jmp 0x1400cf2a9
mov rcx, qword [r14 + 0x18]
test rcx, rcx
je 0x1400d0ad1
lock dec dword [rcx]
je 0x1400d0b00
mov r15, qword [r14 + 0x10]
test r15, r15
je 0x1400d0ae0
lock dec dword [r15]
je 0x1400d0aed
mov rcx, r14
call fcn.140133b2c
jmp 0x1400cf2a9
lea rcx, [r15 + 8]
call fcn.1400dbf70
mov rcx, r15
call fcn.140133b2c
jmp 0x1400d0ae0
call fcn.140133b2c
jmp 0x1400d0ad1
mov rcx, qword [rsp + 0x158]
inc rcx
mov qword [rsp + 0x158], rcx
cmp rcx, rax
jb 0x1400cfdab
jmp 0x1400cfe15
xor ecx, ecx
jmp 0x1400cf605
mov rcx, qword [rax]
test rcx, rcx
je 0x1400d0b3e
mov qword [r14], rcx
add r14, 8
add rax, 8
cmp rax, rdx
jne 0x1400d0b2f
cmp r14, rdx
ja 0x1400d19cb
je 0x1400cfa9f
mov rax, qword [rsi + 8]
sub rdx, r14
add rdx, r14
mov r8, rax
sub r8, rdx
jne 0x1400d2951
add r14, r8
cmp rax, r14
je 0x1400d0b7f
add rax, 0xfffffffffffffff8
jne 0x1400d0b6f
jmp 0x1400d19cb
mov qword [rsi + 8], r14
jmp 0x1400cfa9f
cmp dword [rdi + 0xa8], 0
jle 0x1400cf06e
lea rsi, [rdi + 0xb0]
lea r14, [rsp + 0x140]
mov r8d, 0xb8
mov rcx, r14
mov dl, 0xaa
call fcn.14016a6d0
mov rcx, r12
mov rdx, r14
call fcn.1400d4150
mov rax, qword [r12 + 0x30]
mov qword [r14 + 0xa8], rax
mov eax, dword [r12 + 0x70]
mov dword [r14 + 0xb0], eax
mov rcx, rsi
mov rdx, r14
call fcn.14016adc0
mov rcx, r14
call fcn.1400fcd10
jmp 0x1400cef4b
cmp qword [rsi + 8], 0
je 0x1400d0c0d
mov rax, qword [rsi]
test rax, rax
je 0x1400d246e
mov al, byte [rax + 4]
test al, al
jne 0x1400d246e
mov rax, qword [rsi]
test rax, rax
je 0x1400d0c46
mov al, byte [rax + 4]
test al, al
jne 0x1400d0c46
cmp qword [rsi + 8], 0
je 0x1400d0c46
mov rax, qword [rsi]
mov qword [rsi], 0
mov rcx, qword [rbp]
mov qword [rbp], rax
test rcx, rcx
jne 0x1400d0c4f
mov rax, qword [rsi + 8]
mov qword [rbp + 8], rax
add rbp, 0x10
add rsi, 0x10
jmp 0x1400d00bd
lock dec dword [rcx]
jne 0x1400d0c3a
call fcn.140133b2c
jmp 0x1400d0c3a
mov byte [rdi + 0x260], 1
jmp 0x1400cef38
mov qword [rax + 0x28], 0
mov r14, qword [r12]
mov qword [r12], rcx
test r14, r14
je 0x1400cf2d0
mov rcx, r14
call fcn.14010f820
mov rcx, r14
call fcn.140133b2c
jmp 0x1400cf2d0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400cf3cf
mov r15, qword [rax + 0x18]
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.1400eb070
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1a4c
mov rcx, qword [r15 + 0x98]
test rcx, rcx
jne 0x1400d17dd
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400cef07
lea r12, [rsp + 0xd0]
movabs rsi, 0x7fffffffffffffff
lea rbp, [rsi + 1]
mov rcx, rbx
mov rdx, r12
call fcn.140126280
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400d19cb
cmp dword [rax + 0x14], 1
je 0x1400d2ef7
mov rcx, qword [rax]
mov r15, qword [rax + 0x18]
cmp rcx, qword [rsp + 0xd0]
jg 0x1400d0d59
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.14012e9f0
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400cef07
jmp 0x1400d0cf8
mov byte [rsp + 0xd0], 0
xor eax, eax
jmp 0x1400d0e71
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
mov rax, qword [r15]
lea rcx, [fcn.14009f480]
cmp qword [rax + 0x30], rcx
jne 0x1400d2eb0
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2d2a
mov rax, qword [r15 + 0xb8]
cmp rax, qword [r15 + 0xc0]
je 0x1400d0d4a
mov rax, qword [r15]
mov rcx, qword [r15 + 0x18]
lea rdx, [0x140132c40]
cmp qword [rax + 0x10], rdx
mov esi, dword [rcx + 8]
jne 0x1400d2b42
test esi, esi
jne 0x1400d2d3b
cmp byte [r15 + 0x118], 0
je 0x1400d0d4a
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2d4c
mov rsi, qword [r15 + 0xb8]
cmp rsi, qword [r15 + 0xc0]
je 0x1400d19cb
mov rax, qword [r15 + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d2d5d
xor ebp, ebp
cmp dword [r15 + 0xd0], 0
jne 0x1400d2f29
mov r14d, dword [rsi + 0x38]
mov rax, qword [r15]
lea rcx, [fcn.140132c00]
cmp qword [rax + 0x48], rcx
jne 0x1400d2e8e
mov rax, qword [r15 + 0x18]
mov r12d, dword [rax + 8]
test r12d, r12d
jne 0x1400d2d6e
mov rax, qword [r15 + 0xa8]
mov al, byte [rax + 0x38]
mov rcx, qword [r15 + 0x10]
xor edx, edx
cmp r14d, 2
cmovne edx, r14d
cmp al, byte [rcx + 0x51]
cmovbe edx, r14d
movupd xmm0, xmmword [rsi + 0x28]
movapd xmmword [rsp + 0xd0], xmm0
mov dword [rsp + 0xe0], ebp
mov dword [rsp + 0xe4], edx
mov al, 1
mov byte [rsp + 0xe8], al
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2d80
cmp qword [r15 + 0x98], 0
jne 0x1400d1006
lea rcx, [rsp + 0xe9]
mov rsi, qword [rcx - 0x19]
mov rdx, qword [rcx - 0x11]
mov qword [rsp + 0x48], rdx
mov edx, dword [rcx - 9]
mov dword [rsp + 0x50], edx
mov r12d, dword [rcx - 5]
mov bpl, byte [rcx - 1]
mov edx, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsp + 0x100], edx
mov dword [rsp + 0x103], ecx
mov r14d, dword [rax + 8]
test r14d, r14d
jne 0x1400d2d97
mov al, byte [r15 + 0x190]
test bpl, 1
je 0x1400d0ff8
test al, al
je 0x1400d0ff8
cmp qword [r15 + 0x178], rsi
jne 0x1400d0f23
mov rax, qword [rsp + 0x48]
cmp qword [r15 + 0x180], rax
jne 0x1400d0f23
mov eax, dword [rsp + 0x50]
cmp dword [r15 + 0x188], eax
jne 0x1400d0f23
cmp dword [r15 + 0x18c], r12d
je 0x1400d0fd5
mov rax, qword [r15 + 0x18]
mov r14d, dword [rax + 8]
test r14d, r14d
jne 0x1400d2da9
mov qword [r15 + 0x178], rsi
mov rcx, qword [rsp + 0x48]
mov qword [r15 + 0x180], rcx
mov ecx, dword [rsp + 0x50]
mov dword [r15 + 0x188], ecx
mov dword [r15 + 0x18c], r12d
mov byte [r15 + 0x190], bpl
mov ecx, dword [rsp + 0x100]
mov edx, dword [rsp + 0x103]
mov dword [r15 + 0x191], ecx
mov dword [r15 + 0x194], edx
mov r14d, dword [rax + 8]
test r14d, r14d
jne 0x1400d2dc1
mov rcx, qword [r15 + 0x90]
lea r9, [rsp + 0x140]
mov qword [r9], rsi
mov rax, qword [rsp + 0x48]
mov qword [r9 + 8], rax
mov eax, dword [rsp + 0x50]
mov dword [r9 + 0x10], eax
mov dword [r9 + 0x14], r12d
mov byte [r9 + 0x18], bpl
mov eax, dword [rsp + 0x100]
mov edx, dword [rsp + 0x103]
mov dword [r9 + 0x19], eax
mov dword [r9 + 0x1c], edx
mov rdx, r15
mov r8, rbx
call fcn.1400faad0
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400cef07
mov rcx, r15
mov r15, qword [rax + 0x18]
cmp rcx, r15
je 0x1400cef07
jmp 0x1400d2ad7
mov ecx, ebp
and cl, 1
cmp cl, al
je 0x1400d0fd5
jmp 0x1400d0f23
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2e29
cmp byte [r15 + 0x118], 1
jne 0x1400d0e95
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2e40
mov r14, qword [r15 + 0x98]
mov rcx, r15
call fcn.14000fea0
lea rdx, [rsp + 0xd0]
movapd xmm0, xmmword [rdx]
movapd xmm1, xmmword [rdx + 0x10]
lea r9, [rsp + 0xa0]
movapd xmmword [r9], xmm0
movapd xmmword [r9 + 0x10], xmm1
mov rcx, qword [r14]
mov r10, qword [rcx + 0x10]
mov byte [rsp + 0x20], al
mov rcx, r14
mov r8, rbx
mov rax, r10
call qword [0x14021e390]
mov rax, qword [r15 + 0x18]
jmp 0x1400d0e95
lea r12, [rdi + 0x2a8]
cmp rax, 0x11
jae 0x1400d29da
mov rdx, qword [rdi + 0x2a8]
mov rcx, qword [rdi + 0x2c0]
mov rax, rcx
sub rax, rdx
cmp r15, rax
jb 0x1400d2971
sar rax, 2
cmp rcx, rdx
mov r12d, 1
cmovne r12, rax
lea rax, [rdi + 0x2c8]
mov qword [rsp + 0xf0], rax
mov rax, r12
shr rax, 0x3d
jne 0x1400d287a
lea rcx, [r12*8]
mov qword [rsp + 0x70], rcx
call fcn.140133b54
mov qword [rsp + 0xd0], rax
lea rcx, [rax + r15]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xd8], rcx
lea rcx, [rax + r12*8]
mov r12, rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xe8], rcx
mov ecx, 0xf68
call fcn.140133b54
cmp r15, qword [rsp + 0x70]
je 0x1400d2a0b
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1400d19cb
mov qword [rdx], rax
lea rax, [rdx + 8]
mov qword [rsp + 0xe0], rax
mov r15, qword [rdi + 0x2b8]
cmp r15, qword [rdi + 0x2b0]
jne 0x1400d28bd
mov rcx, qword [rdi + 0x2a8]
mov qword [rdi + 0x2a8], r12
mov qword [rdi + 0x2b0], rdx
mov qword [rdi + 0x2b8], rax
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x2c0], rax
test rcx, rcx
jne 0x1400d28b3
mov rsi, qword [rdi + 0x2b0]
mov r14, qword [rdi + 0x2b8]
jmp 0x1400cf61f
mov r15, qword [rax + 0x18]
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.1400eb070
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1a3b
mov rcx, qword [r15 + 0x98]
test rcx, rcx
jne 0x1400d17ba
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400cee2d
lea r12, [rsp + 0xd0]
movabs rsi, 0x7fffffffffffffff
lea rbp, [rsi + 1]
mov rcx, rbx
mov rdx, r12
call fcn.140126280
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400d19cb
cmp dword [rax + 0x14], 1
je 0x1400d2ec5
mov rcx, qword [rax]
mov r15, qword [rax + 0x18]
cmp rcx, qword [rsp + 0xd0]
jg 0x1400d125a
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.14012e9f0
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400cee2d
jmp 0x1400d11f9
mov byte [rsp + 0xd0], 0
xor eax, eax
jmp 0x1400d137a
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
mov rax, qword [r15]
lea rcx, [fcn.14009f480]
cmp qword [rax + 0x30], rcx
jne 0x1400d2e9b
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2c82
mov rax, qword [r15 + 0xb8]
cmp rax, qword [r15 + 0xc0]
je 0x1400d124b
mov rax, qword [r15]
mov rcx, qword [r15 + 0x18]
lea rdx, [0x140132c40]
cmp qword [rax + 0x10], rdx
mov esi, dword [rcx + 8]
jne 0x1400d2b29
test esi, esi
jne 0x1400d2c93
cmp byte [r15 + 0x118], 0
je 0x1400d124b
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2ca4
mov rsi, qword [r15 + 0xb8]
cmp rsi, qword [r15 + 0xc0]
je 0x1400d19cb
mov rax, qword [r15 + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d2cb5
mov dword [rsp + 0x48], 0
cmp dword [r15 + 0xd0], 0
jne 0x1400d2f43
mov r12d, dword [rsi + 0x38]
mov rax, qword [r15]
lea rcx, [fcn.140132c00]
cmp qword [rax + 0x48], rcx
jne 0x1400d2e81
mov rax, qword [r15 + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x1400d2cc6
mov rax, qword [r15 + 0xa8]
mov al, byte [rax + 0x38]
mov rcx, qword [r15 + 0x10]
xor edx, edx
cmp r12d, 2
cmovne edx, r12d
cmp al, byte [rcx + 0x51]
cmovbe edx, r12d
movupd xmm0, xmmword [rsi + 0x28]
movapd xmmword [rsp + 0xd0], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xe4], edx
mov al, 1
mov byte [rsp + 0xe8], al
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2cd7
cmp qword [r15 + 0x98], 0
jne 0x1400d151e
lea rcx, [rsp + 0xe9]
mov rsi, qword [rcx - 0x19]
mov rdx, qword [rcx - 0x11]
mov qword [rsp + 0x48], rdx
mov edx, dword [rcx - 9]
mov dword [rsp + 0x50], edx
mov edx, dword [rcx - 5]
mov dword [rsp + 0x60], edx
mov bpl, byte [rcx - 1]
mov edx, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsp + 0x100], edx
mov dword [rsp + 0x103], ecx
mov r12d, dword [rax + 8]
test r12d, r12d
jne 0x1400d2cee
mov al, byte [r15 + 0x190]
test bpl, 1
je 0x1400d1510
test al, al
je 0x1400d1510
cmp qword [r15 + 0x178], rsi
jne 0x1400d1433
mov rax, qword [rsp + 0x48]
cmp qword [r15 + 0x180], rax
jne 0x1400d1433
mov eax, dword [rsp + 0x50]
cmp dword [r15 + 0x188], eax
jne 0x1400d1433
mov eax, dword [rsp + 0x60]
cmp dword [r15 + 0x18c], eax
je 0x1400d14ed
mov rax, qword [r15 + 0x18]
mov r12d, dword [rax + 8]
test r12d, r12d
jne 0x1400d2d00
mov qword [r15 + 0x178], rsi
mov rcx, qword [rsp + 0x48]
mov qword [r15 + 0x180], rcx
mov ecx, dword [rsp + 0x50]
mov dword [r15 + 0x188], ecx
mov ecx, dword [rsp + 0x60]
mov dword [r15 + 0x18c], ecx
mov byte [r15 + 0x190], bpl
mov ecx, dword [rsp + 0x100]
mov edx, dword [rsp + 0x103]
mov dword [r15 + 0x191], ecx
mov dword [r15 + 0x194], edx
mov r12d, dword [rax + 8]
test r12d, r12d
jne 0x1400d2d18
mov rcx, qword [r15 + 0x90]
lea r9, [rsp + 0x140]
mov qword [r9], rsi
mov rax, qword [rsp + 0x48]
mov qword [r9 + 8], rax
mov eax, dword [rsp + 0x50]
mov dword [r9 + 0x10], eax
mov eax, dword [rsp + 0x60]
mov dword [r9 + 0x14], eax
mov byte [r9 + 0x18], bpl
mov eax, dword [rsp + 0x100]
mov edx, dword [rsp + 0x103]
mov dword [r9 + 0x19], eax
mov dword [r9 + 0x1c], edx
mov rdx, r15
mov r8, rbx
call fcn.1400faad0
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400cee2d
mov rcx, r15
mov r15, qword [rax + 0x18]
cmp rcx, r15
je 0x1400cee2d
jmp 0x1400d2ac7
mov ecx, ebp
and cl, 1
cmp cl, al
je 0x1400d14ed
jmp 0x1400d1433
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2e01
cmp byte [r15 + 0x118], 1
jne 0x1400d139e
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2e18
mov r12, qword [r15 + 0x98]
mov rcx, r15
call fcn.14000fea0
lea rdx, [rsp + 0xd0]
movapd xmm0, xmmword [rdx]
movapd xmm1, xmmword [rdx + 0x10]
lea r9, [rsp + 0xa0]
movapd xmmword [r9], xmm0
movapd xmmword [r9 + 0x10], xmm1
mov rcx, qword [r12]
mov r10, qword [rcx + 0x10]
mov byte [rsp + 0x20], al
mov rcx, r12
mov r8, rbx
mov rax, r10
call qword [0x14021e390]
mov rax, qword [r15 + 0x18]
jmp 0x1400d139e
mov qword [rax + 0x28], 0
mov r14, qword [r12]
mov qword [r12], rcx
test r14, r14
je 0x1400d05d9
mov rcx, r14
call fcn.14010f820
mov rcx, r14
call fcn.140133b2c
jmp 0x1400d05d9
cmp rax, r14
jbe 0x1400d19cb
mov edx, r14d
shl edx, 5
mov rax, qword [rcx + rdx + 8]
cmp rax, qword [rcx + rdx + 0x10]
je 0x1400d15ef
mov r12, qword [rax + 0x18]
test r12, r12
jne 0x1400d01fd
lea rcx, [rdi + 0x140]
mov edx, r14d
call fcn.14016ad90
mov r12, rax
jmp 0x1400d01fd
xor r12d, r12d
jmp 0x1400cf821
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400d07af
mov rcx, r12
call fcn.1400d3e20
mov eax, 0x4c4b40
add rax, qword [rsp + 0xa0]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x1400cf5b9
mov rcx, r12
call fcn.1400d3e20
mov eax, 0x4c4b40
add rax, qword [rsp + 0xa0]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x1400cf3ba
test esi, esi
jne 0x1400d2ba8
cmp byte [r14 + 0x118], 0
jne 0x1400cf4c5
xor eax, eax
jmp 0x1400cf4de
lea r14, [rsp + 0xa0]
mov rcx, r14
call qword [0x14021e390]
mov rax, qword [r14]
jmp 0x1400cf56d
lea r15, [rsp + 0xa0]
mov rcx, r15
call qword [0x14021e390]
mov rax, qword [r15]
jmp 0x1400cf36e
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2869
mov al, byte [r14 + 0x118]
jmp 0x1400cf4de
mov rcx, qword [r14]
mov rax, qword [rcx + 8]
lea rdx, [0x140189e50]
cmp qword [rcx + 0x10], rdx
jne 0x1400d1700
lea rcx, [0x14019e130]
cmp rax, rcx
je 0x1400d1713
mov rcx, r14
mov edx, 1
call qword [0x14021e390]
jmp 0x1400d05b6
mov rcx, qword [r14 + 0x18]
test rcx, rcx
je 0x1400d1721
lock dec dword [rcx]
je 0x1400d1759
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x1400d1732
mov rax, rcx
lock dec dword [rcx]
je 0x1400d173f
mov rcx, r14
call fcn.140133b2c
jmp 0x1400d05b6
mov qword [rsp + 0x48], rax
lea rcx, [rax + 8]
call fcn.1400dbf70
mov rcx, qword [rsp + 0x48]
call fcn.140133b2c
jmp 0x1400d1732
call fcn.140133b2c
jmp 0x1400d1721
mov rcx, r12
call fcn.1400d3e20
mov eax, 0x4c4b40
add rax, qword [rsp + 0xa0]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x1400d099e
mov rcx, r12
call fcn.1400d3e20
mov eax, 0x4c4b40
add rax, qword [rsp + 0xa0]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x1400d079a
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d287f
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [0x14021e390]
jmp 0x1400d11d5
mov rax, qword [r15 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2899
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [0x14021e390]
jmp 0x1400d0cd4
lea rcx, [rsp + 0x140]
call qword [0x14021e390]
jmp 0x1400cedd8
lea rcx, [rsp + 0x140]
call qword [0x14021e390]
jmp 0x1400ceeb2
test esi, esi
jne 0x1400d1b56
cmp byte [r14 + 0x118], 0
jne 0x1400d08a9
xor eax, eax
jmp 0x1400d08c1
add rbp, rax
mov rcx, qword [rbp + 8]
jmp 0x1400cfe7d
lea r14, [rsp + 0xa0]
mov rcx, r14
call qword [0x14021e390]
mov rax, qword [r14]
jmp 0x1400d0952
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call qword [0x14021e390]
mov rax, qword [rsi]
jmp 0x1400d074e
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1b20
mov al, byte [r14 + 0x118]
jmp 0x1400d08c1
lea rcx, [rsp + 0x140]
call qword [0x14021e390]
jmp 0x1400d037a
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2ae7
mov rax, qword [r14 + 0x18]
jmp 0x1400cf453
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2aea
mov rax, qword [r14 + 0x18]
jmp 0x1400cf46f
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400cf082
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400cf7ad
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400cf866
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400cfb97
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r14d, eax
je 0x1400cf8da
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400cf09f
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400cf883
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400cf436
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400cf486
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400cf4b7
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400cf4d4
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400d001a
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
jne 0x1400d2b26
mov r14, qword [rsi + 0x160]
test r14, r14
jne 0x1400d0035
int3
ud2
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d1a69
mov rax, qword [r14 + 0x18]
jmp 0x1400d0838
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d1a6c
mov rax, qword [r14 + 0x18]
jmp 0x1400d0854
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d081b
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d086a
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d089b
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d08b8
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d11c5
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d0cc4
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, qword [rdi + 0x158]
sub rcx, qword [rdi + 0x150]
sar rcx, 2
cmp rcx, r14
je 0x1400cef5b
mov edx, r14d
jmp 0x1400d1ac2
inc dl
movzx r14d, dl
mov r12d, 0
cmp rcx, r14
je 0x1400cef5e
bt rax, r14
jae 0x1400d1aad
mov r8, qword [rdi + 0x1a0]
mov r9, qword [rdi + 0x1a8]
sub r9, r8
sar r9, 5
cmp r9, r14
jbe 0x1400d19cb
shl r14, 5
mov r9, qword [r8 + r14 + 8]
cmp r9, qword [r8 + r14 + 0x10]
je 0x1400d1aad
lea rcx, [rdi + 0x140]
call fcn.14019cf90
mov r12, rax
jmp 0x1400cef5e
int3
xor ecx, ecx
jmp 0x1400cf061
int3
int3
int3
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d1890
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r14d, eax
je 0x1400d2720
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x60], eax
je 0x1400d24be
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d182e
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d255b
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d25c5
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d261b
int3
mov r12d, 0xf68
add r12, qword [r8 + rax*8 - 8]
jmp 0x1400cf82a
movzx ecx, al
lea r8, [rsp + 0x140]
mov qword [r8], 0
lea rdx, [rsp + 0xd0]
mov r9d, 2
call fcn.1400b7bd0
jmp 0x1400cef22
movzx ecx, al
lea r8, [rsp + 0x140]
mov qword [r8], 0
lea rdx, [rsp + 0xd0]
mov r9d, 2
call fcn.1400b7bd0
jmp 0x1400cfbf4
movzx ecx, al
lea rax, str.SequenceManagerImpl::SelectNextTask
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rdx, [rsp + 0xd0]
mov r9d, 1
call fcn.1400b7bd0
jmp 0x1400cecf9
movzx ecx, al
lea rax, str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rdx, [rsp + 0xd0]
mov r9d, 1
call fcn.1400b7bd0
jmp 0x1400ced47
inc rax
mov qword [rsp + 0x158], rax
cmp rdx, rax
jne 0x1400cf999
mov rax, rdx
jmp 0x1400cf9bb
mov rcx, qword [rsp + 0x140]
mov qword [rbx], rcx
jmp 0x1400cedfe
mov rcx, qword [rsp + 0x140]
mov qword [rbx], rcx
jmp 0x1400ceed8
movabs r8, 0x7fffffffffffffff
mov rdx, qword [rax]
mov r9, qword [rax + 8]
lea r10, [r9 + r8]
add r10, 2
cmp r10, 2
jae 0x1400d1ccc
cmp rdx, r9
je 0x1400d2aed
lea rdx, [r8 + 1]
test r9, r9
cmovs rdx, r8
jmp 0x1400cee24
xor r10d, r10d
cmp rdx, r9
setns r10b
add r10, r8
sub rdx, r9
cmovo rdx, r10
jmp 0x1400cee24
movabs r8, 0x7fffffffffffffff
mov rdx, qword [rax]
mov r9, qword [rax + 8]
lea r10, [r9 + r8]
add r10, 2
cmp r10, 2
jae 0x1400d1d1d
cmp rdx, r9
je 0x1400d2af0
lea rdx, [r8 + 1]
test r9, r9
cmovs rdx, r8
jmp 0x1400ceefe
xor r10d, r10d
cmp rdx, r9
setns r10b
add r10, r8
sub rdx, r9
cmovo rdx, r10
jmp 0x1400ceefe
int3
mov rcx, qword [rdi + 0x1d8]
sub rcx, qword [rdi + 0x1d0]
sar rcx, 3
jmp 0x1400cf970
int3
int3
int3
int3
int3
int3
movzx ecx, al
lea r8, [rsp + 0x140]
mov qword [r8], 0
lea rdx, [rsp + 0xd0]
mov r9d, 2
call fcn.1400b7bd0
jmp 0x1400cfb56
movzx ecx, al
lea r8, [rsp + 0x140]
mov qword [r8], 0
lea rdx, [rsp + 0xd0]
mov r9d, 2
call fcn.1400b7bd0
jmp 0x1400cfae8
movzx ecx, al
lea r8, [rsp + 0x140]
mov qword [r8], 0
lea rdx, [rsp + 0xd0]
mov r9d, 2
call fcn.1400b7bd0
jmp 0x1400cfb32
movzx ecx, al
lea rax, str.SequenceManagerImpl::NotifyWillProcessTaskObservers
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rdx, [rsp + 0xd0]
mov r9d, 1
call fcn.1400b7bd0
jmp 0x1400cf845
movzx ecx, al
lea rax, str.SequenceManager.WillProcessTaskObservers
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rdx, [rsp + 0xd0]
mov r9d, 1
call fcn.1400b7bd0
jmp 0x1400cf8fc
movzx ecx, al
lea rax, str.SequenceManager.QueueNotifyWillProcessTask
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rdx, [rsp + 0xd0]
mov r9d, 1
call fcn.1400b7bd0
jmp 0x1400cfb03
call fcn.14016ab00
lea rsi, [rsp + 0x100]
movaps xmmword [rsi], xmm6
mov rdx, qword [r12]
mov rcx, rsi
call fcn.14019e250
mov rax, qword [rsi]
test rax, rax
je 0x1400d1f06
mov qword [rsp + 0x58], 0
mov rsi, qword [rsp + 0x108]
cmp qword [rax + 0x20], rsi
jbe 0x1400d2af6
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x68], rax
mov rax, qword [r14 + 0x18]
mov eax, dword [rax + 8]
mov dword [rsp + 0x70], eax
test eax, eax
jne 0x1400d2b95
mov al, byte [r14 + 0x148]
test al, al
je 0x1400d1e67
imul rsi, rsi, 0xa8
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + rsi + 0x20]
cmp rcx, qword [r14 + 0x140]
jge 0x1400d1f14
lea rcx, [rsp + 0x100]
call fcn.14019d090
mov rax, qword [rsp + 0x100]
test rax, rax
jne 0x1400d1e94
jmp 0x1400d2069
mov qword [rsp + 0x58], 0
jmp 0x1400d2069
mov rcx, qword [r14 + 0x18]
mov ecx, dword [rcx + 8]
mov dword [rsp + 0x58], ecx
test ecx, ecx
jne 0x1400d2bb9
add qword [rsp + 0x68], rsi
test al, 1
je 0x1400d1f38
mov byte [r14 + 0x148], 0
lea rsi, [rsp + 0xa0]
mov rcx, qword [rsp + 0x68]
mov rdx, rsi
call fcn.1400d80b0
lea rcx, [rsp + 0xd0]
mov rdx, rsi
call fcn.1400a1280
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2bd5
lea rax, [r14 + 0x120]
mov qword [rsp + 0x68], rax
cmp byte [r14 + 0x138], 1
je 0x1400d1f9e
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
call fcn.140133620
mov byte [r14 + 0x138], 1
jmp 0x1400d1fb0
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
call fcn.140133620
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2be6
mov rcx, qword [r14 + 0xa8]
mov qword [rsp + 0x58], rcx
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2bfd
cmp byte [r14 + 0x138], 0
je 0x1400d19cb
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov rdx, qword [rsp + 0x68]
call fcn.140133620
mov rcx, qword [rsp + 0x58]
mov rdx, rsi
call fcn.14019ef90
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2c0e
mov rcx, qword [r14 + 0xa0]
mov qword [rsp + 0x58], rcx
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2c25
cmp byte [r14 + 0x138], 0
je 0x1400d19cb
lea rsi, [rsp + 0xa0]
mov rcx, rsi
mov rdx, qword [rsp + 0x68]
call fcn.140133620
mov rcx, qword [rsp + 0x58]
mov rdx, rsi
call fcn.14019ef90
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x58], rax
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x58]
cmp rax, qword [0x14022e648]
jne 0x1400cf444
mov rcx, qword [rsp + 0x58]
call fcn.140003910
jmp 0x1400cf444
inc rax
mov qword [rsp + 0x158], rax
cmp rdx, rax
jne 0x1400cfa4c
mov rax, rdx
jmp 0x1400cf9c4
int3
int3
movzx r14d, al
mov rcx, r13
lea rsi, [rsp + 0xd0]
mov rdx, rsi
mov r8, r12
call fcn.1401932d0
lea rax, str.SequenceManager
lea r8, [rsp + 0xa0]
mov qword [r8], rax
lea rax, str.snapshot
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x28], rsi
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x100]
mov ecx, r14d
mov r9, r13
call fcn.140193ef0
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], 0
test rcx, rcx
je 0x1400cef79
mov edx, 1
call fcn.1401947c0
jmp 0x1400cef79
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400cf565
mov rax, qword [rsi + 0x18]
mov r14d, dword [rax + 4]
mov r15d, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
test r15d, r15d
sete cl
cmp eax, r14d
setne dl
or dl, cl
je 0x1400d2af3
cmp r14d, eax
jne 0x1400cf5da
lea r14, [rsi + 0x28]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400d21b2
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0x68], rcx
mov r15d, dword [rax + 8]
test r15d, r15d
jne 0x1400d2b5b
mov rcx, qword [rsi + 0xa8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x58], rcx
mov r15d, dword [rax + 8]
test r15d, r15d
jne 0x1400d2b6f
mov rcx, qword [rsi + 0xa0]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x70], rcx
mov r15d, dword [rax + 8]
test r15d, r15d
jne 0x1400d2b83
mov r15, qword [rsi + 0xb8]
mov r12, qword [rsi + 0xc0]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x100], 0xe8
mov al, byte [0x14023e068]
test al, al
je 0x1400cf5da
movzx r14d, al
mov rax, qword [rsp + 0x58]
add eax, dword [rsp + 0x68]
sub r12, r15
shr r12, 3
imul r15d, r12d, 0x3cf3cf3d
add r15d, dword [rsp + 0x70]
add r15d, eax
mov ecx, dword [rsi + 8]
call fcn.14019e220
lea r8, [rsp + 0xa0]
mov qword [r8], rax
lea rax, [rsp + 0xcc]
mov dword [rax], r15d
lea rcx, [0x140200a84]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x38], rax
lea rax, [0x140200608]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x43
lea rdx, [rsp + 0x100]
mov ecx, r14d
xor r9d, r9d
call fcn.140041b90
jmp 0x1400cf5da
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400cf366
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400cedd0
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ceeaa
mov r8, qword [rdx + 8]
cmp qword [rax + 8], r8
jne 0x1400d234f
mov edx, dword [rdx + 0x10]
cmp dword [rax + 0x10], edx
jl 0x1400d01fd
jmp 0x1400d01c4
int3
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [0x14021e390]
jmp 0x1400d0078
movzx ecx, al
lea r8, [rsp + 0x140]
mov qword [r8], 0
lea rdx, [rsp + 0xd0]
mov r9d, 2
call fcn.1400b7bd0
jmp 0x1400cfb3b
movzx ecx, al
lea r8, [rsp + 0x140]
mov qword [r8], 0
lea rdx, [rsp + 0xd0]
mov r9d, 2
call fcn.1400b7bd0
jmp 0x1400cffeb
mov rcx, qword [rsp + 0x140]
mov qword [rbx], rcx
jmp 0x1400d039f
mov rcx, qword [rdi + 0x210]
sub rcx, qword [rdi + 0x208]
sar rcx, 4
jmp 0x1400cfd81
movzx ecx, al
lea rax, str.SequenceManager.WillProcessTaskTimeObservers
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rdx, [rsp + 0xd0]
mov r9d, 1
call fcn.1400b7bd0
jmp 0x1400cfd0d
movzx ecx, al
lea rax, str.SequenceManager.QueueOnTaskStarted
lea r8, [rsp + 0x140]
mov qword [r8], rax
lea rdx, [rsp + 0xd0]
mov r9d, 1
call fcn.1400b7bd0
jmp 0x1400d0006
int3
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400d0372
int3
lea rsi, [rsp + 0x100]
movaps xmmword [rsi], xmm6
mov rdx, qword [r12]
mov rcx, rsi
call fcn.14019e250
mov rax, qword [rsi]
test rax, rax
je 0x1400d24fe
mov rsi, qword [rsp + 0x108]
cmp qword [rax + 0x20], rsi
jbe 0x1400d1a72
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
mov rax, qword [r14 + 0x18]
mov eax, dword [rax + 8]
mov dword [rsp + 0x60], eax
test eax, eax
jne 0x1400d1b43
mov al, byte [r14 + 0x148]
test al, al
je 0x1400d1e67
imul rsi, rsi, 0xa8
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + rsi + 0x20]
cmp rcx, qword [r14 + 0x140]
jge 0x1400d2505
lea rcx, [rsp + 0x100]
call fcn.14019d090
mov rax, qword [rsp + 0x100]
jmp 0x1400d248b
xor ecx, ecx
jmp 0x1400d2653
mov rcx, qword [r14 + 0x18]
mov ecx, dword [rcx + 8]
mov dword [rsp + 0x60], ecx
test ecx, ecx
jne 0x1400d2c66
test al, 1
je 0x1400d2524
mov byte [r14 + 0x148], 0
mov rcx, qword [rsp + 0x50]
add rcx, rsi
lea rsi, [rsp + 0xa0]
mov rdx, rsi
call fcn.1400d80b0
lea rcx, [rsp + 0xd0]
mov rdx, rsi
call fcn.1400a1280
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1b67
lea rax, [r14 + 0x120]
mov qword [rsp + 0x50], rax
cmp byte [r14 + 0x138], 1
je 0x1400d258d
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x50]
call fcn.140133620
mov byte [r14 + 0x138], 1
jmp 0x1400d259f
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x50]
call fcn.140133620
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2dd3
mov rcx, qword [r14 + 0xa8]
mov qword [rsp + 0x60], rcx
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1b78
cmp byte [r14 + 0x138], 0
je 0x1400d19cb
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov rdx, qword [rsp + 0x50]
call fcn.140133620
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call fcn.14019ef90
mov rax, qword [r14 + 0x18]
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d2dea
mov rcx, qword [r14 + 0xa0]
mov qword [rsp + 0x60], rcx
mov esi, dword [rax + 8]
test esi, esi
jne 0x1400d1b89
cmp byte [r14 + 0x138], 0
je 0x1400d19cb
lea rsi, [rsp + 0xa0]
mov rcx, rsi
mov rdx, qword [rsp + 0x50]
call fcn.140133620
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call fcn.14019ef90
mov rcx, qword [rsp + 0x100]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x14022e648]
jne 0x1400d0829
call fcn.140003910
jmp 0x1400d0829
mov rax, qword [rsi + 0x18]
mov r14d, dword [rax + 4]
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x48], 0
sete cl
cmp eax, r14d
setne dl
or dl, cl
je 0x1400d1a6f
cmp r14d, eax
jne 0x1400d09c6
lea rcx, [rsi + 0x28]
mov qword [rsp + 0x48], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400d26c9
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0x50], rcx
mov r14d, dword [rax + 8]
test r14d, r14d
jne 0x1400d2c36
mov rcx, qword [rsi + 0xa8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x60], rcx
mov r14d, dword [rax + 8]
test r14d, r14d
jne 0x1400d2c4e
mov rcx, qword [rsi + 0xa0]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x90], rcx
mov r14d, dword [rax + 8]
test r14d, r14d
jne 0x1400d1b31
mov rax, qword [rsi + 0xb8]
mov qword [rsp + 0x88], rax
mov r14, qword [rsi + 0xc0]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x100], 0xe8
mov al, byte [0x14023e068]
test al, al
je 0x1400d09c6
movzx eax, al
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x60]
add eax, dword [rsp + 0x50]
sub r14, qword [rsp + 0x88]
shr r14, 3
imul r14d, r14d, 0x3cf3cf3d
add r14d, dword [rsp + 0x90]
add r14d, eax
mov ecx, dword [rsi + 8]
call fcn.14019e220
lea r8, [rsp + 0xa0]
mov qword [r8], rax
lea rax, [rsp + 0xcc]
mov dword [rax], r14d
lea rcx, [0x140200a84]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x38], rax
lea rax, [0x140200608]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x43
lea rdx, [rsp + 0x100]
mov ecx, dword [rsp + 0x48]
xor r9d, r9d
call fcn.140041b90
jmp 0x1400d09c6
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400d094a
mov rcx, qword [0x14023e460]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400d0746
mov rcx, r15
mov rdx, r14
call fcn.14012b7a0
add r14, 0x10
add r15, 0x10
cmp r14, rsi
jne 0x1400d2848
mov rsi, qword [r13 + 8]
jmp 0x1400d00eb
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d16d4
int3
call fcn.14016eb90
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2af9
mov rcx, qword [r15 + 0x98]
jmp 0x1400d17c9
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2afc
mov rcx, qword [r15 + 0x98]
jmp 0x1400d17ec
call fcn.140133b2c
jmp 0x1400d1191
lea r14, [rsp + 0xd0]
add r15, 0xfffffffffffffff8
mov rcx, r14
mov rdx, r15
call fcn.140194610
cmp r15, qword [rdi + 0x2b0]
jne 0x1400d28c5
mov rcx, qword [rdi + 0x2a8]
mov rax, qword [rdi + 0x2b8]
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xe8]
mov qword [rdi + 0x2a8], rdx
mov qword [rdi + 0x2b0], r8
mov qword [rdi + 0x2b8], r9
mov qword [rdi + 0x2c0], r10
cmp r15, rax
je 0x1400d1188
add r15, 8
add rax, 8
cmp rax, 0x10
je 0x1400d19cb
add rax, 0xfffffffffffffff8
cmp r15, rax
je 0x1400d1188
jmp 0x1400d2938
mov rcx, r14
mov qword [rsp + 0x78], r8
mov r8, qword [rsp + 0x78]
call fcn.14016a030
mov r8, qword [rsp + 0x78]
mov rax, qword [rsi + 8]
jmp 0x1400d0b6c
cmp rcx, r14
je 0x1400d2998
mov ecx, 0xf68
call fcn.140133b54
lea rdx, [rsp + 0xd0]
mov qword [rdx], rax
mov rcx, r12
call fcn.1401944c0
jmp 0x1400d1191
mov ecx, 0xf68
call fcn.140133b54
lea r15, [rsp + 0xd0]
mov qword [r15], rax
mov rcx, r12
mov rdx, r15
call fcn.140194610
mov rax, qword [rdi + 0x2b0]
mov rcx, qword [rax]
mov qword [r15], rcx
add rax, 8
mov qword [rdi + 0x2b0], rax
lea rdx, [rsp + 0xd0]
jmp 0x1400d29fe
add rax, 0xffffffffffffffef
mov qword [rdi + 0x2c8], rax
mov rax, qword [rsi]
lea rdx, [rsp + 0xd0]
mov qword [rdx], rax
add rsi, 8
mov qword [rdi + 0x2b0], rsi
mov rcx, r12
call fcn.1401944c0
jmp 0x1400d1191
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], r12
test r15, r15
jle 0x1400d2a4f
shr r15, 1
add r15, 4
and r15, 0xfffffffffffffff8
mov rax, qword [rsp + 0x58]
sub rax, r15
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xd8], rax
mov r12, qword [rsp + 0x70]
mov rax, qword [rsp + 0x80]
jmp 0x1400d112f
movabs rax, 0x1fffffffffffffff
sar r15, 2
cmp r14, rsi
mov esi, 1
cmovne rsi, r15
cmp rsi, rax
ja 0x1400d287a
lea rcx, [rsi*8]
call fcn.140133b54
mov r12, rax
lea rax, [rax + rsi*8]
and rsi, 0xfffffffffffffffc
lea rcx, [r12 + rsi*2]
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xe8], rax
cmp qword [rsp + 0x70], 0
je 0x1400d2a42
mov rcx, qword [rsp + 0x70]
call fcn.140133b2c
jmp 0x1400d2a42
mov rcx, r15
mov rdx, rbx
call fcn.1400f2770
jmp 0x1400d14ed
mov rcx, r15
mov rdx, rbx
call fcn.1400f2770
jmp 0x1400d0fd5
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
test esi, esi
je 0x1400d12c0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d12c0
int3
test esi, esi
je 0x1400d0dbf
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d0dbf
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r15d, eax
jne 0x1400d2b05
mov rax, qword [rsi + 0x18]
jmp 0x1400d21cc
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r15d, eax
jne 0x1400d2b08
mov rax, qword [rsi + 0x18]
jmp 0x1400d21e9
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r15d, eax
je 0x1400d2206
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x70], eax
je 0x1400d1ec2
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d167e
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x58], eax
jne 0x1400d2b0b
mov al, byte [r14 + 0x148]
jmp 0x1400d1f27
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d1f6c
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2b0e
mov rax, qword [r14 + 0x18]
jmp 0x1400d1fbf
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d1fd6
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2b11
mov rax, qword [r14 + 0x18]
jmp 0x1400d2015
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d202c
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r14d, eax
jne 0x1400d1a75
mov rax, qword [rsi + 0x18]
jmp 0x1400d26e3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r14d, eax
jne 0x1400d1a78
mov rax, qword [rsi + 0x18]
jmp 0x1400d2700
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x60], eax
jne 0x1400d1a7b
mov al, byte [r14 + 0x148]
jmp 0x1400d2518
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d128d
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d12c0
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d12d9
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400d12fc
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400d1339
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2b14
mov rax, qword [r15 + 0x18]
jmp 0x1400d1390
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r12d, eax
je 0x1400d13e5
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r12d, eax
jne 0x1400d2b17
mov rax, qword [r15 + 0x18]
jmp 0x1400d1444
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r12d, eax
je 0x1400d149d
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d0d8c
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d0dbf
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d0dd8
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x1400d0dfb
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r12d, eax
je 0x1400d0e34
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2b1a
mov rax, qword [r15 + 0x18]
jmp 0x1400d0e87
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r14d, eax
je 0x1400d0ed9
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r14d, eax
jne 0x1400d2b1d
mov rax, qword [r15 + 0x18]
jmp 0x1400d0f34
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp r14d, eax
je 0x1400d0f89
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d1a7e
mov rax, qword [r14 + 0x18]
jmp 0x1400d25ae
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d1a81
mov rax, qword [r14 + 0x18]
jmp 0x1400d2604
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2b20
mov rax, qword [r15 + 0x18]
jmp 0x1400d1529
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d1542
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400d2b23
mov rax, qword [r15 + 0x18]
jmp 0x1400d1011
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x1400d102a
int3
cmp rcx, rdx
je 0x1400d2aff
test rdx, rdx
mov rcx, rbp
cmovs rcx, rsi
jmp 0x1400d121f
cmp rcx, rdx
je 0x1400d2b02
test rdx, rdx
mov rcx, rbp
cmovs rcx, rsi
jmp 0x1400d0d1e
mov rcx, r15
call fcn.140132c00
jmp 0x1400d1343
mov rcx, r15
call fcn.140132c00
jmp 0x1400d0e3e
lea rdx, [rsp + 0xd0]
mov rcx, r15
call fcn.14009f480
jmp 0x1400d1381
lea rdx, [rsp + 0xd0]
mov rcx, r15
call fcn.14009f480
jmp 0x1400d0e78
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rdx + rsi]
add r8, 2
cmp r8, 2
jb 0x1400d2e51
xor r8d, r8d
cmp rcx, rdx
setns r8b
add r8, rsi
sub rcx, rdx
cmovo rcx, r8
jmp 0x1400d121f
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rdx + rsi]
add r8, 2
cmp r8, 2
jb 0x1400d2e69
xor r8d, r8d
cmp rcx, rdx
setns r8b
add r8, rsi
sub rcx, rdx
cmovo rcx, r8
jmp 0x1400d0d1e
mov rcx, r15
call fcn.140132c00
mov rcx, qword [r15 + 0x10]
xor ebp, ebp
cmp al, byte [rcx + 0x51]
setbe bpl
jmp 0x1400d0e0b
mov rcx, r15
call fcn.140132c00
mov rcx, qword [r15 + 0x10]
xor edx, edx
cmp al, byte [rcx + 0x51]
setbe dl
mov dword [rsp + 0x48], edx
jmp 0x1400d1312