Function at 0x1400971c0
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, 0x698
movaps xmmword [rsp + 0x680], xmm6
mov dword [rsp + 0x70], r9d
mov r15, r8
mov r14, rcx
mov rax, qword [0x1401f6040]
xor rax, rsp
mov qword [rsp + 0x678], rax
movaps xmm6, xmmword [0x1401c7000]
movups xmmword [rdx + 0x10], xmm6
mov qword [rsp + 0x98], rdx
movups xmmword [rdx], xmm6
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x14009976a
lock and dword [r14 + 0x60], 0xfffffffc
mov rdi, qword [r14 + 0x98]
test rdi, rdi
je 0x14009725d
lea rbx, [0x140142e70]
xor r12d, r12d
xchg qword [rdi], r12
test r12, r12
jne 0x1400986f2
mov rdi, qword [rdi + 0x218]
test rdi, rdi
jne 0x140097242
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099797
mov esi, 1
lock xadd qword [r14 + 0x20], rsi
mov r13, qword [r14 + 0x250]
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400972d0
movzx eax, byte [r15 + 8]
test al, al
je 0x140098754
test al, al
je 0x1400995ac
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400995ac
mov rcx, qword [r15]
cmp dword [rax + 0x14], 1
je 0x140099865
mov rdx, qword [rax]
cmp rdx, rcx
jle 0x140098e69
mov r13, qword [r14 + 0x258]
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x14009731d
movzx eax, byte [r15 + 8]
test al, al
je 0x1400987dd
test al, al
je 0x1400995ac
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400995ac
mov rcx, qword [r15]
cmp dword [rax + 0x14], 1
je 0x1400998b6
mov rdx, qword [rax]
cmp rdx, rcx
jle 0x140098f3b
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x1400996f2
cmp byte [r15 + 8], 1
jne 0x14009734f
mov rax, qword [r15]
cmp rax, qword [r14 + 0x268]
jge 0x1400992ca
lea rax, [r14 - 8]
mov qword [rsp + 0x80], rax
lea r11, [rsp + 0x138]
lea rbx, [rsp + 0xe0]
lea r10, [0x14010dc50]
mov rax, qword [r14 + 0x168]
test rax, rax
jne 0x140098890
xor ebp, ebp
mov qword [rsp + 0xc0], 0xe7
movzx eax, byte [0x140208237]
test al, al
jne 0x1400999bf
test rbp, rbp
je 0x140098445
cmp qword [rbp + 0x28], 0
je 0x140097457
mov r8d, 0x540
mov rcx, r11
mov dl, 0xaa
mov r13, r10
mov r12, r11
call fcn.14010c6a0
mov r11, r12
mov r10, r13
mov qword [rsp + 0x130], 0
cmp qword [rbp + 0x10], 0
je 0x140097457
mov rax, qword [rbp]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov ecx, 0
cmovne rcx, rdx
cmp r8, rcx
jbe 0x1400995b4
mov rsi, qword [rax + 0x18]
imul rdi, rcx, 0xa8
mov rcx, qword [rsi + rdi + 0x78]
test rcx, rcx
je 0x140098b10
mov rax, qword [rcx + 0x18]
cmp rax, r10
jne 0x140098ae0
add rsi, rdi
cmp qword [rsi + 0xa0], 0
jne 0x140098a8f
mov rsi, qword [rsp + 0x130]
cmp rsi, 2
jae 0x140098d06
test rsi, rsi
jne 0x140098e1f
cmp qword [rbp + 0x10], 0
je 0x1400995d8
mov rax, qword [rbp]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov ecx, 0
cmovne rcx, rdx
cmp r8, rcx
jbe 0x1400995bd
imul rcx, rcx, 0xa8
add rcx, qword [rax + 0x18]
cmp byte [rcx + 0x80], 0
je 0x1400990ed
mov rsi, qword [rbp + 0x30]
mov rax, qword [rsi + 0x18]
mov edi, dword [rax + 8]
test edi, edi
jne 0x1400997f4
cmp qword [rsi + 0x160], 0
jne 0x1400974d7
mov rax, qword [rsi + 0x18]
mov edi, dword [rax + 8]
test edi, edi
jne 0x140099c3e
cmp qword [rsi + 0x168], 0
je 0x140098a4d
movsd xmm0, qword [r14 + 0x58]
mov r13b, 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x1400996a7
cmp byte [r14 + 0x138], 0
je 0x1400995ac
mov rax, qword [r14 + 0x128]
mov rcx, qword [r14 + 0x130]
mov qword [r14 + 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 [r14 + 0x130], rdx
add rdx, rcx
shr rdx, 0xb
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
mulsd xmm1, qword [0x1401ccea0]
ucomisd xmm0, xmm1
seta r9b
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x120], xmm0
movupd xmmword [rsp + 0x110], xmm0
mov rdi, qword [rbp + 0x30]
movups xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x160], xmm6
movups xmmword [rsp + 0x170], xmm6
movups xmmword [rsp + 0x180], xmm6
movups xmmword [rsp + 0x190], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x1a0], rax
mov word [rsp + 0x108], 0xaaaa
mov byte [rsp + 0x10a], 0xaa
mov rax, qword [rbp]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
xor ecx, ecx
cmp rdx, r8
cmovne rcx, rdx
cmp r8, rcx
jbe 0x1400995df
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x130], 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 + 0x150], xmm0
movapd xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x180], xmm3
movupd xmm0, xmmword [rax + rcx + 0x60]
movapd xmmword [rsp + 0x190], xmm0
mov rdx, qword [rax + rcx + 0x6d]
mov qword [rsp + 0x19d], rdx
mov r10, qword [rax + rcx + 0x78]
mov qword [rax + rcx + 0x78], 0
movzx edx, byte [rax + rcx + 0x82]
mov byte [rsp + 0x10a], dl
movzx edx, word [rax + rcx + 0x80]
mov word [rsp + 0x108], dx
mov r11, qword [rax + rcx + 0x88]
mov rsi, qword [rax + rcx + 0x90]
mov qword [rax + rcx + 0x88], 0
mov rdx, qword [rax + rcx + 0x98]
mov qword [rsp + 0x90], rdx
mov qword [rax + rcx + 0x98], 0
mov rax, qword [rax + rcx + 0xa0]
mov qword [rsp + 0x88], rax
mov rax, qword [rbp]
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 0x1400995e2
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x70], r9d
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
lea rbx, [rax + rcx]
mov rcx, qword [rax + rcx + 0x98]
test rcx, rcx
jne 0x1400989b1
mov rsi, qword [rbx + 0x88]
test rsi, rsi
jne 0x1400986e3
mov rcx, qword [rbx + 0x78]
test rcx, rcx
jne 0x140098a77
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
cmp rcx, qword [rax]
jne 0x140097757
mov rcx, qword [rax + 0x28]
test rcx, rcx
jne 0x1400990bf
dec qword [rbp + 0x10]
jne 0x140097a43
cmp dword [rbp + 0x70], 0
jne 0x14009797a
mov r12, qword [rbp + 0x30]
cmp qword [rbp + 8], 0
je 0x140097838
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa8], rax
mov rax, qword [0x1401f86c0]
lea rcx, [0x14007dcb0]
cmp rax, rcx
jne 0x14009943a
mov qword [rsp + 0xe0], 0
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xe0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14009a03b
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402085c8]
mov qword [rsp + 0xa8], rax
cmp rax, qword [rbp + 0x20]
jl 0x140097838
mov rax, qword [rbp + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x18], rcx
test rax, rax
je 0x140097838
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140097822
cmp rcx, r8
jb 0x14009934c
lea rsi, [r12 + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400992bc
mov rax, qword [rbp]
mov rcx, qword [r12 + 0x30]
mov qword [rbp], rcx
mov qword [r12 + 0x30], rax
mov rax, qword [rbp + 8]
mov rcx, qword [r12 + 0x38]
mov qword [rbp + 8], rcx
mov qword [r12 + 0x38], rax
mov rax, qword [rbp + 0x10]
mov rcx, qword [r12 + 0x40]
mov qword [rbp + 0x10], rcx
mov qword [r12 + 0x40], rax
mov rax, qword [rbp + 0x18]
mov rcx, qword [r12 + 0x48]
mov qword [rbp + 0x18], rcx
mov qword [r12 + 0x48], rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [r12 + 0x50]
mov qword [rbp + 0x20], rcx
mov qword [r12 + 0x50], rax
mov rax, qword [r12 + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140099ba0
cmp byte [r12 + 0x148], 1
je 0x140099c60
mov rax, qword [r12 + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x1400997c4
mov rcx, qword [r12 + 0xa8]
cmp qword [rcx + 0x10], 0
sete byte [r12 + 0x58]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x1400997dc
movzx ecx, byte [r12 + 0x118]
mov byte [r12 + 0x5b], cl
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140099bb1
cmp qword [r12 + 0x98], 0
jne 0x1400993f1
mov rax, qword [r12]
mov rcx, qword [r12 + 0x18]
lea rdx, [fcn.1400d1f80]
cmp qword [rax + 0x10], rdx
mov ebx, dword [rcx + 8]
jne 0x140099746
test ebx, ebx
jne 0x140099bc2
cmp byte [r12 + 0x118], 1
jne 0x14009975d
mov rax, qword [r12 + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140099bd3
movzx eax, byte [r12 + 0x138]
xor al, 1
mov byte [r12 + 0x59], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [rbp + 8], 0
je 0x140097a43
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa8], rax
mov rax, qword [0x1401f86c0]
lea rcx, [0x14007dcb0]
cmp rax, rcx
jne 0x14009940e
mov qword [rsp + 0xe0], 0
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xe0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14009a014
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402085c8]
mov qword [rsp + 0xa8], rax
cmp rax, qword [rbp + 0x20]
jl 0x140097a43
mov rax, qword [rbp + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x18], rcx
test rax, rax
je 0x140097a43
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140097a2d
cmp rcx, r8
jb 0x140099320
mov rcx, qword [rbp + 0x28]
mov rdx, rbp
call fcn.14009aa70
mov rbx, qword [rbp + 0x30]
movzx eax, byte [0x140208236]
test al, al
jne 0x140099ec4
mov rbx, qword [r14 + 0x2b0]
mov rsi, qword [r14 + 0x2b8]
mov rax, rsi
sub rax, rbx
mov r12, rsi
sub r12, rbx
je 0x140098e41
sar rax, 3
lea rcx, [rax + r12*2]
dec rcx
mov rax, qword [r14 + 0x2c8]
mov rdx, qword [r14 + 0x2d0]
add rdx, rax
cmp rcx, rdx
je 0x14009917a
cmp rsi, rbx
je 0x1400995ac
mov rcx, qword [r14 + 0x2c8]
add rcx, qword [r14 + 0x2d0]
movabs rsi, 0xf0f0f0f0f0f0f0f1
mov rax, rcx
mul rsi
mov rax, rdx
and rax, 0xfffffffffffffff0
shr rdx, 4
add rax, rdx
sub rcx, rax
imul r12, rcx, 0xe8
add r12, qword [rbx + rdx*8]
je 0x1400995ac
lea rax, [rsp + 0x150]
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
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 + 0x80]
mov qword [r12 + 0x78], rax
movzx eax, word [rsp + 0x108]
mov word [r12 + 0x80], ax
movzx eax, byte [rsp + 0x10a]
mov byte [r12 + 0x82], al
mov rax, qword [rsp + 0x60]
mov qword [r12 + 0x88], rax
mov rax, qword [rsp + 0x78]
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], rdi
mov eax, dword [rdi + 8]
mov dword [r12 + 0xb0], eax
mov dword [r12 + 0xb8], 0
mov byte [r12 + 0xbc], r13b
mov eax, dword [rsp + 0x70]
mov byte [r12 + 0xbd], al
movupd xmm0, xmmword [rsp + 0x10e]
movupd xmm1, xmmword [rsp + 0x11e]
movupd xmmword [r12 + 0xbe], xmm0
movupd xmmword [r12 + 0xce], xmm1
movzx eax, word [rsp + 0x12e]
mov word [r12 + 0xde], ax
mov rax, qword [rdi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140099805
mov rax, qword [rdi + 0xa8]
movzx eax, byte [rax + 0x38]
mov byte [r12 + 0xe0], al
movzx eax, byte [r12 + 0x82]
mov dword [r12 + 0xe4], eax
mov rcx, qword [r14 + 0x2d0]
inc rcx
mov qword [r14 + 0x2d0], rcx
add rcx, qword [r14 + 0x2c8]
mov r8, qword [r14 + 0x2b0]
mov rax, rcx
mul rsi
mov rax, rdx
shr rax, 4
mov r9, qword [r8 + rax*8]
cmp qword [r14 + 0x2b8], r8
je 0x1400995e5
and rdx, 0xfffffffffffffff0
add rdx, rax
sub rcx, rdx
imul r12, rcx, 0xe8
add r12, r9
cmp r12, r9
je 0x1400996e2
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099a5b
mov rsi, qword [r12 - 0x40]
cmp byte [rsi + 0x1d8], 1
jne 0x140097ce2
mov byte [r14 + 0x2a0], 1
mov rsi, qword [r12 - 0x40]
mov rax, qword [rsi + 0x18]
mov edi, dword [rax + 8]
test edi, edi
jne 0x140099816
cmp qword [rsi + 0x160], 0
jne 0x140097d18
mov rax, qword [rsi + 0x18]
mov edi, dword [rax + 8]
test edi, edi
jne 0x140099c4f
cmp qword [rsi + 0x168], 0
je 0x140098866
mov dword [r12 - 0x30], 1
cmp byte [r12 - 0x2c], 1
jne 0x140097d46
movzx eax, byte [r15 + 8]
test al, al
je 0x1400989c4
test al, al
je 0x1400995ac
mov rax, qword [r15]
mov qword [r12 - 0x28], rax
mov bpl, 1
cmp byte [r12 - 0x2b], 1
je 0x14009915d
lea rbx, [r12 - 0xe8]
mov rsi, qword [r12 - 0x40]
cmp byte [rsi + 0x1d9], 1
mov qword [rsp + 0x70], rbx
jne 0x1400983b3
mov r15, qword [r12 - 0x58]
mov rax, qword [rsi + 0x18]
mov edi, dword [rax + 8]
test edi, edi
jne 0x140099838
mov dword [rsp + 0x80], ebp
mov r13, qword [rsi + 0x158]
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099a88
mov rax, qword [r14 + 0x1d0]
cmp rax, qword [r14 + 0x1d8]
je 0x140097f8e
lea rax, [r14 + 0x1d0]
mov qword [rsp + 0x140], rax
lea rax, [r14 + 0x1e8]
mov qword [rsp + 0x138], rax
mov rax, qword [r14 + 0x1e8]
mov qword [rsp + 0x130], rax
lea rcx, [rsp + 0x130]
mov qword [rax + 8], rcx
mov qword [r14 + 0x1e8], rcx
mov qword [rsp + 0x148], 0
mov rcx, 0xffffffffffffffff
cmp dword [r14 + 0x200], 0
jne 0x140099918
mov qword [rsp + 0x150], rcx
mov rbp, qword [rsp + 0x140]
mov rdx, qword [rbp + 8]
sub rdx, qword [rbp]
sar rdx, 3
cmp rdx, rcx
cmovae rdx, rcx
xor eax, eax
test rdx, rdx
je 0x140097e73
mov r8, qword [rbp]
mov r9, qword [rbp + 8]
sub r9, r8
sar r9, 3
cmp r9, rax
jbe 0x1400995ac
cmp qword [r8 + rax*8], 0
je 0x140099849
test rbp, rbp
je 0x140097f8e
mov rdx, qword [rbp]
mov r8, qword [rbp + 8]
sub r8, rdx
sar r8, 3
cmp r8, rcx
cmovb rcx, r8
cmp rax, rcx
je 0x140097f2e
cmp r8, rax
jbe 0x1400995ac
cmp r13, r15
seta r8b
mov rcx, qword [rdx + rax*8]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [0x1401e8220]
mov rbp, qword [rsp + 0x140]
test rbp, rbp
je 0x140097f8e
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x150]
inc rax
mov qword [rsp + 0x148], rax
mov rdx, qword [rbp + 8]
sub rdx, qword [rbp]
sar rdx, 3
cmp rdx, rcx
cmovae rdx, rcx
cmp rax, rdx
jae 0x140097e7c
mov r8, qword [rbp]
mov r9, qword [rbp + 8]
sub r9, r8
sar r9, 3
cmp r9, rax
jbe 0x1400995ac
cmp qword [r8 + rax*8], 0
jne 0x140097e7c
jmp 0x140099688
mov rax, qword [rbp + 0x20]
cmp rax, qword [rbp + 0x18]
jne 0x140097f5b
mov rdi, qword [rbp]
mov rsi, qword [rbp + 8]
cmp rdi, rsi
je 0x140097f5b
lea rbx, [rdi + 8]
cmp qword [rdi], 0
je 0x140099044
mov rdi, rbx
cmp rbx, rsi
jne 0x140097f45
cmp qword [rsp + 0x140], 0
mov rbx, qword [rsp + 0x70]
je 0x140097f8e
mov qword [rsp + 0x140], 0
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
mov qword [rax + 8], rcx
mov qword [rcx], rax
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099959
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
mov esi, dword [rsp + 0x80]
jne 0x140099ab5
cmp r13, r15
seta r8b
mov rcx, qword [r12 - 0x40]
mov rdx, rbx
call fcn.14009a740
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099983
test sil, sil
je 0x1400983b3
cmp dword [r14 + 0xa8], 0
jne 0x14009830b
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099be4
mov rax, qword [r14 + 0x208]
cmp rax, qword [r14 + 0x210]
je 0x1400982f0
lea rax, [r14 + 0x208]
mov qword [rsp + 0x140], rax
lea rax, [r14 + 0x220]
mov qword [rsp + 0x138], rax
mov rax, qword [r14 + 0x220]
mov qword [rsp + 0x130], rax
lea rcx, [rsp + 0x130]
mov qword [rax + 8], rcx
mov qword [r14 + 0x220], rcx
mov qword [rsp + 0x148], 0
mov rcx, 0xffffffffffffffff
cmp dword [r14 + 0x238], 0
jne 0x140099b69
mov qword [rsp + 0x150], rcx
mov r13, qword [rsp + 0x140]
mov rax, qword [r13 + 8]
sub rax, qword [r13]
sar rax, 4
cmp rax, rcx
cmovae rax, rcx
test rax, rax
je 0x14009813d
xor ecx, ecx
mov rdx, qword [rsp + 0x140]
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
sub rdx, r8
sar rdx, 4
cmp rdx, rcx
jbe 0x1400995ac
shl rcx, 4
lea rdx, [r8 + rcx]
cmp qword [r8 + rcx + 8], 0
je 0x140098112
mov rcx, qword [rdx]
test rcx, rcx
je 0x140099685
movzx ecx, byte [rcx + 4]
test cl, cl
jne 0x140099685
mov rcx, qword [rdx]
test rcx, rcx
je 0x140098e48
movzx ecx, byte [rcx + 4]
test cl, cl
jne 0x140098e48
cmp qword [rdx + 8], 0
je 0x140098e48
mov r13, qword [rsp + 0x140]
test r13, r13
je 0x1400982f0
mov rax, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x150]
mov rbp, qword [r13]
mov rdi, qword [r13 + 8]
mov rcx, rdi
sub rcx, rbp
sar rcx, 4
cmp rcx, rdx
cmovb rdx, rcx
cmp rax, rdx
je 0x140098266
cmp rcx, rax
jbe 0x1400995ac
shl rax, 4
mov rcx, qword [rbp + rax]
test rcx, rcx
je 0x14009819b
movzx ecx, byte [rcx + 4]
test cl, cl
je 0x1400995cc
xor ecx, ecx
mov rdx, qword [r12 - 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x1401e8220]
mov r13, qword [rsp + 0x140]
test r13, r13
je 0x1400982f0
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x150]
inc rcx
mov qword [rsp + 0x148], rcx
mov rax, qword [r13 + 8]
sub rax, qword [r13]
sar rax, 4
cmp rax, rdx
cmovae rax, rdx
cmp rcx, rax
jae 0x14009813d
mov rdx, qword [rsp + 0x140]
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
sub rdx, r8
sar rdx, 4
cmp rdx, rcx
jbe 0x1400995ac
shl rcx, 4
lea rdx, [r8 + rcx]
cmp qword [r8 + rcx + 8], 0
je 0x14009823e
mov rcx, qword [rdx]
test rcx, rcx
je 0x1400995ae
movzx ecx, byte [rcx + 4]
test cl, cl
jne 0x1400995ae
mov rcx, qword [rdx]
test rcx, rcx
je 0x1400985f2
movzx ecx, byte [rcx + 4]
test cl, cl
jne 0x1400985f2
cmp qword [rdx + 8], 0
jne 0x140098135
jmp 0x1400985f2
mov rax, qword [r13 + 0x20]
cmp rax, qword [r13 + 0x18]
jne 0x1400982c2
cmp rbp, rdi
je 0x1400982c2
cmp qword [rbp + 8], 0
je 0x140098295
mov rax, qword [rbp]
test rax, rax
je 0x1400995b1
movzx eax, byte [rax + 4]
test al, al
jne 0x1400995b1
mov rax, qword [rbp]
test rax, rax
je 0x140098613
movzx eax, byte [rax + 4]
test al, al
jne 0x140098613
cmp qword [rbp + 8], 0
je 0x140098613
add rbp, 0x10
cmp rbp, rdi
jne 0x140098275
cmp qword [rsp + 0x140], 0
je 0x1400982f0
mov qword [rsp + 0x140], 0
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
mov qword [rax + 8], rcx
mov qword [rcx], rax
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099b15
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099c11
mov rsi, qword [r12 - 0x40]
mov rax, qword [rsi + 0x18]
mov edi, dword [rax + 8]
test edi, edi
jne 0x140099907
mov rdi, qword [rsi + 0x160]
test rdi, rdi
je 0x140098398
mov rax, qword [rsi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x140099ae2
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x140099764
cmp eax, 0x7fffffff
mov rdx, qword [rsp + 0x70]
je 0x140099767
lea r8, [r12 - 0x30]
mov rax, qword [rsi + 0x160]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [0x1401e8220]
lock dec dword [rdi]
je 0x140099b03
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x140099b3f
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x14009992f
cmp qword [r12 - 0x48], 0
jne 0x140098550
mov rax, qword [r12 - 0x50]
test rax, rax
je 0x1400983f0
movzx eax, byte [rax + 4]
test al, al
je 0x14009856e
mov esi, dword [r12 - 0x38]
movzx ebx, byte [r12 - 8]
mov rdi, qword [r12 - 0x40]
mov rax, qword [rdi + 0x18]
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x140099827
mov rdi, qword [rdi + 0x170]
test rdi, rdi
mov r15, qword [rsp + 0x98]
jne 0x1400984b3
shl rsi, 0x20
or rsi, rbx
mov rax, qword [rsp + 0x70]
mov qword [r15], rax
mov qword [r15 + 8], rdi
mov qword [r15 + 0x10], rsi
mov byte [r15 + 0x18], 1
jmp 0x140098456
mov r15, qword [rsp + 0x98]
mov byte [r15], 0
mov byte [r15 + 0x18], 0
mov qword [rsp + 0xe0], 0xe6
movzx eax, byte [0x140208236]
test al, al
jne 0x14009971c
cmp byte [r15 + 0x18], 1
jne 0x140098484
mov eax, dword [r14 + 0x60]
test al, 2
jne 0x140099682
mov rcx, qword [rsp + 0x678]
xor rcx, rsp
call fcn.1400d4e20
mov rax, r15
movaps xmm6, xmmword [rsp + 0x680]
add rsp, 0x698
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x1400999ad
cmp eax, 0x7fffffff
je 0x1400999b0
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x1400999b3
cmp eax, 0x7fffffff
je 0x1400999b6
lock dec dword [rdi]
jne 0x1400984fd
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x1401e8220]
mov rax, qword [rsp + 0x70]
mov qword [r15], rax
mov qword [r15 + 8], rdi
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x1400999b9
cmp eax, 0x7fffffff
je 0x1400999bc
shl rsi, 0x20
or rsi, rbx
mov qword [r15 + 0x10], rsi
mov byte [r15 + 0x18], 1
lock dec dword [rdi]
jne 0x140098456
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x1401e8220]
jmp 0x140098456
mov rax, qword [r12 - 0x50]
test rax, rax
je 0x1400992ad
mov al, byte [rax + 4]
test al, al
je 0x1400983da
jmp 0x1400992ad
cmp qword [r12 - 0x48], 0
je 0x1400983f0
mov rax, qword [r12 - 0x50]
test rax, rax
je 0x140099e96
mov al, byte [rax + 4]
test al, al
jne 0x140099e96
mov rsi, qword [r12 - 0x48]
mov rax, qword [rsi + 0x18]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.1400d2b88
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x1400985ce
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x14009a062
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x18], rax
test rcx, rcx
je 0x1400983f0
lock dec dword [rcx]
jne 0x1400983f0
call fcn.1400d2b80
jmp 0x1400983f0
mov rcx, qword [rsp + 0x148]
inc rcx
mov qword [rsp + 0x148], rcx
cmp rcx, rax
jb 0x1400981f7
jmp 0x140098135
lea rsi, [rbp + 0x10]
cmp rsi, rdi
jne 0x14009867f
sub rdi, rbp
jb 0x1400995ac
je 0x1400982c2
mov rsi, qword [r13 + 8]
add rdi, rbp
mov r15, rbp
cmp rdi, rsi
jne 0x14009a0dd
cmp rsi, r15
je 0x140098664
add rsi, 0xfffffffffffffff0
test rsi, rsi
je 0x1400995ac
mov rcx, qword [rsi]
test rcx, rcx
jne 0x140098673
lea rax, [rsi - 0x10]
cmp rsi, r15
mov rsi, rax
jne 0x140098647
sub r15, rbp
add r15, rbp
mov qword [r13 + 8], r15
jmp 0x1400982c2
lock dec dword [rcx]
jne 0x140098658
call fcn.1400d2b80
jmp 0x140098658
cmp qword [rsi + 8], 0
je 0x14009869d
mov rax, qword [rsi]
test rax, rax
je 0x14009a0b3
mov al, byte [rax + 4]
test al, al
jne 0x14009a0b3
mov rax, qword [rsi]
test rax, rax
je 0x1400986da
mov al, byte [rax + 4]
test al, al
jne 0x1400986da
cmp qword [rsi + 8], 0
je 0x1400986da
mov rax, qword [rsi]
mov qword [rsi], 0
mov rcx, qword [rbp]
mov qword [rbp], rax
test rcx, rcx
jne 0x140099427
mov rax, qword [rsi + 8]
mov qword [rbp + 8], rax
add rbp, 0x10
add rsi, 0x10
jmp 0x140098617
lock dec dword [rsi + 8]
jne 0x140097730
jmp 0x14009937f
tzcnt r13, r12
mov rsi, qword [rdi + r13*8 + 0x10]
test rsi, rsi
je 0x1400995c3
mov eax, 1
lock xadd dword [rsi], eax
test eax, eax
jle 0x1400995c6
cmp eax, 0x7fffffff
je 0x1400995c9
mov rax, qword [rdi + r13*8 + 0x10]
mov rax, qword [rax + 8]
cmp rax, rbx
jne 0x14009874f
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
call qword [0x1401e8220]
lock dec dword [rsi]
je 0x14009959a
btc r12, r13
jmp 0x140097248
mov rcx, rsi
jmp 0x140098737
mov rax, qword [fcn.1400a9760]
lea rcx, [0x14007dcb0]
cmp rax, rcx
jne 0x140099548
lea rdi, [rsp + 0x130]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14009a065
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402085c8]
mov qword [rsp + 0x130], rax
mov al, byte [r15 + 8]
cmp al, 1
je 0x140099b80
test r15, r15
je 0x1400995ac
mov rax, qword [rsp + 0x130]
mov qword [r15], rax
mov byte [r15 + 8], 1
mov al, 1
jmp 0x1400972a1
mov rax, qword [fcn.1400a9760]
lea rcx, [0x14007dcb0]
cmp rax, rcx
jne 0x14009955b
lea rdi, [rsp + 0x130]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14009a08c
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402085c8]
mov qword [rsp + 0x130], rax
mov al, byte [r15 + 8]
cmp al, 1
je 0x140099b90
test r15, r15
je 0x1400995ac
mov rax, qword [rsp + 0x130]
mov qword [r15], rax
mov byte [r15 + 8], 1
mov al, 1
jmp 0x1400972ee
cmp dword [r14 + 0xa8], 0
jne 0x14009887e
cmp qword [r14 + 0x230], 0
jne 0x140097d18
xor ebp, ebp
jmp 0x140097d55
tzcnt rsi, rax
cmp dword [rsp + 0x70], 1
je 0x1400995ed
mov rcx, qword [r14 + 0x1a0]
mov rax, qword [r14 + 0x1a8]
sub rax, rcx
sar rax, 5
cmp dword [r14 + 0x1c0], 3
jge 0x1400992d7
cmp rax, rsi
jbe 0x1400995ac
mov edx, esi
shl edx, 5
mov rax, qword [rcx + rdx + 8]
cmp rax, qword [rcx + rdx + 0x10]
je 0x14009893a
mov rcx, qword [r14 + 0x178]
mov rdx, qword [r14 + 0x180]
sub rdx, rcx
sar rdx, 5
cmp rdx, rsi
jbe 0x1400995ac
mov rbp, qword [rax + 0x18]
mov r8d, esi
shl r8d, 5
mov rdx, qword [rcx + r8 + 8]
cmp rdx, qword [rcx + r8 + 0x10]
je 0x140098924
mov rcx, qword [rdx + 0x18]
mov r8, qword [rdx]
cmp qword [rax], r8
je 0x140099ea9
jae 0x140098973
cmp dword [rbp + 0x70], 1
je 0x140098978
mov dword [r14 + 0x1c0], 0
jmp 0x140097384
mov rax, qword [r14 + 0x178]
mov rcx, qword [r14 + 0x180]
sub rcx, rax
sar rcx, 5
cmp rcx, rsi
jbe 0x1400995ac
mov edx, esi
shl edx, 5
mov rcx, qword [rax + rdx + 8]
cmp rcx, qword [rax + rdx + 0x10]
je 0x14009896f
mov rbp, qword [rcx + 0x18]
jmp 0x140098924
xor ebp, ebp
jmp 0x140098924
mov rbp, rcx
jmp 0x140098924
mov rax, qword [r14 + 0x1a0]
mov rcx, qword [r14 + 0x1a8]
sub rcx, rax
sar rcx, 5
cmp rcx, rsi
jbe 0x1400995ac
shl esi, 5
mov rcx, qword [rax + rsi + 8]
cmp rcx, qword [rax + rsi + 0x10]
je 0x14009892a
inc dword [r14 + 0x1c0]
jmp 0x140097384
lock dec dword [rcx]
jne 0x140097720
call fcn.1400d2b80
jmp 0x140097720
mov rax, qword [fcn.1400a9760]
lea rcx, [0x14007dcb0]
cmp rax, rcx
jne 0x14009956e
lea rsi, [rsp + 0x130]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14009a0b6
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402085c8]
mov qword [rsp + 0x130], rax
mov al, byte [r15 + 8]
cmp al, 1
je 0x140099e99
test r15, r15
je 0x1400995ac
mov rax, qword [rsp + 0x130]
mov qword [r15], rax
mov byte [r15 + 8], 1
mov al, 1
jmp 0x140097d36
cmp dword [r14 + 0xa8], 0
jne 0x1400996a4
xor r13d, r13d
cmp qword [r14 + 0x230], 0
mov r9d, 0
je 0x140097555
jmp 0x1400974d7
lock dec dword [rcx]
jne 0x14009773d
mov rax, qword [rcx + 0x10]
call qword [0x1401e8220]
jmp 0x14009773d
mov rax, qword [rsi + 0x98]
test rax, rax
je 0x140098b02
mov al, byte [rax + 4]
test al, al
je 0x14009743c
jmp 0x140098b02
lea rcx, [rsp + 0x130]
call fcn.140082100
mov r11, r12
mov r10, r13
jmp 0x140098c24
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x140098b02
mov al, byte [rax + 4]
test al, al
jne 0x140098b02
cmp qword [rcx + 0x30], 0
jne 0x14009742b
jmp 0x140098b02
lea rdx, [0x1400d2b50]
cmp rax, rdx
je 0x140098ac0
xor edx, edx
call qword [0x1401e8220]
mov r11, r12
mov r10, r13
test al, al
je 0x14009742b
mov rax, qword [rbp]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov r9d, 0
cmovne r9, rdx
cmp r8, r9
jbe 0x1400995b7
mov rcx, qword [rsp + 0x130]
mov r8d, 8
test cl, 1
je 0x140098b41
mov r8, qword [rsp + 0x140]
imul rdx, r9, 0xa8
add rdx, qword [rax + 0x18]
mov rax, rcx
shr rax, 1
cmp rax, r8
je 0x140098aa8
mov r8, r11
test cl, 1
je 0x140098b6b
mov r8, qword [rsp + 0x138]
imul rax, rax, 0xa8
add rax, r8
je 0x1400995ac
movupd xmm0, xmmword [rdx]
movupd xmm1, xmmword [rdx + 0x10]
movupd xmmword [rax + 0x10], xmm1
movupd xmmword [rax], xmm0
lea rdi, [rax + 0x20]
lea rsi, [rdx + 0x20]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rdx + 0x70]
mov dword [rax + 0x70], ecx
mov cl, byte [rdx + 0x74]
mov byte [rax + 0x74], cl
mov rcx, qword [rdx + 0x78]
mov qword [rax + 0x78], rcx
mov r8d, 0
mov qword [rdx + 0x78], r8
movzx ecx, word [rdx + 0x80]
mov word [rax + 0x80], cx
mov cl, byte [rdx + 0x82]
mov byte [rax + 0x82], cl
mov rcx, qword [rdx + 0x88]
mov qword [rax + 0x88], rcx
mov qword [rdx + 0x88], r8
mov rcx, qword [rdx + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [rdx + 0x98]
mov qword [rax + 0x98], rcx
mov qword [rdx + 0x98], r8
mov rcx, qword [rdx + 0xa0]
mov qword [rax + 0xa0], rcx
add qword [rsp + 0x130], 2
mov rax, qword [rbp]
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 0x1400995ba
mov rdi, rbx
mov rbx, qword [rax + 0x18]
imul rsi, rcx, 0xa8
mov rcx, qword [rbx + rsi + 0x98]
test rcx, rcx
jne 0x140098cb0
add rbx, rsi
mov rsi, qword [rbx + 0x88]
test rsi, rsi
jne 0x140098ca5
mov rcx, qword [rbx + 0x78]
test rcx, rcx
jne 0x140098cc2
mov rax, qword [rbp]
mov rcx, qword [rax + 8]
cmp rcx, qword [rax]
mov rbx, rdi
jne 0x140098c96
mov rcx, qword [rax + 0x28]
test rcx, rcx
jne 0x140098cd9
dec qword [rbp + 0x10]
jne 0x1400973e2
jmp 0x14009743c
lock dec dword [rsi + 8]
jne 0x140098c74
jmp 0x14009945a
lock dec dword [rcx]
jne 0x140098c65
call fcn.1400d2b80
mov r11, r12
mov r10, r13
jmp 0x140098c65
lock dec dword [rcx]
jne 0x140098c7d
mov rax, qword [rcx + 0x10]
call qword [0x1401e8220]
mov r11, r12
mov r10, r13
jmp 0x140098c7d
mov qword [rax + 0x28], 0
mov rsi, qword [rbp]
mov qword [rbp], rcx
test rsi, rsi
je 0x140098c96
mov rcx, rsi
call fcn.1400b6320
mov rcx, rsi
call fcn.1400d2b80
mov r11, r12
mov r10, r13
jmp 0x140098c96
cmp qword [rbp + 0x10], 0
jne 0x140098de7
cmp dword [rbp + 0x70], 0
jne 0x140098d23
mov rcx, qword [rbp + 0x30]
mov rdx, rbp
call fcn.140081b30
cmp qword [rbp + 8], 0
je 0x140098de7
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa8], rax
mov rax, qword [0x1401f86c0]
lea rcx, [0x14007dcb0]
cmp rax, rcx
jne 0x140099581
mov qword [rsp + 0xe0], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xe0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14009a214
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402085c8]
mov qword [rsp + 0xa8], rax
cmp rax, qword [rbp + 0x20]
jl 0x140098de7
mov rdx, qword [rbp + 0x18]
inc rdx
cmp rdx, 5
mov eax, 4
cmovb rdx, rax
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x18], rcx
test rax, rax
je 0x140098de7
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140098dd1
cmp rcx, r8
jb 0x1400994d6
cmp qword [rbp + 0x40], 0xffffffffffffffff
je 0x140098dfa
mov rcx, qword [rbp + 0x28]
mov rdx, rbp
call fcn.1400817c0
mov rdi, qword [rbp + 0x30]
mov al, byte [0x140208236]
test al, al
mov r10, r13
mov r11, r12
jne 0x14009a125
mov rsi, qword [rsp + 0x130]
jmp 0x14009744e
lea rcx, [rsp + 0x130]
call fcn.140081660
mov r11, r12
mov r10, r13
cmp rsi, 1
je 0x140097457
jmp 0x140097372
xor ecx, ecx
jmp 0x140097a8d
mov rcx, qword [rsp + 0x148]
inc rcx
mov qword [rsp + 0x148], rcx
cmp rcx, rax
jb 0x1400980cb
jmp 0x140098135
mov rdi, qword [rax + 0x18]
mov rcx, rdi
mov rdx, r15
mov r8, rsi
call fcn.14009b320
mov rax, qword [rdi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a0fe
mov rcx, qword [rdi + 0x98]
test rcx, rcx
jne 0x140099502
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400972d0
lea rdi, [rsp + 0xe0]
movabs rbx, 0x7fffffffffffffff
lea rbp, [rbx + 1]
mov rcx, r15
mov rdx, rdi
call fcn.14008fa70
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400995ac
cmp dword [rax + 0x14], 1
je 0x14009a6d8
mov rcx, qword [rax]
mov r12, qword [rax + 0x18]
cmp rcx, qword [rsp + 0xe0]
jg 0x140098f10
mov rcx, r12
mov rdx, r15
mov r8, rsi
call fcn.1400cdf00
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400972d0
jmp 0x140098ebe
mov rcx, r12
mov rdx, r15
call fcn.14009c330
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400972d0
mov rcx, r12
mov r12, qword [rax + 0x18]
cmp rcx, r12
je 0x1400972d0
jmp 0x140098f10
mov rdi, qword [rax + 0x18]
mov rcx, rdi
mov rdx, r15
mov r8, rsi
call fcn.14009b320
mov rax, qword [rdi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a10f
mov rcx, qword [rdi + 0x98]
test rcx, rcx
jne 0x140099525
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x14009731d
lea rdi, [rsp + 0xe0]
movabs rbx, 0x7fffffffffffffff
lea rbp, [rbx + 1]
mov rcx, r15
mov rdx, rdi
call fcn.14008fa70
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400995ac
cmp dword [rax + 0x14], 1
je 0x14009a706
mov rcx, qword [rax]
mov r12, qword [rax + 0x18]
cmp rcx, qword [rsp + 0xe0]
jg 0x140098fe2
mov rcx, r12
mov rdx, r15
mov r8, rsi
call fcn.1400cdf00
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x14009731d
jmp 0x140098f90
mov rcx, r12
mov rdx, r15
call fcn.14009c330
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x14009731d
mov rcx, r12
mov r12, qword [rax + 0x18]
cmp rcx, r12
je 0x14009731d
jmp 0x140098fe2
mov rax, qword [rbx]
test rax, rax
je 0x14009903e
cmp rbx, rdi
je 0x14009903a
mov rcx, qword [rdi]
mov rdx, rcx
and rdx, r8
cmp rdx, qword [0x1401f8688]
je 0x14009a495
mov qword [rdi], rax
mov qword [rbx], 0
add rdi, 8
add rbx, 8
jmp 0x14009904e
movabs r8, 0xfffffffc00000000
cmp rbx, rsi
jne 0x14009900d
sub rsi, rdi
jb 0x1400995ac
je 0x140097f5b
mov rbx, qword [rbp + 8]
add rsi, rdi
cmp rsi, rbx
jne 0x14009a259
mov rsi, rdi
cmp rbx, rsi
je 0x1400990b0
add rbx, 0xfffffffffffffff8
test rbx, rbx
je 0x1400995ac
mov rcx, qword [rbx]
mov rax, rcx
and rax, r8
cmp rax, qword [0x1401f8688]
je 0x14009a245
mov qword [rbx], 0
lea rax, [rbx - 8]
cmp rbx, rsi
mov rbx, rax
jne 0x14009907e
sub rsi, rdi
add rsi, rdi
mov qword [rbp + 8], rsi
jmp 0x140097f5b
mov qword [rax + 0x28], 0
mov rsi, qword [rbp]
mov qword [rbp], rcx
test rsi, rsi
je 0x140097757
mov rcx, rsi
call fcn.1400b6320
mov rcx, rsi
call fcn.1400d2b80
jmp 0x140097757
cmp dword [r14 + 0xa8], 0
jle 0x14009749d
lea rsi, [r14 + 0xb0]
lea rdi, [rsp + 0x130]
mov r8d, 0xb8
mov rcx, rdi
mov dl, 0xaa
mov r13, r10
mov r12, r11
call fcn.14010c6a0
mov rcx, rbp
mov rdx, rdi
call fcn.1400ce5a0
mov rax, qword [rbp + 0x30]
mov qword [rdi + 0xa8], rax
mov eax, dword [rbp + 0x70]
mov dword [rdi + 0xb0], eax
mov rcx, rsi
mov rdx, rdi
call fcn.140143700
mov rcx, rdi
call fcn.14009e0c0
mov r11, r12
mov r10, r13
jmp 0x140097372
lea rsi, [rsp + 0x130]
mov rcx, rsi
call fcn.140007de0
mov rax, qword [rsi]
mov qword [r12 - 0x18], rax
jmp 0x140097d55
lea rbp, [r14 + 0x2a8]
cmp rax, 0x11
jae 0x14009a3bd
mov rdx, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x2c0]
mov rax, rcx
sub rax, rdx
cmp r12, rax
jb 0x14009a354
sar rax, 2
cmp rcx, rdx
mov ebp, 1
cmovne rbp, rax
lea rax, [r14 + 0x2c8]
mov qword [rsp + 0x100], rax
mov rax, rbp
shr rax, 0x3d
jne 0x14009a120
lea rcx, [rbp*8]
mov qword [rsp + 0xa0], rcx
call fcn.1400d2b88
mov qword [rsp + 0xe0], rax
lea rcx, [rax + r12]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0x50], rax
lea rax, [rax + rbp*8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xf8], rax
mov ecx, 0xf68
call fcn.1400d2b88
mov rbp, rax
cmp r12, qword [rsp + 0xa0]
je 0x14009a3ee
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1400995ac
mov qword [r8], rbp
lea rax, [r8 + 8]
mov qword [rsp + 0xf0], rax
mov rbp, qword [r14 + 0x2b8]
cmp rbp, qword [r14 + 0x2b0]
jne 0x14009a2c0
mov rcx, qword [r14 + 0x2a8]
mov rdx, qword [rsp + 0x50]
mov qword [r14 + 0x2a8], rdx
mov qword [r14 + 0x2b0], r8
mov qword [r14 + 0x2b8], rax
mov rax, qword [rsp + 0x58]
mov qword [r14 + 0x2c0], rax
test rcx, rcx
jne 0x14009a23b
mov rbx, qword [r14 + 0x2b0]
mov rsi, qword [r14 + 0x2b8]
jmp 0x140097aa7
lea rcx, [r12 - 0x70]
call fcn.14010d060
jmp 0x1400983f0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14009784e
mov byte [r14 + 0x260], 1
jmp 0x14009734f
cmp rax, rsi
jbe 0x1400995ac
mov edx, esi
shl edx, 5
mov rax, qword [rcx + rdx + 8]
cmp rax, qword [rcx + rdx + 0x10]
je 0x1400992fe
mov rbp, qword [rax + 0x18]
test rbp, rbp
jne 0x140098924
lea rcx, [r14 + 0x140]
mov edx, esi
mov rdi, r10
mov r12, r11
call fcn.14010d0f0
mov r11, r12
mov r10, rdi
mov rbp, rax
jmp 0x140098924
mov rcx, rbp
call fcn.1400082f0
mov eax, 0x4c4b40
add rax, qword [rsp + 0xa8]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rbp + 0x20], rcx
jmp 0x140097a43
mov rcx, rbp
call fcn.1400082f0
mov eax, 0x4c4b40
add rax, qword [rsp + 0xa8]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rbp + 0x20], rcx
jmp 0x140097838
call fcn.1400d2b80
jmp 0x1400993ad
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401312a0]
cmp qword [rcx + 0x10], rdx
jne 0x1400993ca
lea rcx, [0x1401533b0]
cmp rax, rcx
jne 0x1400993ca
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400993ad
lock dec dword [rcx]
je 0x140099378
mov r12, qword [rsi + 0x10]
test r12, r12
je 0x1400993bd
lock dec dword [r12]
je 0x1400993dd
mov rcx, rsi
call fcn.1400d2b80
jmp 0x140097730
mov rcx, rsi
mov edx, 1
call qword [0x1401e8220]
jmp 0x140097730
lea rcx, [r12 + 0x10]
call fcn.140094ad0
mov rcx, r12
call fcn.1400d2b80
jmp 0x1400993bd
mov rax, qword [r12 + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a4ac
mov al, byte [r12 + 0x118]
jmp 0x14009796c
lea rsi, [rsp + 0xa8]
mov rcx, rsi
call qword [0x1401e8220]
mov rax, qword [rsi]
jmp 0x1400979fb
lock dec dword [rcx]
jne 0x1400986ce
call fcn.1400d2b80
jmp 0x1400986ce
lea rsi, [rsp + 0xa8]
mov rcx, rsi
call qword [0x1401e8220]
mov rax, qword [rsi]
jmp 0x1400977f0
call fcn.1400d2b80
jmp 0x140099488
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401312a0]
cmp qword [rcx + 0x10], rdx
jne 0x1400994ac
lea rcx, [0x1401533b0]
cmp rax, rcx
jne 0x1400994ac
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140099488
lock dec dword [rcx]
je 0x140099453
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x140099499
mov rax, rcx
lock dec dword [rcx]
je 0x1400994bc
mov rcx, rsi
call fcn.1400d2b80
mov r10, r13
mov r11, r12
jmp 0x140098c74
mov rcx, rsi
mov edx, 1
call qword [0x1401e8220]
jmp 0x1400994a1
mov qword [rsp + 0x60], rax
lea rcx, [rax + 0x10]
call fcn.140094ad0
mov rcx, qword [rsp + 0x60]
call fcn.1400d2b80
jmp 0x140099499
mov rcx, rbp
call fcn.1400082f0
mov eax, 0x4c4b40
add rax, qword [rsp + 0xa8]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rbp + 0x20], rcx
jmp 0x140098de7
mov rax, qword [rdi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a4bd
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1401e8220]
jmp 0x140098e9a
mov rax, qword [rdi + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a4d7
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [0x1401e8220]
jmp 0x140098f6c
lea rcx, [rsp + 0x130]
call qword [0x1401e8220]
jmp 0x1400987b1
lea rcx, [rsp + 0x130]
call qword [0x1401e8220]
jmp 0x14009883a
lea rcx, [rsp + 0x130]
call qword [0x1401e8220]
jmp 0x140098a21
lea rsi, [rsp + 0xa8]
mov rcx, rsi
call qword [0x1401e8220]
mov rax, qword [rsi]
jmp 0x140098d9f
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x1401e8220]
jmp 0x140098746
ud2
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
add rbp, rax
mov rcx, qword [rbp + 8]
jmp 0x14009819d
xor ecx, ecx
jmp 0x140097490
int3
int3
xor r12d, r12d
jmp 0x140097ca3
mov r12, r11
mov r13, r10
mov rdi, rbx
mov rcx, qword [r14 + 0x158]
sub rcx, qword [r14 + 0x150]
sar rcx, 2
cmp rcx, rsi
je 0x140099611
mov edx, esi
jmp 0x14009963d
xor ebp, ebp
mov rbx, rdi
mov r10, r13
mov r11, r12
jmp 0x140097384
inc dl
movzx esi, dl
mov ebp, 0
cmp rcx, rsi
mov rbx, rdi
mov r10, r13
mov r11, r12
je 0x140097384
bt rax, rsi
jae 0x140099621
mov r8, qword [r14 + 0x1a0]
mov r9, qword [r14 + 0x1a8]
sub r9, r8
sar r9, 5
cmp r9, rsi
jbe 0x1400995ac
shl rsi, 5
mov r9, qword [r8 + rsi + 8]
cmp r9, qword [r8 + rsi + 0x10]
je 0x140099621
lea rcx, [r14 + 0x140]
call fcn.140151e00
mov rbp, rax
jmp 0x140099613
int3
int3
inc rax
mov qword [rsp + 0x148], rax
cmp rdx, rax
jne 0x140097f06
mov rax, rdx
jmp 0x140097e7c
xor r13d, r13d
xor r9d, r9d
jmp 0x140097555
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x14009a5d0
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x14009a5d9
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x14009a1c8
int3
mov r12d, 0xf68
add r12, qword [r8 + rax*8 - 8]
jmp 0x140097cac
movzx ecx, al
lea r8, [rsp + 0x130]
mov qword [r8], 0
lea rdx, [rsp + 0xe0]
mov r9d, 2
call fcn.140087840
jmp 0x140097338
movzx ecx, al
lea r8, [rsp + 0x130]
mov qword [r8], 0
lea rdx, [rsp + 0xe0]
mov r9d, 2
call fcn.140087840
jmp 0x140098471
test ebx, ebx
jne 0x14009a62f
cmp byte [r12 + 0x118], 0
jne 0x140097951
xor eax, eax
jmp 0x14009796c
int3
int3
movzx ecx, al
lea rax, str.SequenceManagerImpl::SelectNextTask
lea r8, [rsp + 0x130]
mov qword [r8], rax
lea rdx, [rsp + 0xe0]
mov r9d, 1
call fcn.140087840
jmp 0x140097229
movzx ecx, al
lea rax, str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
lea r8, [rsp + 0x130]
mov qword [r8], rax
lea rdx, [rsp + 0xe0]
mov r9d, 1
call fcn.140087840
jmp 0x140097278
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
jne 0x14009a5a9
mov rax, qword [r12 + 0x18]
jmp 0x1400978d7
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
jne 0x14009a5ac
mov rax, qword [r12 + 0x18]
jmp 0x1400978f5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
je 0x1400974b0
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140097c2e
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
je 0x140097cf1
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x14009840f
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
je 0x140097d88
int3
inc rax
mov qword [rsp + 0x148], rax
cmp rdx, rax
jne 0x140097e50
mov rax, rdx
jmp 0x140097e73
movabs r8, 0x7fffffffffffffff
mov rdx, qword [rax]
mov r9, qword [rax + 8]
lea r10, [r9 + r8]
add r10, 2
cmp r10, 2
jae 0x14009989d
cmp rdx, r9
je 0x14009a58b
lea rdx, [r8 + 1]
test r9, r9
cmovs rdx, r8
jmp 0x1400972c7
xor r10d, r10d
cmp rdx, r9
setns r10b
add r10, r8
sub rdx, r9
cmovo rdx, r10
jmp 0x1400972c7
movabs r8, 0x7fffffffffffffff
mov rdx, qword [rax]
mov r9, qword [rax + 8]
lea r10, [r9 + r8]
add r10, 2
cmp r10, 2
jae 0x1400998ee
cmp rdx, r9
je 0x14009a58e
lea rdx, [r8 + 1]
test r9, r9
cmovs rdx, r8
jmp 0x140097314
xor r10d, r10d
cmp rdx, r9
setns r10b
add r10, r8
sub rdx, r9
cmovo rdx, r10
jmp 0x140097314
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
je 0x14009833a
int3
mov rcx, qword [r14 + 0x1d8]
sub rcx, qword [r14 + 0x1d0]
sar rcx, 3
jmp 0x140097e26
movzx ecx, al
lea r8, [rsp + 0x130]
mov qword [r8], 0
lea rdx, [rsp + 0xe0]
mov r9d, 2
call fcn.140087840
jmp 0x1400983ce
movzx ecx, al
lea r8, [rsp + 0x130]
mov qword [r8], 0
lea rdx, [rsp + 0xe0]
mov r9d, 2
call fcn.140087840
jmp 0x140097fa9
movzx ecx, al
lea r8, [rsp + 0x130]
mov qword [r8], 0
lea rdx, [rsp + 0xe0]
mov r9d, 2
call fcn.140087840
jmp 0x140097ffa
int3
int3
int3
int3
int3
int3
mov r13, r10
movzx esi, al
mov r12, qword [rsp + 0x80]
mov rcx, r12
mov rdx, rbx
mov r8, rbp
call fcn.140142310
lea rax, str.SequenceManager
lea r8, [rsp + 0xa8]
mov qword [r8], rax
lea rax, str.snapshot
mov qword [rsp + 0x130], rax
mov rdi, rbx
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xc0]
mov ecx, esi
mov r9, r12
call fcn.140142fa0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], 0
test rcx, rcx
jne 0x140099a4f
mov rbx, rdi
mov r10, r13
lea r11, [rsp + 0x138]
jmp 0x14009739f
mov edx, 1
call fcn.140143cd0
jmp 0x140099a3c
movzx ecx, al
lea rax, str.SequenceManagerImpl::NotifyWillProcessTaskObservers
lea r8, [rsp + 0x130]
mov qword [r8], rax
lea rdx, [rsp + 0xe0]
mov r9d, 1
call fcn.140087840
jmp 0x140097cc7
movzx ecx, al
lea rax, str.SequenceManager.WillProcessTaskObservers
lea r8, [rsp + 0x130]
mov qword [r8], rax
lea rdx, [rsp + 0xe0]
mov r9d, 1
call fcn.140087840
jmp 0x140097db1
movzx ecx, al
lea rax, str.SequenceManager.QueueNotifyWillProcessTask
lea r8, [rsp + 0x130]
mov qword [r8], rax
lea rdx, [rsp + 0xe0]
mov r9d, 1
call fcn.140087840
jmp 0x140097fcb
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
jne 0x14009a5ee
mov rdi, qword [rsi + 0x160]
test rdi, rdi
jne 0x140098355
int3
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x1401e8220]
jmp 0x140098398
movzx ecx, al
lea r8, [rsp + 0x130]
mov qword [r8], 0
lea rdx, [rsp + 0xe0]
mov r9d, 2
call fcn.140087840
jmp 0x14009830b
movzx ecx, al
lea r8, [rsp + 0x130]
mov qword [r8], 0
lea rdx, [rsp + 0xe0]
mov r9d, 2
call fcn.140087840
jmp 0x1400983b3
mov rcx, qword [r14 + 0x210]
sub rcx, qword [r14 + 0x208]
sar rcx, 4
jmp 0x1400980a1
mov rcx, qword [rsp + 0x130]
mov qword [r15], rcx
jmp 0x1400972a1
mov rcx, qword [rsp + 0x130]
mov qword [r15], rcx
jmp 0x1400972ee
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x1400978b8
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x14009790e
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140097942
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140097961
int3
movzx ecx, al
lea rax, str.SequenceManager.WillProcessTaskTimeObservers
lea r8, [rsp + 0x130]
mov qword [r8], rax
lea rdx, [rsp + 0xe0]
mov r9d, 1
call fcn.140087840
jmp 0x14009802c
movzx ecx, al
lea rax, str.SequenceManager.QueueOnTaskStarted
lea r8, [rsp + 0x130]
mov qword [r8], rax
lea rdx, [rsp + 0xe0]
mov r9d, 1
call fcn.140087840
jmp 0x140098326
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
je 0x1400974c9
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
je 0x140097d0a
int3
lea rbx, [rsp + 0xc0]
movaps xmmword [rbx], xmm6
mov rdx, qword [rbp]
mov rcx, rbx
call fcn.140153890
mov rax, qword [rbx]
test rax, rax
je 0x140099d03
xor ecx, ecx
mov qword [rsp + 0x58], rcx
mov rbx, qword [rsp + 0xc8]
cmp qword [rax + 0x20], rbx
jbe 0x14009a5a6
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
mov rax, qword [r12 + 0x18]
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], eax
test eax, eax
jne 0x14009a61c
mov al, byte [r12 + 0x148]
test al, al
je 0x14009a4f1
imul rbx, rbx, 0xa8
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + rbx + 0x20]
cmp rcx, qword [r12 + 0x140]
jge 0x140099d0a
lea rcx, [rsp + 0xc0]
call fcn.140151ef0
mov rax, qword [rsp + 0xc0]
test rax, rax
jne 0x140099c8a
jmp 0x140099e6b
xor eax, eax
jmp 0x140099e66
mov rcx, qword [r12 + 0x18]
mov ecx, dword [rcx + 8]
mov dword [rsp + 0x58], ecx
test ecx, ecx
jne 0x14009a640
add qword [rsp + 0x50], rbx
test al, 1
je 0x140099d30
mov byte [r12 + 0x148], 0
lea rbx, [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.1400b8220
lea rcx, [rsp + 0xe0]
mov rdx, rbx
call fcn.14010d120
mov rax, qword [r12 + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a653
lea rax, [r12 + 0x120]
mov qword [rsp + 0x50], rax
cmp byte [r12 + 0x138], 1
je 0x140099d9a
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x50]
call fcn.1400d2810
mov byte [r12 + 0x138], 1
jmp 0x140099dac
lea rdx, [rsp + 0xe0]
mov rcx, qword [rsp + 0x50]
call fcn.1400d2810
mov rax, qword [r12 + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a664
mov rcx, qword [r12 + 0xa8]
mov qword [rsp + 0x58], rcx
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a675
cmp byte [r12 + 0x138], 0
je 0x1400995ac
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov rdx, qword [rsp + 0x50]
call fcn.1400d2810
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
call fcn.140154950
mov rax, qword [r12 + 0x18]
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a686
mov rcx, qword [r12 + 0xa0]
mov qword [rsp + 0x58], rcx
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x14009a697
cmp byte [r12 + 0x138], 0
je 0x1400995ac
lea rbx, [rsp + 0xa8]
mov rcx, rbx
mov rdx, qword [rsp + 0x50]
call fcn.1400d2810
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
call fcn.140154950
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x58], rax
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x58]
cmp rax, qword [0x1401f8688]
jne 0x1400978c7
mov rcx, qword [rsp + 0x58]
call fcn.14007c240
jmp 0x1400978c7
int3
mov rcx, qword [rsp + 0x130]
mov qword [r15], rcx
jmp 0x140097d36
mov r8, qword [rdx + 8]
cmp qword [rax + 8], r8
jne 0x140099eb9
mov edx, dword [rdx + 0x10]
cmp dword [rax + 0x10], edx
jl 0x140098924
jmp 0x140098973
mov rax, qword [rbx + 0x18]
mov esi, dword [rax + 4]
mov ebp, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
test ebp, ebp
sete cl
cmp eax, esi
setne dl
or dl, cl
je 0x14009a591
cmp esi, eax
jne 0x140097a62
lea rsi, [rbx + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140099f08
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x40]
mov qword [rsp + 0x50], rcx
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x14009a5f1
mov rcx, qword [rbx + 0xa8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x58], rcx
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x14009a5fe
mov rcx, qword [rbx + 0xa0]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x68], rcx
mov ebp, dword [rax + 8]
test ebp, ebp
jne 0x14009a60b
mov r12, qword [rbx + 0xb8]
mov rbp, qword [rbx + 0xc0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0xc0], 0xe6
mov al, byte [0x140208236]
test al, al
je 0x140097a62
movzx esi, al
mov rax, qword [rsp + 0x58]
add eax, dword [rsp + 0x50]
sub rbp, r12
shr rbp, 3
imul ebp, ebp, 0x3cf3cf3d
add ebp, dword [rsp + 0x68]
add ebp, eax
mov ecx, dword [rbx + 8]
call fcn.1401534a0
lea r8, [rsp + 0xa8]
mov qword [r8], rax
lea rax, [rsp + 0xdc]
mov dword [rax], ebp
lea rcx, [0x1401ccbb5]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
lea rax, [0x1401cc830]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x43
lea rdx, [rsp + 0xc0]
mov ecx, esi
xor r9d, r9d
call fcn.1401534d0
jmp 0x140097a62
mov rcx, qword [0x1402085c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400979f3
mov rcx, qword [0x1402085c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400977e8
int3
mov rcx, qword [0x1402085c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400987a9
mov rcx, qword [0x1402085c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140098832
int3
mov rcx, qword [0x1402085c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140098a19
mov rcx, r15
mov rdx, rdi
call fcn.140076a20
add rdi, 0x10
add r15, 0x10
cmp rdi, rsi
jne 0x14009a0dd
mov rsi, qword [r13 + 8]
jmp 0x14009863e
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140098e8a
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140098f5c
int3
call fcn.140111390
mov rax, qword [rdi + 0x18]
mov esi, dword [rax + 4]
mov ebx, dword [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
test ebx, ebx
sete cl
cmp eax, esi
setne dl
or dl, cl
je 0x1400995c0
cmp esi, eax
lea rbx, [rsp + 0xe0]
mov r10, r13
mov r11, r12
jne 0x140098e12
lea rsi, [rdi + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14009a177
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x40]
mov qword [rsp + 0x60], rcx
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x1400996af
mov rcx, qword [rdi + 0xa8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x78], rcx
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x1400996c0
mov rcx, qword [rdi + 0xa0]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x90], rcx
mov ebx, dword [rax + 8]
test ebx, ebx
jne 0x1400996d1
mov rax, qword [rdi + 0xb8]
mov qword [rsp + 0x88], rax
mov rbx, qword [rdi + 0xc0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0xc0], 0xe6
mov al, byte [0x140208236]
test al, al
jne 0x14009a4f6
lea rbx, [rsp + 0xe0]
mov r10, r13
mov r11, r12
jmp 0x140098e12
mov rcx, qword [0x1402085c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140098d97
call fcn.1400d2b80
jmp 0x14009929a
call fcn.14007c630
movabs r8, 0xfffffffc00000000
jmp 0x14009909d
mov qword [rsp + 0x78], rbx
mov rbx, r8
mov qword [rsp + 0x60], rdi
cmp qword [rsp + 0x60], rsi
je 0x14009a29b
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rax, rcx
and rax, rbx
cmp rax, qword [0x1401f8688]
jne 0x14009a289
call fcn.14007c630
mov rax, qword [rsi]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov qword [rsi], 0
add rsi, 8
add qword [rsp + 0x60], 8
cmp rsi, qword [rsp + 0x78]
jne 0x14009a266
mov rax, qword [rbp + 8]
mov r8, rbx
mov rbx, rax
mov rsi, qword [rsp + 0x60]
jmp 0x140099075
lea rsi, [rsp + 0xe0]
add rbp, 0xfffffffffffffff8
mov rcx, rsi
mov rdx, rbp
call fcn.1401439d0
cmp rbp, qword [r14 + 0x2b0]
jne 0x14009a2c8
mov rcx, qword [r14 + 0x2a8]
mov rax, qword [r14 + 0x2b8]
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0xf8]
mov qword [r14 + 0x2a8], rdx
mov qword [r14 + 0x2b0], r8
mov qword [r14 + 0x2b8], r9
mov qword [r14 + 0x2c0], r10
cmp rbp, rax
je 0x140099291
add rbp, 8
add rax, 8
cmp rax, 0x10
je 0x1400995ac
add rax, 0xfffffffffffffff8
cmp rbp, rax
je 0x140099291
jmp 0x14009a33b
cmp rcx, rsi
je 0x14009a37b
mov ecx, 0xf68
call fcn.1400d2b88
lea rdx, [rsp + 0xe0]
mov qword [rdx], rax
mov rcx, rbp
call fcn.140143880
jmp 0x14009929a
mov ecx, 0xf68
call fcn.1400d2b88
lea rsi, [rsp + 0xe0]
mov qword [rsi], rax
mov rcx, rbp
mov rdx, rsi
call fcn.1401439d0
mov rax, qword [r14 + 0x2b0]
mov rcx, qword [rax]
mov qword [rsi], rcx
add rax, 8
mov qword [r14 + 0x2b0], rax
lea rdx, [rsp + 0xe0]
jmp 0x14009a3e1
add rax, 0xffffffffffffffef
mov qword [r14 + 0x2c8], rax
mov rax, qword [rbx]
lea rdx, [rsp + 0xe0]
mov qword [rdx], rax
add rbx, 8
mov qword [r14 + 0x2b0], rbx
mov rcx, rbp
call fcn.140143880
jmp 0x14009929a
test r12, r12
jle 0x14009a418
shr r12, 1
add r12, 4
and r12, 0xfffffffffffffff8
mov rax, qword [rsp + 0x68]
sub rax, r12
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xe8], rax
jmp 0x140099233
movabs rax, 0x1fffffffffffffff
sar r12, 2
cmp rsi, rbx
mov esi, 1
cmovne rsi, r12
cmp rsi, rax
ja 0x14009a120
lea rcx, [rsi*8]
call fcn.1400d2b88
mov rbx, rax
lea rax, [rax + rsi*8]
and rsi, 0xfffffffffffffffc
lea rcx, [rbx + rsi*2]
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xf8], rax
cmp qword [rsp + 0x50], 0
je 0x14009a48b
mov rcx, qword [rsp + 0x50]
call fcn.1400d2b80
mov qword [rsp + 0x50], rbx
jmp 0x140099233
call fcn.14007c630
movabs r8, 0xfffffffc00000000
mov rax, qword [rbx]
jmp 0x140099030
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140099401
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
jne 0x14009a5e2
mov rcx, qword [rdi + 0x98]
jmp 0x140099511
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
jne 0x14009a5e5
mov rcx, qword [rdi + 0x98]
jmp 0x140099534
call fcn.14010caf0
movzx esi, al
mov rax, qword [rsp + 0x78]
add eax, dword [rsp + 0x60]
sub rbx, qword [rsp + 0x88]
shr rbx, 3
imul ebx, ebx, 0x3cf3cf3d
add ebx, dword [rsp + 0x90]
add ebx, eax
mov ecx, dword [rdi + 8]
call fcn.1401534a0
lea r8, [rsp + 0xa8]
mov qword [r8], rax
lea rax, [rsp + 0xdc]
mov dword [rax], ebx
lea rcx, [0x1401ccbb5]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
lea rax, [0x1401cc830]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x43
lea rdx, [rsp + 0xc0]
mov ecx, esi
xor r9d, r9d
call fcn.1401534d0
jmp 0x14009a201
int3
int3
int3
mov rax, qword [rbx + 0x18]
jmp 0x140099f20
mov rax, qword [rbx + 0x18]
jmp 0x140099f3b
int3
int3
int3
mov al, byte [r12 + 0x148]
jmp 0x140099d1e
mov rax, qword [r12 + 0x18]
jmp 0x140099dbc
mov rax, qword [r12 + 0x18]
jmp 0x140099e15
mov rax, qword [rdi + 0x18]
jmp 0x14009a18f
mov rax, qword [rdi + 0x18]
jmp 0x14009a1aa
int3
int3
int3
int3
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x14009a594
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x14009a59d
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebp, eax
je 0x140099f56
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x68], eax
je 0x140099cb9
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x14009974e
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x58], eax
je 0x14009a5af
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140099d65
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x14009a5bc
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140099dd4
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x14009a5c6
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp ebx, eax
je 0x140099e2d
int3
cmp rcx, rdx
je 0x14009a5e8
test rdx, rdx
mov rcx, rbp
cmovs rcx, rbx
jmp 0x140098ee4
cmp rcx, rdx
je 0x14009a5eb
test rdx, rdx
mov rcx, rbp
cmovs rcx, rbx
jmp 0x140098fb6
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rdx + rbx]
add r8, 2
cmp r8, 2
jb 0x14009a6a8
xor r8d, r8d
cmp rcx, rdx
setns r8b
add r8, rbx
sub rcx, rdx
cmovo rcx, r8
jmp 0x140098ee4
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rdx + rbx]
add r8, 2
cmp r8, 2
jb 0x14009a6c0
xor r8d, r8d
cmp rcx, rdx
setns r8b
add r8, rbx
sub rcx, rdx
cmovo rcx, r8
jmp 0x140098fb6