Function at 0x140113c00
Capabilities:
Check for time delay via queryperformancecounter
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x708
movaps xmmword [rsp + 0x6f0], xmm6
mov dword [rsp + 0xa8], r9d
mov qword [rsp + 0x60], r8
mov r13, rdx
mov qword [rsp + 0x58], rcx
mov rax, qword [0x14029a038]
xor rax, rsp
mov qword [rsp + 0x6e8], rax
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0x20], rcx
movaps xmm6, xmmword [0x140270690]
movups xmmword [rdx + 0x10], xmm6
movups xmmword [rdx], xmm6
movzx eax, byte [0x14029ccf0]
mov byte [rsp + 0x77], al
test al, 0x19
mov qword [rsp + 0xc8], rcx
jne 0x1401166f8
xor eax, eax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rcx
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + 0x60]
test r14, r14
je 0x1401140a0
lea r8, [0x1401725c0]
lea rsi, [0x1401093b0]
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor r12d, r12d
xchg qword [r14], r12
test r12, r12
jne 0x140113d59
mov r14, qword [r14 + 0x218]
test r14, r14
jne 0x140113cc1
jmp 0x1401140a0
test al, al
je 0x140114dfd
mov al, byte [r15 + 0x130]
xor al, 1
jmp 0x140113f3c
inc r8
mov r9, qword [rdx]
mov rcx, qword [rdx + 0x18]
cmp r8, r9
mov eax, 0
cmovne rax, r8
mov r8, qword [r15 + 0x160]
jmp 0x140113d33
mov r9, qword [rdx]
mov rax, qword [rdx + 8]
mov rcx, rax
inc rcx
cmp rcx, r9
mov eax, 0
cmovne rax, rcx
mov rcx, qword [rdx + 0x18]
imul r10, rax, 0xa8
cmp qword [rcx + r10 + 0x28], r8
jge 0x140114caa
cmp rax, qword [rdx + 0x10]
jne 0x140113d1d
mov rdx, qword [rdx + 0x20]
test rdx, rdx
jne 0x140113d16
jmp 0x140113f15
tzcnt rcx, r12
mov rdx, qword [r14 + rcx*8 + 0x10]
test rdx, rdx
mov qword [rsp + 0x78], rcx
je 0x140116c52
mov edi, 4
mov eax, 1
lock xadd dword [rdx], eax
test eax, eax
jle 0x1401166f5
mov rcx, qword [r14 + rcx*8 + 0x10]
mov rax, qword [rcx + 8]
cmp rax, r8
mov qword [rsp + 0x80], rdx
jne 0x140116c93
mov rax, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x28]
cmp rax, rsi
jne 0x140116c6d
mov qword [rsp + 0xa0], rcx
mov rsi, qword [rcx + 0xb8]
mov r15, qword [rsi + 0x30]
cmp qword [rsi + 8], 0
mov qword [rsp + 0x68], rsi
je 0x140113e8c
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x6c0], rax
mov rax, qword [0x14029bf90]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x1401162b4
mov qword [rsp + 0x150], 0
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x150]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140116c9e
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov qword [rsp + 0x6c0], rax
cmp rax, qword [rsi + 0x20]
jl 0x140113e8c
mov rdx, qword [rsi + 0x18]
inc rdx
cmp rdx, 5
cmovb rdx, rdi
mov rax, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x18], rcx
test rax, rax
je 0x140113e8c
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x140113e77
cmp rcx, r8
jb 0x140116184
lea rsi, [r15 + 0x20]
mov rcx, rsi
call rbp
test al, al
je 0x140116142
mov rdx, qword [rsp + 0x68]
mov rax, qword [rdx]
mov rcx, qword [r15 + 0x28]
mov qword [rdx], rcx
mov qword [r15 + 0x28], rax
mov rax, qword [rdx + 8]
mov rcx, qword [r15 + 0x30]
mov qword [rdx + 8], rcx
mov qword [r15 + 0x30], rax
mov rax, qword [rdx + 0x10]
mov rcx, qword [r15 + 0x38]
mov qword [rdx + 0x10], rcx
mov qword [r15 + 0x38], rax
mov rax, qword [rdx + 0x18]
mov rcx, qword [r15 + 0x40]
mov qword [rdx + 0x18], rcx
mov qword [r15 + 0x40], rax
mov rax, qword [rdx + 0x20]
mov rcx, qword [r15 + 0x48]
mov qword [rdx + 0x20], rcx
mov qword [r15 + 0x48], rax
cmp byte [r15 + 0x158], 0
je 0x140113f15
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
test rdx, rdx
je 0x140113f15
mov r8, qword [rdx + 8]
cmp qword [rdx + 0x10], r8
jne 0x140113cf7
mov rax, qword [r15 + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [r15 + 0x50]
cmp qword [r15 + 0xa8], 0
movzx eax, byte [r15 + 0x128]
je 0x140113ce1
mov byte [r15 + 0x51], al
mov rcx, rsi
call rbx
mov rsi, qword [rsp + 0x68]
cmp qword [rsi + 0x10], 0
lea rdx, [rsp + 0x150]
movabs rdi, 0xaaaaaaaaaaaaaaaa
je 0x140114052
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x140114052
mov r15, rax
cmp byte [rsi + 0x50], 0
jne 0x140115cf1
mov qword [rsp + 0x170], rdi
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm6
mov rcx, rsi
call fcn.140117c40
mov rsi, qword [rsi + 0x38]
cmp rsi, 7
jae 0x1401166f2
cmp byte [rsp + 0x150], 0
je 0x140116140
mov rbp, r13
mov rdi, r15
mov rax, rsi
shl rax, 5
lea rcx, [r15 + rax]
add rcx, 8
mov r15, qword [r15 + rax + 0x18]
mov r13, qword [rdi + rax + 0x10]
mov rdx, r15
sub rdx, r13
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x6d0], eax
movupd xmm0, xmmword [rsp + 0x158]
movapd xmmword [rsp + 0x6c0], xmm0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x6d8], rax
sar rdx, 5
lea r8, [rsp + 0x6c0]
call fcn.140006e00
cmp r15, r13
jne 0x140114048
mov rax, qword [rdi + 0xe8]
mov ecx, dword [rax + rsi*4 + 0x10]
lea edx, [rcx + 1]
mov dword [rax + rsi*4 + 0x10], edx
test ecx, ecx
jne 0x140114048
mov edx, 1
mov ecx, esi
shl edx, cl
or qword [rax + 0x30], rdx
mov r13, rbp
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0xa8]
test rcx, rcx
lea rsi, [0x1401093b0]
jne 0x140116c7f
mov rcx, qword [rsp + 0x80]
lock dec dword [rcx]
lea r8, [0x1401725c0]
je 0x140115dce
mov rax, qword [rsp + 0x78]
btc r12, rax
test r12, r12
je 0x140113cd0
jmp 0x140113d59
movzx r14d, byte [0x14029ccf0]
test r14b, 0x19
jne 0x140116766
xor ebp, ebp
movabs r15, 0xaaaaaaaaaaaaaaaa
mov rdi, r15
mov r12d, 1
mov rbx, qword [rsp + 0x58]
lock xadd qword [rbx + 0x20], r12
mov rsi, qword [rbx + 0x3b8]
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
jne 0x14011454b
mov rsi, qword [rbx + 0x3c0]
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
jne 0x1401146ca
test r14b, 0x19
jne 0x1401167c5
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
mov rcx, qword [rsp + 0x58]
je 0x140114126
mov rax, qword [rax + 8]
cmp rax, qword [rcx + 0x3d0]
jge 0x140116009
lea r14, [rcx - 8]
lea rbx, [rsp + 0x690]
lea r15, [rsp + 0x150]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x140]
test rax, rax
jne 0x140114491
xor r12d, r12d
test byte [0x14029cd00], 0x19
jne 0x14011664a
test r12, r12
je 0x1401144fa
cmp qword [r12 + 0x28], 0
je 0x140114451
mov eax, dword [0x1402a4468]
mov ecx, dword [0x14029dfe4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14011614f
mov rax, qword [0x1402a4460]
cmp rax, 4
je 0x140116824
cmp rax, 0x18
je 0x14011682e
cmp rax, 0x10
je 0x140116838
mov r8d, 0x548
mov rcx, r15
mov dl, 0xaa
call fcn.1401808d0
mov qword [rsp + 0x698], r15
mov qword [rsp + 0x6b8], r15
mov byte [rsp + 0x690], 1
mov qword [rsp + 0x6a0], r15
mov qword [rsp + 0x6a8], r15
mov qword [rsp + 0x6b0], rbx
cmp qword [r12 + 0x10], 0
je 0x140114c86
mov rcx, qword [r12]
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
inc rax
cmp rax, rdx
mov r8d, 0
cmovne r8, rax
mov rbx, qword [rcx + 0x18]
imul rsi, r8, 0xa8
mov rcx, qword [rbx + rsi]
test rcx, rcx
je 0x14011427b
mov rax, qword [rcx + 0x18]
lea rdx, [0x1401df3a0]
cmp rax, rdx
jne 0x14011425d
cmp qword [rbx + rsi + 0xa0], 0
je 0x1401143e0
jmp 0x140114ddc
xor edx, edx
call qword [case.0x1401e7f70.0]
test al, al
je 0x140114249
mov rax, qword [r12]
mov rbx, qword [rax + 0x18]
mov rdx, qword [rax]
mov rax, qword [rax + 8]
inc rax
cmp rax, rdx
mov ecx, 0
cmovne rcx, rax
imul r8, rcx, 0xa8
lea rdx, [rbx + r8]
mov rax, qword [rsp + 0x6a8]
cmp rax, qword [rsp + 0x6b0]
jae 0x140115e12
test rax, rax
je 0x1401167eb
mov rcx, qword [rdx]
mov qword [rax], rcx
xor r9d, r9d
mov qword [rdx], r9
movupd xmm0, xmmword [rdx + 8]
movupd xmm1, xmmword [rdx + 0x18]
movupd xmmword [rax + 0x18], xmm1
movupd xmmword [rax + 8], xmm0
lea rdi, [rax + 0x28]
lea rsi, [rdx + 0x28]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rdx + 0x7c]
mov byte [rax + 0x7c], cl
mov ecx, dword [rdx + 0x78]
mov dword [rax + 0x78], ecx
mov cl, byte [rbx + r8 + 0x82]
mov byte [rax + 0x82], cl
movzx ecx, word [rbx + r8 + 0x80]
mov word [rax + 0x80], cx
mov rcx, qword [rbx + r8 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [rbx + r8 + 0x88], r9
mov rcx, qword [rbx + r8 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [rbx + r8 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [rbx + r8 + 0x98], r9
mov rcx, qword [rbx + r8 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [rsp + 0x6a8], rax
mov rax, qword [r12]
mov rcx, qword [rax + 8]
inc rcx
cmp rcx, qword [rax]
mov rsi, qword [rax + 0x18]
mov edx, 0
cmovne rdx, rcx
mov qword [rax + 8], rdx
imul rdi, rdx, 0xa8
mov rcx, qword [rsi + rdi + 0x98]
test rcx, rcx
jne 0x140114c97
lea rbx, [rsi + rdi]
mov rsi, qword [rsi + rdi + 0x88]
test rsi, rsi
jne 0x140114d79
mov rcx, qword [rbx]
test rcx, rcx
jne 0x140114e58
mov rax, qword [r12]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
je 0x140114865
dec qword [r12 + 0x10]
jne 0x14011420a
nop word [rax + rax]
mov rbp, r14
mov rbx, qword [rsp + 0x6a0]
mov r14, rbx
cmp rbx, qword [rsp + 0x6a8]
jne 0x1401148a0
test r14, r14
je 0x14011684d
cmp rbx, r14
jne 0x140114bdd
mov r14, rbx
mov rcx, rbx
mov qword [rsp + 0x6a8], r14
mov rax, qword [rsp + 0x6b8]
test rax, rax
je 0x140115fff
cmp rax, rcx
jne 0x140115fff
mov byte [rcx + 0x540], 0
cmp r14, rbx
mov r14, rbp
lea rbx, [rsp + 0x690]
jne 0x14011413a
cmp qword [r12 + 0x10], 0
je 0x1401168c5
mov rcx, qword [r12]
mov rax, qword [rcx + 8]
inc rax
cmp rax, qword [rcx]
mov edx, 0
cmovne rdx, rax
imul rax, rdx, 0xa8
add rax, qword [rcx + 0x18]
cmp byte [rax + 0x80], 0
jne 0x140114e94
jmp 0x140114e85
tzcnt rsi, rax
cmp dword [rsp + 0xa8], 1
je 0x140116b7a
mov rax, qword [rsp + 0x58]
lea rdi, [rax + 0x110]
mov rcx, rdi
mov edx, esi
call fcn.140007bc0
mov r12, rax
cmp dword [rax + 0x78], 1
jne 0x140114851
cmp esi, 7
jae 0x1401167e2
shl rsi, 5
mov rax, qword [rdi + rsi + 0x138]
cmp rax, qword [rdi + rsi + 0x140]
je 0x140114851
mov rax, qword [rsp + 0x58]
inc dword [rax + 0x328]
jmp 0x140114152
mov byte [r13], 0
xorpd xmm0, xmm0
movupd xmmword [r13 + 8], xmm0
mov qword [r13 + 0x18], 0
test byte [rsp + 0x77], 0x19
jne 0x1401167ee
mov rcx, qword [rsp + 0x6e8]
xor rcx, rsp
call fcn.14017e7b0
mov rax, r13
movaps xmm6, xmmword [rsp + 0x6f0]
add rsp, 0x708
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp dword [rax + 0x14], 1
je 0x140116855
mov rbx, qword [rax]
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x14011483f
mov rax, qword [fcn.1401193e0]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x140116486
mov qword [rsp + 0x150], 0
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x150]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140116ba0
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
mov qword [rcx + 8], rax
jne 0x1401145d3
mov byte [rcx], 1
cmp rbx, rax
mov rbx, qword [rsp + 0x58]
jg 0x1401140e7
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
je 0x140116f10
mov rbx, qword [rax + 0x18]
mov rcx, rbx
mov rdx, qword [rsp + 0x60]
mov r8, r12
call fcn.140141ff0
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
jne 0x140116517
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
mov rbx, qword [rsp + 0x58]
je 0x1401140e7
lea r8, [0x140179e10]
lea rcx, [rsp + 0x150]
mov r10, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [rax + 0x14], 1
je 0x140116f54
mov rbx, qword [rax]
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x1401146c4
mov rax, qword [fcn.1401193e0]
cmp rax, r8
jne 0x140116557
mov qword [rsp + 0x150], 0
call r10
mov rax, qword [rsp + 0x150]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140117113
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
mov qword [rcx + 8], rax
jne 0x1401146ae
mov byte [rcx], 1
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rbx, rax
jg 0x140115d4e
jmp 0x140116593
mov rax, qword [rax + 8]
jmp 0x1401146ae
cmp dword [rax + 0x14], 1
je 0x14011688d
mov rbx, qword [rax]
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x140114848
mov rax, qword [fcn.1401193e0]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x1401164a4
mov qword [rsp + 0x150], 0
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x150]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140116bc7
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
mov qword [rcx + 8], rax
jne 0x140114752
mov byte [rcx], 1
cmp rbx, rax
jg 0x1401140fc
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
je 0x140116f13
mov rbx, qword [rax + 0x18]
mov rcx, rbx
mov rdx, qword [rsp + 0x60]
mov r8, r12
call fcn.140141ff0
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
jne 0x14011652d
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
je 0x1401140fc
lea r8, [0x140179e10]
lea rcx, [rsp + 0x150]
mov r10, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [rax + 0x14], 1
je 0x140116f8e
mov rbx, qword [rax]
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x140114839
mov rax, qword [fcn.1401193e0]
cmp rax, r8
jne 0x140116575
mov qword [rsp + 0x150], 0
call r10
mov rax, qword [rsp + 0x150]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14011713a
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
mov qword [rcx + 8], rax
jne 0x140114823
mov byte [rcx], 1
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rbx, rax
jg 0x140115d94
jmp 0x1401165ee
mov rax, qword [rax + 8]
jmp 0x140114823
mov rax, qword [rax + 8]
jmp 0x1401145d3
mov rax, qword [rax + 8]
jmp 0x140114752
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x328], 0
jmp 0x140114152
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1401143cf
mov qword [rax + 0x20], 0
mov rsi, qword [r12]
mov qword [r12], rcx
test rsi, rsi
je 0x1401143cf
mov rcx, rsi
call fcn.140008120
mov rcx, rsi
call fcn.14017b254
jmp 0x1401143cf
cmp qword [r12 + 0x10], 0
lea r14, [rsp + 0x6c0]
jne 0x140114b12
cmp dword [r12 + 0x78], 0
jne 0x140114a4a
mov rdi, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x14011498d
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x120], rax
mov rax, qword [0x14029bf90]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x1401164db
mov qword [rsp + 0x6c0], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x6c0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140116ee9
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov qword [rsp + 0x120], rax
cmp rax, qword [r12 + 0x20]
jl 0x14011498d
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 0x14011498d
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x140114978
cmp rcx, r8
jb 0x14011623c
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401161fc
mov rax, qword [r12]
mov rcx, qword [rdi + 0x28]
mov qword [r12], rcx
mov qword [rdi + 0x28], rax
mov rax, qword [r12 + 8]
mov rcx, qword [rdi + 0x30]
mov qword [r12 + 8], rcx
mov qword [rdi + 0x30], rax
mov rax, qword [r12 + 0x10]
mov rcx, qword [rdi + 0x38]
mov qword [r12 + 0x10], rcx
mov qword [rdi + 0x38], rax
mov rax, qword [r12 + 0x18]
mov rcx, qword [rdi + 0x40]
mov qword [r12 + 0x18], rcx
mov qword [rdi + 0x40], rax
mov rax, qword [r12 + 0x20]
mov rcx, qword [rdi + 0x48]
mov qword [r12 + 0x20], rcx
mov qword [rdi + 0x48], rax
cmp byte [rdi + 0x158], 0
je 0x140114a1a
mov rdx, qword [r12]
test rdx, rdx
je 0x140114a1a
mov r9, qword [rdx + 8]
cmp qword [rdx + 0x10], r9
jne 0x140115bd1
mov rax, qword [rdi + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [rdi + 0x50]
cmp qword [rdi + 0xa8], 0
mov al, byte [rdi + 0x128]
je 0x140114e70
mov byte [rdi + 0x51], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
je 0x140114b12
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x120], rax
mov rax, qword [0x14029bf90]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x1401164c2
mov qword [rsp + 0x6c0], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x6c0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140116ec2
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov qword [rsp + 0x120], rax
cmp rax, qword [r12 + 0x20]
jl 0x140114b12
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 0x140114b12
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x140114afd
cmp rcx, r8
jb 0x140116209
cmp qword [r12 + 0x40], 0xffffffffffffffff
je 0x140114bbb
mov rbx, qword [r12 + 0x28]
mov rdi, qword [r12 + 0x38]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x6e0], rax
movaps xmmword [rsp + 0x6d0], xmm6
movaps xmmword [rsp + 0x6c0], xmm6
mov rcx, r12
mov rdx, r14
call fcn.140117c40
cmp byte [rsp + 0x6c0], 0
je 0x140114e04
cmp rdi, 7
jae 0x1401167e5
shl rdi, 5
lea rcx, [rbx + rdi]
add rcx, 8
mov r8, qword [r12 + 0x40]
mov eax, dword [rsp + 0x6d8]
mov dword [rsp + 0x130], eax
movupd xmm0, xmmword [rsp + 0x6c8]
movapd xmmword [rsp + 0x120], xmm0
mov qword [rsp + 0x138], r12
lea rdx, [rsp + 0x100]
lea r9, [rsp + 0x120]
call fcn.140008010
test byte [0x14029ccf0], 9
jne 0x140116d41
mov r14, qword [rsp + 0x6a0]
mov rbx, qword [rsp + 0x6a8]
jmp 0x1401143fc
mov rdi, rbx
mov rcx, qword [rdi - 0x10]
test rcx, rcx
jne 0x140114c10
mov rsi, qword [rdi - 0x20]
test rsi, rsi
jne 0x140114c1a
mov rcx, qword [rdi - 0xa8]
add rdi, 0xffffffffffffff58
test rcx, rcx
jne 0x140115c2b
cmp rdi, r14
je 0x140114c79
jmp 0x140114be0
lock dec dword [rcx]
jne 0x140114be9
jmp 0x140115faf
lock dec dword [rsi + 8]
jne 0x140114bf2
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401e6bb0]
cmp qword [rcx + 0x10], rdx
jne 0x1401162a1
lea rcx, [0x140203760]
cmp rax, rcx
jne 0x1401162a1
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140114c5a
lock dec dword [rcx]
je 0x14011654d
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x140114c6c
lock dec dword [rax]
je 0x1401161df
mov rcx, rsi
call fcn.14017b254
jmp 0x140114bf2
mov rcx, qword [rsp + 0x6a0]
jmp 0x140114414
mov rbp, r14
mov rbx, r15
mov r14, r15
mov rcx, r15
jmp 0x140114414
lock dec dword [rcx]
jne 0x14011439c
call fcn.14017b254
jmp 0x14011439c
add r10, rcx
mov byte [r15 + 0x158], 0
mov edx, dword [r10 + 0x78]
mov r9, qword [r10 + 0x30]
test r9, r9
jne 0x140115fc0
xor r8d, r8d
imul rax, rax, 0xa8
mov rax, qword [rcx + rax + 0x90]
cmp byte [r15 + 0x130], 0
lea rbx, [r15 + 0x138]
mov qword [r15 + 0x138], rax
mov qword [r15 + 0x140], r8
mov dword [r15 + 0x148], edx
jne 0x140114d06
mov byte [r15 + 0x130], 1
mov rcx, qword [r15 + 0xb8]
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x160], eax
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x150], xmm0
lea rbp, [rsp + 0x150]
mov rdx, rbp
call fcn.1401babe0
cmp byte [r15 + 0x130], 0
je 0x140116140
mov rcx, qword [r15 + 0xb0]
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x160], eax
movupd xmm0, xmmword [rbx]
movapd xmmword [rsp + 0x150], xmm0
mov rdx, rbp
call fcn.1401babe0
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov rbx, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140113f15
lock dec dword [rsi + 8]
jne 0x1401143b1
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401e6bb0]
cmp qword [rcx + 0x10], rdx
jne 0x1401161cc
lea rcx, [0x140203760]
cmp rax, rcx
jne 0x1401161cc
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140114dbd
lock dec dword [rcx]
je 0x140116543
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x140114dcf
lock dec dword [rdi]
je 0x1401161b6
mov rcx, rsi
call fcn.14017b254
jmp 0x1401143b1
mov rax, qword [rbx + rsi + 0x98]
test rax, rax
je 0x140114269
mov al, byte [rax + 4]
test al, al
je 0x1401143e0
jmp 0x140114269
xor eax, eax
jmp 0x140113f3c
cmp rdi, 7
jae 0x1401167e8
mov rax, rdi
shl rax, 5
lea rsi, [rbx + rax]
add rsi, 8
mov rdx, qword [r12 + 0x40]
mov rcx, rsi
call fcn.1400079f0
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
jne 0x140114bbb
mov rax, qword [rbx + 0xe8]
dec dword [rax + rdi*4 + 0x10]
jne 0x140114bbb
mov ecx, dword [rax + 0x30]
btr ecx, edi
mov qword [rax + 0x30], rcx
jmp 0x140114bbb
lock dec dword [rcx]
jne 0x1401143bd
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x1401143bd
test al, al
je 0x140115d47
mov al, byte [rdi + 0x130]
xor al, 1
jmp 0x140114a3e
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x70], 0
jg 0x1401162d2
mov rdi, qword [r12 + 0x30]
cmp qword [rdi + 0x180], 0
jne 0x14011589f
cmp qword [rdi + 0x188], 0
jne 0x14011589f
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x70], 0
jne 0x140115fb9
xor ebp, ebp
cmp qword [rax + 0x398], 0
jne 0x14011589f
xor r15d, r15d
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x132], xmm0
movupd xmmword [rsp + 0x122], xmm0
movaps xmmword [rsp + 0x1a0], xmm6
mov rcx, qword [r12]
mov rdx, qword [rcx + 8]
inc rdx
xor eax, eax
cmp rdx, qword [rcx]
mov rcx, qword [rcx + 0x18]
cmove rdx, rax
imul rdx, rdx, 0xa8
mov r8, qword [rcx + rdx]
mov qword [rsp + 0xa8], r8
mov qword [rcx + rdx], 0
movups xmm0, xmmword [rcx + rdx + 0x18]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rcx + rdx + 8]
movaps xmmword [rsp + 0xe0], xmm0
mov r8, qword [rcx + rdx + 0x75]
mov qword [rsp + 0x19d], r8
movups xmm0, xmmword [rcx + rdx + 0x68]
movaps xmmword [rsp + 0x190], xmm0
movupd xmm0, xmmword [rcx + rdx + 0x28]
movupd xmm1, xmmword [rcx + rdx + 0x38]
movups xmm2, xmmword [rcx + rdx + 0x48]
movups xmm3, xmmword [rcx + rdx + 0x58]
movaps xmmword [rsp + 0x180], xmm3
movaps xmmword [rsp + 0x170], xmm2
movapd xmmword [rsp + 0x160], xmm1
movapd xmmword [rsp + 0x150], xmm0
movzx r8d, byte [rcx + rdx + 0x82]
mov byte [rsp + 0x1aa], r8b
movzx r8d, word [rcx + rdx + 0x80]
mov word [rsp + 0x1a8], r8w
mov r8, qword [rcx + rdx + 0x88]
mov qword [rsp + 0x68], r8
mov r8, qword [rcx + rdx + 0x90]
mov qword [rsp + 0x78], r8
mov qword [rcx + rdx + 0x88], 0
mov r8, qword [rcx + rdx + 0x98]
mov qword [rsp + 0x80], r8
mov qword [rcx + rdx + 0x98], 0
mov rcx, qword [rcx + rdx + 0xa0]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [r12]
mov rdx, qword [rcx + 8]
mov rsi, qword [rcx + 0x18]
inc rdx
cmp rdx, qword [rcx]
cmove rdx, rax
mov qword [rcx + 8], rdx
imul r14, rdx, 0xa8
mov rcx, qword [rsi + r14 + 0x98]
test rcx, rcx
jne 0x14011592c
lea rbx, [rsi + r14]
mov rsi, qword [rsi + r14 + 0x88]
test rsi, rsi
jne 0x140115955
mov rcx, qword [rbx]
test rcx, rcx
jne 0x140115a8b
mov rax, qword [r12]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
jne 0x140115077
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x140115de4
dec qword [r12 + 0x10]
jne 0x1401152ef
cmp dword [r12 + 0x78], 0
jne 0x140115222
mov r14, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x140115160
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [0x14029bf90]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x140116288
mov qword [rsp + 0x6c0], 0
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x6c0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140116b53
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov qword [rsp + 0x100], rax
cmp rax, qword [r12 + 0x20]
jl 0x140115160
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 0x140115160
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x14011514b
cmp rcx, r8
jb 0x1401160fa
lea rsi, [r14 + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401160ba
mov rax, qword [r12]
mov rcx, qword [r14 + 0x28]
mov qword [r12], rcx
mov qword [r14 + 0x28], rax
mov rax, qword [r12 + 8]
mov rcx, qword [r14 + 0x30]
mov qword [r12 + 8], rcx
mov qword [r14 + 0x30], rax
mov rax, qword [r12 + 0x10]
mov rcx, qword [r14 + 0x38]
mov qword [r12 + 0x10], rcx
mov qword [r14 + 0x38], rax
mov rax, qword [r12 + 0x18]
mov rcx, qword [r14 + 0x40]
mov qword [r12 + 0x18], rcx
mov qword [r14 + 0x40], rax
mov rax, qword [r12 + 0x20]
mov rcx, qword [r14 + 0x48]
mov qword [r12 + 0x20], rcx
mov qword [r14 + 0x48], rax
cmp byte [r14 + 0x158], 0
je 0x1401151ee
mov rdx, qword [r12]
test rdx, rdx
je 0x1401151ee
mov r9, qword [rdx + 8]
cmp qword [rdx + 0x10], r9
jne 0x140115aa9
mov rax, qword [r14 + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [r14 + 0x50]
cmp qword [r14 + 0xa8], 0
movzx eax, byte [r14 + 0x128]
je 0x14011593f
mov byte [r14 + 0x51], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
je 0x1401152ef
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [0x14029bf90]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x14011626f
mov qword [rsp + 0x6c0], 0
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x6c0]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x140116b0a
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov qword [rsp + 0x100], rax
cmp rax, qword [r12 + 0x20]
jl 0x1401152ef
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 0x1401152ef
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1401152da
cmp rcx, r8
jb 0x1401160c7
mov dword [rsp + 0xb8], ebp
mov r14, qword [r12 + 0x28]
mov rbx, qword [r12 + 0x38]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x6e0], rax
movaps xmmword [rsp + 0x6d0], xmm6
movaps xmmword [rsp + 0x6c0], xmm6
lea rsi, [rsp + 0x6c0]
mov rcx, r12
mov rdx, rsi
call fcn.140117c40
cmp byte [rsp + 0x6c0], 0
je 0x1401153bc
cmp rbx, 7
jae 0x140116b31
shl rbx, 5
mov rax, qword [r14 + rbx + 0x10]
cmp qword [r14 + rbx + 0x18], rax
je 0x140116b34
mov ebp, r15d
mov r15, r13
lea rcx, [r14 + rbx]
add rcx, 8
mov rax, qword [rax + 0x18]
mov qword [rax + 0x40], 0xffffffffffffffff
mov eax, dword [rsp + 0x6d8]
mov dword [rsp + 0x110], eax
movupd xmm0, xmmword [rsp + 0x6c8]
movapd xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x118], r12
lea r8, [rsp + 0x100]
xor edx, edx
call fcn.140007d20
test byte [0x14029ccf0], 9
je 0x140115412
jmp 0x1401168cc
cmp rbx, 7
jae 0x140116c4f
mov ebp, r15d
mov r15, r13
mov r13, rbx
shl r13, 5
lea rcx, [r14 + r13]
add rcx, 8
xor edx, edx
call fcn.1400079f0
mov rax, qword [r14 + r13 + 0x10]
cmp rax, qword [r14 + r13 + 0x18]
jne 0x140115405
mov rax, qword [r14 + 0xe8]
dec dword [rax + rbx*4 + 0x10]
jne 0x140115405
mov ecx, dword [rax + 0x30]
btr ecx, ebx
mov qword [rax + 0x30], rcx
test byte [0x14029ccf0], 9
jne 0x1401168cc
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax + 0x430]
mov rsi, qword [rax + 0x438]
mov r12, rsi
sub r12, rbx
sar r12, 3
mov r14, rsi
sub r14, rbx
je 0x140115e24
lea rcx, [r12 + r14*2]
dec rcx
mov r13, r15
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx + 0x448]
mov rdx, qword [rdx + 0x450]
add rdx, rax
cmp rcx, rdx
je 0x140115e2b
cmp rsi, rbx
mov r11, qword [rsp + 0x58]
je 0x140116821
mov rcx, qword [r11 + 0x448]
add rcx, qword [r11 + 0x450]
movabs r8, 0xf0f0f0f0f0f0f0f1
mov rax, rcx
mul r8
mov r9, rdx
shr r9, 4
mov rax, qword [rbx + r9*8]
and rdx, 0xfffffffffffffff0
add rdx, r9
sub rcx, rdx
imul rcx, rcx, 0xe8
mov rdx, rax
add rdx, rcx
je 0x140116821
lea r9, [rsp + 0x1a8]
mov r10, qword [rsp + 0xa8]
mov qword [rdx], r10
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [rdx + 0x18], xmm1
movups xmmword [rdx + 8], xmm0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmm3, xmmword [rsp + 0x180]
movups xmmword [rdx + 0x28], xmm0
movups xmmword [rdx + 0x38], xmm1
movups xmmword [rdx + 0x48], xmm2
movups xmmword [rdx + 0x58], xmm3
movaps xmm0, xmmword [rsp + 0x190]
movups xmmword [rdx + 0x68], xmm0
mov r10, qword [rsp + 0x19d]
mov qword [rdx + 0x75], r10
movzx r10d, word [r9]
mov word [rdx + 0x80], r10w
movzx r9d, byte [r9 + 2]
mov byte [rdx + 0x82], r9b
mov r9, qword [rsp + 0x68]
mov qword [rdx + 0x88], r9
mov r9, qword [rsp + 0x78]
mov qword [rdx + 0x90], r9
mov r9, qword [rsp + 0x80]
mov qword [rdx + 0x98], r9
mov r9, qword [rsp + 0xa0]
mov qword [rdx + 0xa0], r9
mov qword [rax + rcx + 0xa8], rdi
mov r9d, dword [rdi]
mov dword [rax + rcx + 0xb0], r9d
mov dword [rax + rcx + 0xb8], 0
mov r9d, dword [rsp + 0xb8]
mov byte [rax + rcx + 0xbc], r9b
mov byte [rax + rcx + 0xbd], bpl
movupd xmm0, xmmword [rsp + 0x120]
movupd xmm1, xmmword [rsp + 0x130]
movupd xmmword [rax + rcx + 0xbe], xmm0
movupd xmmword [rax + rcx + 0xce], xmm1
movzx r9d, word [rsp + 0x140]
mov word [rax + rcx + 0xde], r9w
mov r9, qword [rdi + 0xb8]
movzx r9d, byte [r9 + 0x38]
mov byte [rax + rcx + 0xe0], r9b
movzx edx, byte [rdx + 0x82]
mov dword [rax + rcx + 0xe4], edx
mov rcx, qword [r11 + 0x450]
inc rcx
mov qword [r11 + 0x450], rcx
add rcx, qword [r11 + 0x448]
mov r9, qword [r11 + 0x430]
mov rax, rcx
mul r8
mov rax, rdx
shr rax, 4
mov r8, qword [r9 + rax*8]
cmp qword [r11 + 0x438], r9
je 0x140116015
and rdx, 0xfffffffffffffff0
add rdx, rax
sub rcx, rdx
imul r15, rcx, 0xe8
add r15, r8
cmp r15, r8
je 0x140116a23
movzx r14d, byte [0x14029ccf0]
test r14b, 0x19
jne 0x140116a33
xor ebp, ebp
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xa8], 0
je 0x140115725
mov rdx, qword [r15 - 0xa0]
mov rax, qword [rsp + 0x58]
add rax, 0xeb
lea rcx, str.0123456789ABCDEF
mov r8, rdx
nop dword [rax + rax]
mov r9d, edx
and r9d, 0xf
movzx r9d, byte [r9 + rcx]
mov byte [rax + 3], r9b
shr r8, 4
dec rax
cmp rdx, 0xf
mov rdx, r8
ja 0x1401156c0
mov byte [rax + 3], pe_nt_image_headers64
mov word [rax + 1], 0x3020
mov rdx, qword [r15 - 0xc8]
mov r8, rdx
nop word cs:[rax + rax]
mov r9d, edx
and r9d, 0xf
movzx r9d, byte [r9 + rcx]
mov byte [rax], r9b
dec rax
shr r8, 4
cmp rdx, 0xf
mov rdx, r8
ja 0x140115700
mov word [rax - 1], 0x7830
mov rax, qword [r15 - 0x40]
cmp byte [rax + 0x200], 0
jne 0x1401159b9
cmp qword [rax + 0x180], 0
jne 0x1401159d7
cmp qword [rax + 0x188], 0
jne 0x1401159d7
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x70], 0
jne 0x14011576b
cmp qword [rax + 0x398], 0
jne 0x1401159d7
xor esi, esi
lea r12, [r15 - 0xe8]
mov rax, qword [r15 - 0x40]
cmp byte [rax + 0x201], 0
je 0x1401174ac
mov qword [rsp + 0x60], r12
mov r10, qword [r15 - 0x58]
mov rdi, qword [rax + 0x178]
movzx r12d, byte [0x14029ccf0]
test r12b, 0x19
jne 0x140116a94
xor eax, eax
mov qword [rsp + 0x78], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x338]
cmp rax, qword [rcx + 0x340]
je 0x140117474
mov rdx, qword [rsp + 0x58]
lea rax, [rdx + 0x338]
mov qword [rsp + 0x160], rax
lea rax, [rdx + 0x350]
mov qword [rsp + 0x158], rax
mov rax, qword [rdx + 0x350]
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x150]
mov qword [rax + 8], rcx
mov qword [rdx + 0x350], rcx
mov qword [rsp + 0x168], 0
mov rcx, 0xffffffffffffffff
cmp dword [rdx + 0x368], 0
jne 0x140116b37
mov qword [rsp + 0x170], rcx
mov rbx, qword [rsp + 0x160]
mov rdx, qword [rbx + 8]
sub rdx, qword [rbx]
sar rdx, 3
cmp rdx, rcx
cmovae rdx, rcx
xor eax, eax
test rdx, rdx
je 0x140115891
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
sub r9, r8
sar r9, 3
cmp r9, rax
jbe 0x140116c30
cmp qword [r8 + rax*8], 0
je 0x140116c33
test rbx, rbx
jne 0x140117362
jmp 0x140117474
mov r8, qword [rsp + 0x58]
movsd xmm0, qword [r8 + 0x48]
mov bpl, 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x140114ed4
cmp byte [r8 + 0xf0], 0
je 0x140116140
mov rax, qword [r8 + 0xf8]
mov rcx, qword [r8 + 0x100]
mov qword [r8 + 0xf8], 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 [r8 + 0x100], rdx
add rdx, rcx
shr rdx, 0xb
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
mulsd xmm1, qword [0x140275678]
ucomisd xmm0, xmm1
seta r15b
mov rdi, qword [r12 + 0x30]
jmp 0x140114ed7
lock dec dword [rcx]
jne 0x14011503b
call fcn.14017b254
jmp 0x14011503b
test al, al
je 0x140115bca
mov al, byte [r14 + 0x130]
xor al, 1
jmp 0x140115215
lock dec dword [rsi + 8]
jne 0x140115050
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401e6bb0]
cmp qword [rcx + 0x10], rdx
jne 0x14011612d
lea rcx, [0x140203760]
cmp rax, rcx
jne 0x14011612d
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140115999
lock dec dword [rcx]
je 0x14011650d
mov r14, qword [rsi + 0x10]
test r14, r14
je 0x1401159ac
lock dec dword [r14]
je 0x14011601d
mov rcx, rsi
call fcn.14017b254
jmp 0x140115050
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x420], 1
mov rax, qword [r15 - 0x40]
cmp qword [rax + 0x180], 0
je 0x140115744
mov dword [r15 - 0x30], 1
cmp byte [r15 - 0x2c], 0
je 0x140115a5e
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x140115aa3
mov rax, qword [fcn.1401193e0]
lea rcx, [0x140179e10]
cmp rax, rcx
jne 0x1401164f4
lea rsi, [rsp + 0x150]
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 0x140116d1a
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402a2810]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
mov qword [rcx + 8], rax
jne 0x140115a5a
mov byte [rcx], 1
mov qword [r15 - 0x28], rax
mov sil, 1
cmp byte [r15 - 0x2b], 0
je 0x14011576d
lea rsi, [rsp + 0x150]
mov rcx, rsi
call fcn.1401044a0
mov rax, qword [rsi]
mov sil, 1
mov qword [r15 - 0x18], rax
jmp 0x14011576d
lock dec dword [rcx]
jne 0x14011505c
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x14011505c
mov rax, qword [rax + 8]
jmp 0x140115a5a
inc r9
mov r8, qword [rdx]
mov rcx, qword [rdx + 0x18]
xor eax, eax
cmp r9, r8
cmovne rax, r9
mov r9, qword [r14 + 0x160]
imul r11, rax, 0xa8
cmp qword [rcx + r11 + 0x28], r9
jge 0x140115b17
xor r10d, r10d
jmp 0x140115b03
mov r8, qword [rdx]
mov rax, qword [rdx + 8]
inc rax
cmp rax, r8
cmove rax, r10
mov rcx, qword [rdx + 0x18]
imul r11, rax, 0xa8
cmp qword [rcx + r11 + 0x28], r9
jge 0x140115b17
cmp rax, qword [rdx + 0x10]
jne 0x140115ae7
mov rdx, qword [rdx + 0x20]
test rdx, rdx
jne 0x140115ae0
jmp 0x1401151ee
add r11, rcx
mov byte [r14 + 0x158], 0
mov edx, dword [r11 + 0x78]
mov r9, qword [r11 + 0x30]
test r9, r9
jne 0x140115f70
xor r8d, r8d
imul rax, rax, 0xa8
mov rax, qword [rcx + rax + 0x90]
cmp byte [r14 + 0x130], 0
lea rbx, [r14 + 0x138]
mov qword [r14 + 0x138], rax
mov qword [r14 + 0x140], r8
mov dword [r14 + 0x148], edx
jne 0x140115b73
mov byte [r14 + 0x130], 1
mov rcx, qword [r14 + 0xb8]
mov eax, dword [rbx + 0x10]
lea rdx, [rsp + 0x6c0]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [rbx]
movapd xmmword [rdx], xmm0
call fcn.1401babe0
cmp byte [r14 + 0x130], 0
je 0x140116140
mov rcx, qword [r14 + 0xb0]
mov eax, dword [rbx + 0x10]
lea rdx, [rsp + 0x6c0]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [rbx]
movapd xmmword [rdx], xmm0
call fcn.1401babe0
jmp 0x1401151ee
xor eax, eax
jmp 0x140115215
inc r9
mov r8, qword [rdx]
mov rcx, qword [rdx + 0x18]
xor eax, eax
cmp r9, r8
cmovne rax, r9
mov r9, qword [rdi + 0x160]
imul r10, rax, 0xa8
cmp qword [rcx + r10 + 0x28], r9
jge 0x140115c43
cmp rax, qword [rdx + 0x10]
jne 0x140115c13
mov rdx, qword [rdx + 0x20]
test rdx, rdx
je 0x140114a1a
mov r8, qword [rdx]
mov rax, qword [rdx + 8]
mov rcx, rax
inc rcx
cmp rcx, r8
mov eax, 0
cmovne rax, rcx
mov rcx, qword [rdx + 0x18]
jmp 0x140115beb
lock dec dword [rcx]
jne 0x140114c09
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
jmp 0x140114c09
add r10, rcx
mov byte [rdi + 0x158], 0
mov edx, dword [r10 + 0x78]
mov r9, qword [r10 + 0x30]
test r9, r9
jne 0x140116033
xor r8d, r8d
imul rax, rax, 0xa8
mov rax, qword [rcx + rax + 0x90]
cmp byte [rdi + 0x130], 0
lea rbx, [rdi + 0x138]
mov qword [rdi + 0x138], rax
mov qword [rdi + 0x140], r8
mov dword [rdi + 0x148], edx
jne 0x140115c9b
mov byte [rdi + 0x130], 1
mov rcx, qword [rdi + 0xb8]
mov eax, dword [rbx + 0x10]
lea rdx, [rsp + 0x6c0]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [rbx]
movapd xmmword [rdx], xmm0
call fcn.1401babe0
cmp byte [rdi + 0x130], 0
je 0x140116140
mov rcx, qword [rdi + 0xb0]
mov eax, dword [rbx + 0x10]
lea rdx, [rsp + 0x6c0]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [rbx]
movapd xmmword [rdx], xmm0
call fcn.1401babe0
jmp 0x140114a1a
mov rcx, qword [rsi]
mov r9, qword [rcx + 8]
mov rax, qword [rcx + 0x18]
inc r9
xor r8d, r8d
cmp r9, qword [rcx]
cmove r9, r8
mov r10, rsi
imul rsi, r9, 0xa8
mov ecx, dword [rax + rsi + 0x78]
mov r9, qword [rax + rsi + 0x30]
test r9, r9
jne 0x140116072
mov r9, qword [r10 + 0x58]
cmp qword [rax + rsi + 0x90], r9
je 0x140116f16
mov rsi, qword [rsp + 0x68]
jb 0x140113f81
jmp 0x140114052
xor eax, eax
jmp 0x140114a3e
cmp rcx, rdx
mov rbx, qword [rsp + 0x58]
je 0x1401140e7
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x60]
call fcn.1401426d0
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
je 0x1401140e7
mov rdx, rcx
mov rcx, qword [rax + 0x18]
cmp rdx, rcx
je 0x1401140e7
jmp 0x140115d60
cmp rcx, rdx
je 0x1401140fc
mov r12, qword [rcx + 0x18]
mov rcx, r12
mov rdx, qword [rsp + 0x60]
call fcn.1401426d0
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
je 0x1401140fc
mov rcx, r12
mov r12, qword [rax + 0x18]
cmp rcx, r12
je 0x1401140fc
jmp 0x140115da1
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e7f70.0]
lea r8, [0x1401725c0]
jmp 0x140114089
mov qword [rax + 0x20], 0
mov rsi, qword [r12]
mov qword [r12], rcx
test rsi, rsi
je 0x140115077
mov rcx, rsi
call fcn.140008120
mov rcx, rsi
call fcn.14017b254
jmp 0x140115077
lea rcx, [rsp + 0x6a0]
call fcn.140103130
jmp 0x140114365
xor ecx, ecx
jmp 0x140115442
mov r8, qword [rsp + 0x58]
lea r15, [r8 + 0x428]
cmp rax, 0x11
jae 0x140116fce
mov rdx, qword [r8 + 0x428]
mov rcx, qword [r8 + 0x440]
mov rax, rcx
sub rax, rdx
cmp r14, rax
jb 0x140116fff
sar rax, 2
cmp rcx, rdx
mov r15d, 1
cmovne r15, rax
lea rax, [r8 + 0x448]
mov qword [rsp + 0x6e0], rax
mov rax, r15
shr rax, 0x3d
jne 0x14011726a
lea rcx, [r15*8]
call fcn.14017b1d8
mov qword [rsp + 0x6c0], rax
lea rcx, [rax + r12*8]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x6c8], rcx
mov qword [rsp + 0x90], rax
lea rax, [rax + r15*8]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x6d8], rax
mov ecx, 0xf68
call fcn.14017b1d8
cmp r12, r15
je 0x140117051
mov r8, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x88]
test r9, r9
je 0x14011709e
mov qword [r9], rax
lea rax, [r9 + 8]
mov qword [rsp + 0x6d0], rax
mov rdx, qword [rsp + 0x58]
mov r12, qword [rdx + 0x438]
cmp r12, qword [rdx + 0x430]
jne 0x1401170a1
mov rcx, qword [rdx + 0x428]
mov qword [rdx + 0x428], rbx
mov qword [rdx + 0x430], r9
mov qword [rdx + 0x438], rax
mov qword [rdx + 0x440], r8
test rcx, rcx
jne 0x1401170f0
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax + 0x430]
mov rsi, qword [rax + 0x438]
jmp 0x140115464
cmp dword [r11 + 0x40], 0
jne 0x140115fa7
movabs r10, 0x8000000000000001
mov r8, qword [r11 + 0x38]
lea r11, [r8 + r10]
cmp r11, 2
jb 0x1401170fa
lea r10, [r9 + r8]
sar r10, 0x3f
btc r10, 0x3f
add r9, r8
cmovo r9, r10
mov r8, r9
jmp 0x140115b36
call fcn.14017b254
jmp 0x140114be9
xor ebp, ebp
jmp 0x140114ed4
cmp dword [r10 + 0x40], 0
jne 0x140115ff7
movabs r11, 0x8000000000000001
mov r8, qword [r10 + 0x38]
lea r10, [r8 + r11]
cmp r10, 2
jb 0x1401171cb
lea r10, [r9 + r8]
sar r10, 0x3f
btc r10, 0x3f
add r9, r8
cmovo r9, r10
mov r8, r9
jmp 0x140114cc9
call fcn.14017b254
jmp 0x14011443d
mov byte [rcx + 0x3c8], 1
jmp 0x140114126
xor r15d, r15d
jmp 0x140115658
lea rcx, [r14 + 8]
call fcn.1400091b0
mov rcx, r14
call fcn.14017b254
jmp 0x1401159ac
cmp dword [r10 + 0x40], 0
jne 0x14011606a
movabs r11, 0x8000000000000001
mov r8, qword [r10 + 0x38]
lea r10, [r8 + r11]
cmp r10, 2
jb 0x14011726f
lea r10, [r9 + r8]
sar r10, 0x3f
btc r10, 0x3f
add r9, r8
cmovo r9, r10
mov r8, r9
jmp 0x140115c61
lea r8, [rax + rsi]
cmp dword [r8 + 0x40], 0
jne 0x1401160ad
movabs r10, 0x8000000000000001
mov r8, qword [r8 + 0x38]
lea r11, [r8 + r10]
cmp r11, 2
jb 0x14011728c
lea r10, [r9 + r8]
sar r10, 0x3f
btc r10, 0x3f
add r9, r8
cmovo r9, r10
mov r8, r9
mov r10, qword [rsp + 0x68]
jmp 0x140115d25
mov rcx, rsi
call fcn.1400fdfc0
jmp 0x140115175
mov rcx, r12
call fcn.1400081b0
mov rax, qword [rsp + 0x100]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [r12 + 0x20], rcx
jmp 0x1401152ef
mov rcx, r12
call fcn.1400081b0
mov rax, qword [rsp + 0x100]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [r12 + 0x20], rcx
jmp 0x140115160
mov rcx, rsi
mov edx, 1
call qword [case.0x1401e7f70.0]
jmp 0x140115050
ud2
mov rcx, rsi
call fcn.1400fdfc0
jmp 0x140113e9d
lea rcx, [0x1402a4468]
call fcn.14017b2bc
cmp dword [0x1402a4468], 0xffffffff
jne 0x140114199
mov qword [0x1402a4460], 8
lea rcx, [0x1402a4468]
call fcn.14017b25c
jmp 0x140114199
mov rcx, rsi
call fcn.1400081b0
mov rax, qword [rsp + 0x6c0]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [rsi + 0x20], rcx
jmp 0x140113e8c
lea rcx, [rdi + 8]
call fcn.1400091b0
mov rcx, rdi
call fcn.14017b254
jmp 0x140114dcf
mov rcx, rsi
mov edx, 1
call qword [case.0x1401e7f70.0]
jmp 0x1401143b1
mov qword [rsp + 0x68], rax
lea rcx, [rax + 8]
call fcn.1400091b0
mov rcx, qword [rsp + 0x68]
call fcn.14017b254
jmp 0x140114c6c
mov rcx, rsi
call fcn.1400fdfc0
jmp 0x1401149a2
mov rcx, r12
call fcn.1400081b0
mov rax, qword [rsp + 0x120]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [r12 + 0x20], rcx
jmp 0x140114b12
mov rcx, r12
call fcn.1400081b0
mov rax, qword [rsp + 0x120]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [r12 + 0x20], rcx
jmp 0x14011498d
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
mov rax, qword [rsi]
jmp 0x1401152a4
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
mov rax, qword [rsi]
jmp 0x140115115
mov rcx, rsi
mov edx, 1
call qword [case.0x1401e7f70.0]
jmp 0x140114bf2
lea rsi, [rsp + 0x6c0]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
mov rax, qword [rsi]
mov rsi, qword [rsp + 0x68]
jmp 0x140113e4b
lea rsi, [rsp + 0x150]
mov r8d, 0xb8
mov rcx, rsi
mov dl, 0xaa
call fcn.1401808d0
mov rcx, r12
mov rdx, rsi
call fcn.140118120
mov rax, qword [r12 + 0x30]
mov qword [rsi + 0xa8], rax
mov eax, dword [r12 + 0x78]
mov dword [rsi + 0xb0], eax
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x88]
mov rax, qword [rax + 0x90]
mov rdx, rax
sub rdx, r8
jb 0x140117313
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x80]
inc rdx
xor r8d, r8d
mov r9, rcx
sub r9, 1
cmovae r8, r9
cmp r8, rdx
jae 0x140116387
mov rsi, qword [rsp + 0x58]
lea rcx, [rsi + 0x78]
mov rax, r8
shr rax, 2
add rax, r8
cmp rdx, rax
cmova rax, rdx
cmp rax, 4
mov edx, 3
cmovae rdx, rax
call fcn.1401baca0
mov rcx, qword [rsi + 0x80]
mov rax, qword [rsi + 0x90]
cmp rcx, rax
jb 0x140116647
lea r9, [rsp + 0x1f8]
lea rdx, [rsp + 0x178]
mov r10, qword [rsp + 0x58]
mov rcx, qword [r10 + 0x78]
imul rax, rax, 0xb8
mov r8, qword [rdx - 0x28]
add rax, rcx
add rax, 0x28
mov qword [rax - 0x28], r8
xor r8d, r8d
mov qword [rdx - 0x28], r8
movupd xmm0, xmmword [rdx - 0x20]
movupd xmm1, xmmword [rdx - 0x10]
movupd xmmword [rax - 0x10], xmm1
movupd xmmword [rax - 0x20], xmm0
mov ecx, 0xa
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rdx + 0x54]
mov byte [rax + 0x54], cl
mov ecx, dword [rdx + 0x50]
mov dword [rax + 0x50], ecx
mov cl, byte [rdx + 0x5a]
mov byte [rax + 0x5a], cl
movzx ecx, word [rdx + 0x58]
mov word [rax + 0x58], cx
mov rcx, qword [rdx + 0x60]
mov qword [rax + 0x60], rcx
mov qword [rdx + 0x60], r8
mov rcx, qword [rdx + 0x68]
mov qword [rax + 0x68], rcx
mov rcx, qword [rdx + 0x70]
mov qword [rax + 0x70], rcx
mov qword [rdx + 0x70], r8
mov rcx, qword [rdx + 0x78]
mov qword [rax + 0x78], rcx
mov ecx, dword [r9 + 8]
mov dword [rax + 0x88], ecx
mov rcx, qword [r9]
mov qword [rax + 0x80], rcx
mov rax, qword [r10 + 0x80]
mov rcx, qword [r10 + 0x90]
lea rdx, [rax - 1]
lea r9, [rcx + 1]
cmp rcx, rdx
cmove r9, r8
mov qword [r10 + 0x90], r9
test r9, r9
je 0x14011732d
cmp rax, rcx
jb 0x140116644
lea rcx, [rsp + 0x150]
call fcn.140118040
jmp 0x14011413a
lea rcx, [rsp + 0x6c0]
call qword [case.0x1401e7f70.0]
lea rax, [rsp + 0x6c0]
mov rax, qword [rax]
jmp 0x1401145c2
lea rcx, [rsp + 0x6c0]
call qword [case.0x1401e7f70.0]
lea rax, [rsp + 0x6c0]
mov rax, qword [rax]
jmp 0x140114741
lea rsi, [rsp + 0x120]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
mov rax, qword [rsi]
jmp 0x140114ac7
lea rsi, [rsp + 0x120]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
mov rax, qword [rsi]
jmp 0x140114942
lea rsi, [rsp + 0x6c0]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
mov rax, qword [rsi]
jmp 0x140115a49
call fcn.14017b254
jmp 0x140115999
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
call qword [case.0x1401e7f70.0]
jmp 0x140114613
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
call qword [case.0x1401e7f70.0]
jmp 0x14011478d
call fcn.14017b254
jmp 0x140114dbd
call fcn.14017b254
jmp 0x140114c5a
lea rcx, [rsp + 0x6c0]
call qword [case.0x1401e7f70.0]
lea rax, [rsp + 0x6c0]
mov rax, qword [rax]
jmp 0x14011469d
lea rcx, [rsp + 0x6c0]
call qword [case.0x1401e7f70.0]
lea rax, [rsp + 0x6c0]
mov rax, qword [rax]
jmp 0x140114812
cmp rcx, rdx
je 0x140116f10
mov rbx, qword [rcx + 0x18]
mov rcx, rbx
mov rdx, qword [rsp + 0x60]
mov r8, r12
call fcn.140141ff0
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
jne 0x1401172ae
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
mov rbx, qword [rsp + 0x58]
lea r8, [0x140179e10]
lea rcx, [rsp + 0x150]
mov r10, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x1401140e7
jmp 0x14011463c
cmp rcx, rdx
je 0x140116f13
mov rbx, qword [rcx + 0x18]
mov rcx, rbx
mov rdx, qword [rsp + 0x60]
mov r8, r12
call fcn.140141ff0
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
jne 0x1401172c4
mov rax, qword [rsi + 0x10]
cmp rax, qword [rsi + 0x18]
lea r8, [0x140179e10]
lea rcx, [rsp + 0x150]
mov r10, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x1401140fc
jmp 0x1401147b1
int3
int3
lea rsi, [rsp + 0x120]
mov rcx, r14
mov rdx, rsi
mov r8, r12
call fcn.1401f2940
lea rbp, [rsp + 0x6c0]
mov rcx, rbp
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
lea rdi, [rsp + 0x150]
movaps xmmword [rdi], xmm6
movaps xmmword [rdi + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x20], rcx
mov word [rdi], 0x801
lea rcx, [0x140271c0e]
mov qword [rdi + 8], rcx
mov rcx, qword [rsi]
mov qword [rdi + 0x18], rcx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x48], 0x800
mov qword [rsp + 0x28], 0
lea rdx, [0x14029cd00]
lea r8, [0x14027cb90]
mov cl, 0x4f
xor r9d, r9d
call fcn.140104700
mov rcx, rdi
call fcn.140118cc0
jmp 0x14011415f
int3
int3
lea rsi, [rsp + 0x150]
mov rcx, rsi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029ccf0]
lea r8, str.SequenceManagerImpl::SelectNextTask
mov cl, 0x58
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xd8], r8
xor r9d, r9d
call fcn.140104700
mov qword [rsp + 0xd0], rax
jmp 0x140113c93
lea rsi, [rsp + 0x150]
mov rcx, rsi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rbp, [0x14029ccf0]
lea rdi, str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
mov cl, 0x58
mov rdx, rbp
mov r8, rdi
xor r9d, r9d
call fcn.140104700
mov r15, rax
jmp 0x1401140c1
cmp byte [rbp], 0
je 0x140114106
mov rcx, rbp
mov rdx, rdi
mov r8, r15
call fcn.140103f20
jmp 0x140114106
int3
int3
int3
int3
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
je 0x14011451c
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xd0]
call fcn.140103f20
jmp 0x14011451c
int3
mov rcx, r12
call fcn.1401ed610
jmp 0x140116840
mov rcx, r12
call fcn.1401edb70
jmp 0x140116840
mov rcx, r12
call fcn.1401ed900
test al, al
je 0x140114451
jmp 0x14011413a
xor r14d, r14d
jmp 0x14011443d
movabs rcx, 0x8000000000000001
mov rbx, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rcx]
cmp rdx, 2
jae 0x140116bee
cmp rbx, rax
je 0x140117335
sar rax, 0x3f
lea rbx, [rax + rcx]
dec rbx
jmp 0x140114558
movabs rcx, 0x8000000000000001
mov rbx, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rcx]
cmp rdx, 2
jae 0x140116c0f
cmp rbx, rax
je 0x140117338
sar rax, 0x3f
lea rbx, [rax + rcx]
dec rbx
jmp 0x1401146d7
xor eax, eax
jmp 0x14011447f
mov rbx, qword [r12 + 0x30]
mov rax, qword [rbx + 0x10]
mov r14d, dword [rax + 4]
call sub.KERNEL32.dll_GetCurrentThreadId
cmp r14d, eax
jne 0x140115412
lea r12, [rbx + 0x20]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401172da
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x88], rax
mov rax, qword [rbx + 0xb0]
mov rcx, qword [rbx + 0xb8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x90], rcx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x98], rax
mov r13, qword [rbx + 0xd0]
mov r14, qword [rbx + 0xc8]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x14029ccf0], 0x19
je 0x140115412
sub r13, r14
shr r13, 3
imul eax, r13d, 0x3cf3cf3d
mov rcx, qword [rsp + 0x90]
add ecx, dword [rsp + 0x88]
mov r14, qword [rsp + 0x98]
add r14d, ecx
add r14d, eax
mov ecx, dword [rbx]
call fcn.1402037c0
mov r12, rax
lea rbx, [rsp + 0x100]
mov rcx, rbx
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
movaps xmmword [rsp + 0x6c0], xmm6
movaps xmmword [rsp + 0x6d0], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x6e0], rcx
mov word [rsp + 0x6c0], 0x301
lea rcx, [0x140271c65]
mov qword [rsp + 0x6c8], rcx
movsxd rcx, r14d
mov qword [rsp + 0x6d8], rcx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x14029ccf0]
mov cl, 0x43
mov r8, r12
xor r9d, r9d
call fcn.140104700
mov rcx, rsi
call fcn.140118cc0
jmp 0x140115412
mov r15d, 0xf68
add r15, qword [r9 + rax*8 - 8]
jmp 0x140115661
lea rsi, [rsp + 0x150]
mov rcx, rsi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rbp, [0x14029ccf0]
lea r8, str.SequenceManagerImpl::NotifyWillProcessTaskObservers
mov cl, 0x58
mov rdx, rbp
mov qword [rsp + 0xa8], r8
xor r9d, r9d
call fcn.140104700
jmp 0x140115687
lea rcx, [rsp + 0x150]
mov rbx, r10
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
lea rcx, [rsp + 0x150]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029ccf0]
lea r8, str.SequenceManager.WillProcessTaskObservers
mov cl, 0x58
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], r8
xor r9d, r9d
call fcn.140104700
mov r10, rbx
mov qword [rsp + 0xa0], rax
jmp 0x1401157c8
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011529c
int3
int3
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x340]
sub rcx, qword [rax + 0x338]
sar rcx, 3
jmp 0x140115846
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011510d
mov rbp, r14
mov rdi, r13
cmp sil, 7
jne 0x140116cc5
xor r12d, r12d
mov r13, rdi
mov r14, rbp
lea rbx, [rsp + 0x690]
jmp 0x140114152
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1401145c2
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140114741
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rbx, rax
cmovo rbx, rdx
jmp 0x140114558
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rbx, rax
cmovo rbx, rdx
jmp 0x1401146d7
int3
inc rax
mov qword [rsp + 0x168], rax
cmp rdx, rax
jne 0x14011586f
mov rax, rdx
jmp 0x140115891
int3
mov rax, qword [8]
xor ecx, ecx
mov rdi, r8
call qword [case.0x1401e7f70.0]
mov r8, rdi
jmp 0x140114089
call qword [case.0x1401e7f70.0]
lea rsi, [0x1401093b0]
jmp 0x140114071
cmp byte [rax + 0x128], 0
je 0x140114071
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401e7f70.0]
jmp 0x140114071
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140113e43
mov rcx, qword [rsp + 0x58]
add rcx, 0x238
movzx r8d, sil
bt rax, r8
jae 0x140116cf8
cmp sil, 7
jae 0x140116d17
mov rdx, r8
shl rdx, 5
mov r9, qword [rcx + rdx + 0x10]
cmp r9, qword [rcx + rdx + 0x18]
jne 0x140116e91
inc sil
xor r12d, r12d
cmp sil, 7
mov r13, rdi
mov r14, rbp
lea rbx, [rsp + 0x690]
jne 0x140116cd1
jmp 0x140114152
int3
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140115a49
mov rdi, qword [r12 + 0x30]
mov rax, qword [rdi + 0x10]
mov esi, dword [rax + 4]
call sub.KERNEL32.dll_GetCurrentThreadId
cmp esi, eax
jne 0x140114bc8
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140117306
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x78], rax
mov rax, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0xb8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x80], rcx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x68], rax
mov rbx, qword [rdi + 0xd0]
mov r14, qword [rdi + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x14029ccf0], 0x19
je 0x140114bc8
sub rbx, r14
shr rbx, 3
imul eax, ebx, 0x3cf3cf3d
mov rcx, qword [rsp + 0x80]
add ecx, dword [rsp + 0x78]
mov r14, qword [rsp + 0x68]
add r14d, ecx
add r14d, eax
mov ecx, dword [rdi]
call fcn.1402037c0
mov rsi, rax
lea rbx, [rsp + 0x120]
mov rcx, rbx
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
movaps xmmword [rsp + 0x6c0], xmm6
movaps xmmword [rsp + 0x6d0], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x6e0], rcx
mov word [rsp + 0x6c0], 0x301
lea rcx, [0x140271c65]
mov qword [rsp + 0x6c8], rcx
movsxd rcx, r14d
mov qword [rsp + 0x6d8], rcx
lea rdi, [rsp + 0x6c0]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x14029ccf0]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.140104700
mov rcx, rdi
call fcn.140118cc0
jmp 0x140114bc8
lea rsi, [rsp + 0x150]
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov rdx, rsi
call fcn.1400d54c0
cmp byte [rsi], 0
je 0x140116b8a
mov r12, qword [rsp + 0x158]
jmp 0x140116b8d
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140114abf
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011493a
int3
int3
mov rdx, qword [rsp + 0x68]
cmp r8, qword [rdx + 0x60]
jne 0x140116f3c
mov rsi, qword [rsp + 0x68]
cmp ecx, dword [rsi + 0x68]
lea rdx, [rsp + 0x150]
jl 0x140113f81
jmp 0x140114052
lea rdx, [rsp + 0x150]
mov rsi, qword [rsp + 0x68]
jl 0x140113f81
jmp 0x140114052
mov r9, rcx
movabs rcx, 0x8000000000000001
mov rbx, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rcx]
cmp rdx, 2
jae 0x140117161
cmp rbx, rax
je 0x140116fc8
sar rax, 0x3f
lea rbx, [rax + rcx]
dec rbx
mov rcx, r9
jmp 0x140114649
mov r9, rcx
movabs rcx, 0x8000000000000001
mov rbx, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rcx]
cmp rdx, 2
jae 0x140117185
cmp rbx, rax
je 0x140116fcb
sar rax, 0x3f
lea rbx, [rax + rcx]
dec rbx
mov rcx, r9
jmp 0x1401147be
int3
int3
add rax, 0xffffffffffffffef
mov qword [r8 + 0x448], rax
mov rax, qword [rbx]
lea rdx, [rsp + 0x6c0]
mov qword [rdx], rax
add rbx, 8
mov qword [r8 + 0x430], rbx
mov rcx, r15
call fcn.1401c27c0
jmp 0x140115f58
cmp rcx, rsi
jne 0x1401171a9
mov ecx, 0xf68
call fcn.14017b1d8
lea r12, [rsp + 0x6c0]
mov qword [r12], rax
mov rcx, r15
mov rdx, r12
call fcn.1401c2900
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx + 0x430]
mov rcx, qword [rax]
mov qword [r12], rcx
add rax, 8
mov qword [rdx + 0x430], rax
lea rdx, [rsp + 0x6c0]
jmp 0x140116ff2
mov qword [rsp + 0xb0], rax
test r14, r14
jle 0x1401171e4
lea rax, [r12*4 + 4]
and rax, 0xfffffffffffffff8
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x6c8], rcx
mov r8, qword [rsp + 0x98]
mov rax, qword [rsp + 0xb0]
jmp 0x140115eeb
int3
lea rsi, [rsp + 0x6c0]
add r12, 0xfffffffffffffff8
mov rcx, rsi
mov rdx, r12
call fcn.1401c2900
mov rax, qword [rsp + 0x58]
cmp r12, qword [rax + 0x430]
jne 0x1401170a9
mov rbx, qword [rsp + 0x6c0]
mov r9, qword [rsp + 0x6c8]
mov rax, qword [rsp + 0x6d0]
mov r8, qword [rsp + 0x6d8]
mov rdx, qword [rsp + 0x58]
jmp 0x140115f2c
call fcn.14017b254
jmp 0x140115f58
add r10, r9
cmp r10, 1
ja 0x140115b36
cmp r9, r8
je 0x140115b36
int3
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14011469d
mov rcx, qword [0x1402a2810]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140114812
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rbx, rax
cmovo rbx, rdx
mov rcx, r9
jmp 0x140114649
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rbx, rax
cmovo rbx, rdx
mov rcx, r9
jmp 0x1401147be
mov ecx, 0xf68
call fcn.14017b1d8
lea rdx, [rsp + 0x6c0]
mov qword [rdx], rax
mov rcx, r15
call fcn.1401c27c0
jmp 0x140115f58
add r11, r9
cmp r11, 1
ja 0x140114cc9
cmp r9, r8
je 0x140114cc9
int3
movabs rax, 0x1fffffffffffffff
sar r14, 2
cmp rsi, rbx
mov esi, 1
cmovne rsi, r14
cmp rsi, rax
ja 0x14011726a
lea rcx, [rsi*8]
call fcn.14017b1d8
mov rbx, rax
lea rax, [rax + rsi*8]
and rsi, 0xfffffffffffffffc
lea rcx, [rbx + rsi*2]
mov qword [rsp + 0x6c0], rbx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x6c8], rcx
mov rsi, rax
mov qword [rsp + 0x6d8], rax
cmp qword [rsp + 0x90], 0
je 0x14011725a
mov rcx, qword [rsp + 0x90]
call fcn.14017b254
mov r8, rsi
mov rax, qword [rsp + 0xb0]
jmp 0x140115ef3
call fcn.1401be9c0
add r11, r9
cmp r11, 1
ja 0x1401172e7
cmp r9, r8
lea r14, [rsp + 0x6c0]
je 0x140115c61
int3
add r10, r9
cmp r10, 1
ja 0x1401172f4
cmp r9, r8
lea rdx, [rsp + 0x150]
mov r10, qword [rsp + 0x68]
je 0x140115d25
int3
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
call qword [case.0x1401e7f70.0]
jmp 0x1401165c0
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
call qword [case.0x1401e7f70.0]
jmp 0x14011661b
mov rcx, r12
call fcn.1400fdfc0
jmp 0x1401168fc
lea r14, [rsp + 0x6c0]
jmp 0x140115c61
lea rdx, [rsp + 0x150]
mov r10, qword [rsp + 0x68]
jmp 0x140115d25
mov rcx, rsi
call fcn.1400fdfc0
jmp 0x140116d6f
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x80]
mov rdx, rax
sub rdx, r8
add rdx, rcx
jmp 0x140116337
mov rcx, rdx
jmp 0x14011646b
int3
int3
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
sub r9, r8
sar r9, 3
cmp r9, rax
jbe 0x1401178a1
cmp qword [r8 + rax*8], 0
je 0x140117882
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, rdx
sar r8, 3
cmp r8, rcx
cmovb rcx, r8
cmp rax, rcx
je 0x1401173f9
cmp r8, rax
jbe 0x14011789e
cmp rdi, r10
seta r8b
mov rcx, qword [rdx + rax*8]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
mov rbx, rdi
mov rdi, r10
call qword [case.0x1401e7f70.0]
mov r10, rdi
mov rdi, rbx
mov rbx, qword [rsp + 0x160]
test rbx, rbx
je 0x140117474
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x170]
inc rax
mov qword [rsp + 0x168], rax
mov rdx, qword [rbx + 8]
sub rdx, qword [rbx]
sar rdx, 3
cmp rdx, rcx
cmovae rdx, rcx
cmp rax, rdx
jb 0x140117340
jmp 0x140117362
mov r9, rbp
mov ebp, esi
mov rsi, r13
mov rax, qword [rbx + 0x20]
cmp rax, qword [rbx + 0x18]
jne 0x140117436
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
cmp rcx, rdx
je 0x140117436
nop word [rax + rax]
lea rax, [rcx + 8]
cmp qword [rcx], 0
je 0x140117514
mov rcx, rax
cmp rax, rdx
jne 0x140117420
cmp qword [rsp + 0x160], 0
mov r13, rsi
mov esi, ebp
mov rbp, r9
je 0x140117474
mov qword [rsp + 0x160], 0
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x158]
mov qword [rcx], rax
test r12b, 0x19
jne 0x14011778c
test byte [0x14029ccf0], 0x19
mov r12, qword [rsp + 0x60]
jne 0x1401177c5
cmp rdi, r10
seta r8b
mov rcx, qword [r15 - 0x40]
mov rdx, r12
call fcn.140117dc0
test sil, sil
jne 0x1401175b7
test r14b, 0x19
jne 0x14011785e
mov rax, qword [r15 - 0x50]
test rax, rax
je 0x1401174cb
movzx eax, byte [rax + 4]
test al, al
je 0x14011771d
mov edi, dword [r15 - 0x38]
movzx ebx, byte [r15 - 8]
mov rax, qword [r15 - 0x40]
mov rsi, qword [rax + 0x190]
test rsi, rsi
jne 0x14011752e
mov byte [r13], 1
mov qword [r13 + 8], r12
test r12, r12
je 0x14011785b
shl rdi, 0x20
or rdi, rbx
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x18], rdi
jmp 0x140114511
add rax, 8
cmp rax, rdx
je 0x1401176b1
mov r8, qword [rax]
test r8, r8
je 0x140117510
mov qword [rcx], r8
add rcx, 8
jmp 0x140117510
mov eax, 1
mov ecx, 1
lock xadd dword [rsi], ecx
test ecx, ecx
jle 0x1401178a4
lock xadd dword [rsi], eax
test eax, eax
jle 0x1401178a7
lock dec dword [rsi]
jne 0x140117562
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
mov byte [r13], 1
mov qword [r13 + 8], r12
test r12, r12
je 0x14011785b
mov qword [r13 + 0x10], 0
mov eax, 1
lock xadd dword [rsi], eax
test eax, eax
jle 0x1401178aa
shl rdi, 0x20
or rdi, rbx
mov qword [r13 + 0x10], rsi
mov qword [r13 + 0x18], rdi
lock dec dword [rsi]
jne 0x140114511
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
jmp 0x140114511
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x70], 0
jne 0x140117a8c
movzx edi, byte [0x14029ccf0]
test dil, 0x19
jne 0x1401178ad
xor eax, eax
mov qword [rsp + 0x78], rax
movabs rsi, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rsi
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx + 0x370]
cmp rax, qword [rdx + 0x378]
je 0x140117a82
lea rax, [rdx + 0x370]
lea rcx, [rsp + 0x150]
mov qword [rcx + 0x10], rax
lea rax, [rdx + 0x388]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x388]
mov qword [rcx], rax
mov qword [rax + 8], rcx
mov qword [rdx + 0x388], rcx
mov qword [rcx + 0x18], 0
mov rcx, 0xffffffffffffffff
cmp dword [rdx + 0x3a0], 0
jne 0x14011791b
mov qword [rsp + 0x170], rcx
mov rbx, qword [rsp + 0x160]
mov rdx, qword [rbx + 8]
sub rdx, qword [rbx]
sar rdx, 3
cmp rdx, rcx
cmovae rdx, rcx
xor eax, eax
test rdx, rdx
je 0x1401176a3
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
sub r9, r8
sar r9, 3
cmp r9, rax
jbe 0x140117932
cmp qword [r8 + rax*8], 0
je 0x140117935
test rbx, rbx
jne 0x140117982
jmp 0x140117a82
cmp rdx, rcx
jb 0x140117918
mov r13, rcx
sub r13, rdx
je 0x140117436
mov qword [rsp + 0xb8], r9
mov byte [rsp + 0x98], r14b
mov r14, qword [rbx + 8]
mov r8, r14
sub r8, rdx
mov byte [rsp + 0x88], r12b
mov r12, rdi
mov rdi, r10
call fcn.140180220
mov r10, rdi
mov rdi, r12
mov r12b, byte [rsp + 0x88]
add r13, r14
mov r14b, byte [rsp + 0x98]
mov r9, qword [rsp + 0xb8]
mov qword [rbx + 8], r13
jmp 0x140117436
cmp qword [r15 - 0x48], 0
je 0x1401174cb
mov rax, qword [r15 - 0x50]
test rax, rax
je 0x140117951
mov al, byte [rax + 4]
test al, al
jne 0x140117951
mov rsi, qword [r15 - 0x48]
mov rax, qword [rsi + 0x18]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.14017b1d8
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x140117768
lock inc dword [rax]
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x18], rax
test rcx, rcx
je 0x1401174cb
lock dec dword [rcx]
jne 0x1401174cb
call fcn.14017b254
jmp 0x1401174cb
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x14011747e
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0xa0]
mov rbx, rdi
mov rdi, r10
call fcn.140103f20
mov r10, rdi
mov rdi, rbx
jmp 0x14011747e
cmp rdi, r10
mov ebx, esi
seta sil
lea rdi, [rsp + 0x150]
mov rcx, rdi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029ccf0]
lea r8, str.SequenceManager.QueueNotifyWillProcessTask
mov cl, 0x58
xor r9d, r9d
call fcn.140104700
mov rdi, rax
mov rcx, qword [r15 - 0x40]
mov rdx, r12
mov r8d, esi
mov esi, ebx
call fcn.140117dc0
cmp byte [0x14029ccf0], 0
je 0x1401174a3
lea rcx, [0x14029ccf0]
lea rdx, str.SequenceManager.QueueNotifyWillProcessTask
mov r8, rdi
call fcn.140103f20
jmp 0x1401174a3
int3
cmp byte [rbp], 0
je 0x1401174b6
mov rcx, rbp
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x68]
call fcn.140103f20
jmp 0x1401174b6
inc rax
mov qword [rsp + 0x168], rax
cmp rdx, rax
jne 0x140117340
mov rax, rdx
jmp 0x140117362
int3
int3
int3
int3
int3
lea rsi, [rsp + 0x150]
mov rcx, rsi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029ccf0]
lea r8, str.SequenceManager.WillProcessTaskTimeObservers
mov cl, 0x58
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], r8
xor r9d, r9d
call fcn.140104700
mov qword [rsp + 0xc8], rax
jmp 0x1401175f0
int3
mov rcx, qword [rdx + 0x378]
sub rcx, qword [rdx + 0x370]
sar rcx, 3
jmp 0x140117658
int3
inc rax
mov qword [rsp + 0x168], rax
cmp rdx, rax
jne 0x140117681
mov rax, rdx
jmp 0x1401176a3
int3
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
sub r9, r8
sar r9, 3
cmp r9, rax
jbe 0x140117b58
cmp qword [r8 + rax*8], 0
je 0x140117b5b
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, rdx
sar r8, 3
cmp r8, rcx
cmovb rcx, r8
cmp rax, rcx
je 0x140117a06
cmp r8, rax
jbe 0x140117b55
mov rcx, qword [rdx + rax*8]
mov rdx, qword [r15 - 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401e7f70.0]
mov rbx, qword [rsp + 0x160]
test rbx, rbx
je 0x140117a82
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x170]
inc rax
mov qword [rsp + 0x168], rax
mov rdx, qword [rbx + 8]
sub rdx, qword [rbx]
sar rdx, 3
cmp rdx, rcx
cmovae rdx, rcx
cmp rax, rdx
jb 0x140117960
jmp 0x140117982
mov rsi, rbp
mov rbp, r13
mov rax, qword [rbx + 0x20]
cmp rax, qword [rbx + 0x18]
jne 0x140117a46
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
cmp rcx, rdx
je 0x140117a46
nop word cs:[rax + rax]
lea rax, [rcx + 8]
cmp qword [rcx], 0
je 0x140117b04
mov rcx, rax
cmp rax, rdx
jne 0x140117a30
cmp qword [rsp + 0x160], 0
mov r13, rbp
mov rbp, rsi
je 0x140117a82
mov qword [rsp + 0x160], 0
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x158]
mov qword [rcx], rax
test dil, 0x19
jne 0x140117b77
test byte [0x14029ccf0], 0x19
jne 0x140117ba4
mov rax, qword [r15 - 0x40]
mov rsi, qword [rax + 0x180]
test rsi, rsi
je 0x1401174ac
mov ecx, 1
lock xadd dword [rsi], ecx
test ecx, ecx
jle 0x140117c30
lea r8, [r15 - 0x30]
mov rcx, qword [rax + 0x180]
mov rax, qword [rcx + 8]
mov rdx, r12
call qword [case.0x1401e7f70.0]
lock dec dword [rsi]
jne 0x1401174ac
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [case.0x1401e7f70.0]
jmp 0x1401174ac
add rax, 8
cmp rax, rdx
je 0x140117b1a
mov r8, qword [rax]
test r8, r8
je 0x140117b00
mov qword [rcx], r8
add rcx, 8
jmp 0x140117b00
cmp rdx, rcx
jb 0x140117c33
mov r13, rcx
sub r13, rdx
je 0x140117a46
mov r12d, r14d
mov r14, qword [rbx + 8]
mov r8, r14
sub r8, rdx
call fcn.140180220
add r13, r14
mov r14d, r12d
mov r12, qword [rsp + 0x60]
mov qword [rbx + 8], r13
jmp 0x140117a46
int3
int3
inc rax
mov qword [rsp + 0x168], rax
cmp rdx, rax
jne 0x140117960
mov rax, rdx
jmp 0x140117982
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x140117a8c
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0xc8]
call fcn.140103f20
jmp 0x140117a8c
lea rsi, [rsp + 0x150]
mov rcx, rsi
call fcn.1401193e0
call sub.KERNEL32.dll_GetCurrentThreadId
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x14029ccf0]
lea r8, str.SequenceManager.QueueOnTaskStarted
mov cl, 0x58
xor r9d, r9d
call fcn.140104700
mov rsi, rax
mov rcx, qword [r15 - 0x40]
lea r8, [r15 - 0x30]
mov rdx, r12
call fcn.14017a720
cmp byte [0x14029ccf0], 0
je 0x1401174ac
lea rcx, [0x14029ccf0]
lea rdx, str.SequenceManager.QueueOnTaskStarted
mov r8, rsi
call fcn.140103f20
jmp 0x1401174ac
int3
int3