Function at 0x1400b7620
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, 0x6f8
movaps xmmword [rsp + 0x6e0], xmm6
mov dword [rsp + 0x84], r9d
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rcx
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x6d8], rax
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0x20], r12
movaps xmm6, xmmword [0x140301d60]
movups xmmword [rdx + 0x10], xmm6
mov qword [rsp + 0x90], rdx
movups xmmword [rdx], xmm6
mov al, byte [0x140342240]
mov byte [rsp + 0x83], al
test al, 0x19
jne 0x1400b76af
xor eax, eax
mov qword [rsp + 0xa0], rax
mov rbx, r12
mov rax, qword [rsp + 0x58]
mov rdi, qword [rax + 0x60]
jmp 0x1400b7765
lea rsi, [rsp + 0x140]
mov rcx, rsi
call fcn.14007a620
call qword [sym.imp.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, [0x140342240]
lea rbx, str.SequenceManagerImpl::SelectNextTask
mov cl, 0x58
mov qword [rsp + 0xa0], rdx
mov r8, rbx
xor r9d, r9d
call fcn.1401b9550
mov r12, rax
jmp 0x1400b76a1
xor r14d, r14d
xchg qword [rdi], r14
test r14, r14
je 0x1400b775e
tzcnt r15, r14
mov rsi, qword [rdi + r15*8 + 0x10]
test rsi, rsi
je 0x1400b7d93
mov eax, 1
lock xadd dword [rsi], eax
test eax, eax
jle 0x1400b7ad1
mov rcx, qword [rdi + r15*8 + 0x10]
mov rax, qword [rcx + 8]
call qword [case.0x140211850.0]
lock dec dword [rsi]
je 0x1400b8589
btc r14, r15
jmp 0x1400b7717
mov rdi, qword [rdi + 0x218]
test rdi, rdi
jne 0x1400b7711
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], rbx
mov r12b, byte [0x140342240]
test r12b, 0x19
jne 0x1400b7adb
xor esi, esi
movabs r14, 0xaaaaaaaaaaaaaaaa
mov rdi, r14
mov r15d, 1
mov rbx, qword [rsp + 0x58]
lock xadd qword [rbx + 0x20], r15
mov r13, qword [rbx + 0x3b8]
mov rcx, qword [r13 + 0x10]
cmp rcx, qword [r13 + 0x18]
jne 0x1400b7b3b
mov r13, qword [rbx + 0x3c0]
mov rcx, qword [r13 + 0x10]
cmp rcx, qword [r13 + 0x18]
jne 0x1400b7c32
test r12b, 0x19
jne 0x1400b7c78
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x1400b7c94
mov rax, qword [rsp + 0x58]
add rax, 0xfffffffffffffff8
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x140]
test rax, rax
je 0x1400b7aa8
lea rsi, [rcx + 0x238]
tzcnt rbp, rax
cmp dword [rsp + 0x84], 1
je 0x1400b7cc3
cmp dword [rcx + 0x328], 3
jge 0x1400b7d08
cmp ebp, 7
jae 0x1400b7cc0
mov rax, qword [rsp + 0x58]
lea rbx, [rax + 0x110]
mov r15, rbp
shl r15, 5
mov r14, qword [rsi + r15 + 0x10]
cmp r14, qword [rsi + r15 + 0x18]
je 0x1400b7dac
mov rdi, qword [r14 + 0x18]
mov rax, qword [0x1403428e0]
and rax, rdi
cmp rax, qword [0x1403428c8]
je 0x1400b859b
mov r13, qword [rbx + r15 + 0x48]
mov r12, rdi
cmp r13, qword [rbx + r15 + 0x50]
jne 0x1400b85a8
mov rax, qword [0x1403428e0]
and rax, rdi
cmp rax, qword [0x1403428c8]
je 0x1400b8608
cmp dword [r12 + 0x78], 1
je 0x1400b7deb
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x328], 0
test byte [0x140342250], 0x19
jne 0x1400b7b81
test r12, r12
je 0x1400b7ab0
cmp qword [r12 + 0x28], 0
je 0x1400b7a68
mov eax, dword [0x140355bd0]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x1400b7932
lea rcx, [0x140355bd0]
call fcn.14016f8b4
cmp dword [0x140355bd0], 0xffffffff
jne 0x1400b7932
mov qword [0x140355bc8], 8
lea rcx, [0x140355bd0]
call fcn.14016ef8c
mov rax, qword [0x140355bc8]
cmp rax, 4
je 0x1400b7da2
cmp rax, 0x18
je 0x1400b7e0f
cmp rax, 0x10
je 0x1400b7e20
mov r8d, 0x548
lea rsi, [rsp + 0x140]
mov rcx, rsi
mov dl, 0xaa
call fcn.140173760
mov qword [rsp + 0x688], rsi
mov qword [rsp + 0x6a8], rsi
mov byte [rsp + 0x680], 1
mov qword [rsp + 0x690], rsi
mov qword [rsp + 0x698], rsi
lea rax, [rsp + 0x680]
mov qword [rsp + 0x6a0], rax
cmp qword [r12 + 0x10], 0
je 0x1400b8615
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 r15, qword [rcx + 0x18]
imul rsi, r8, 0xa8
mov rcx, qword [r15 + rsi]
test rcx, rcx
je 0x1400b8eeb
mov rax, qword [rcx + 0x18]
lea rdx, [0x14020a2e0]
cmp rax, rdx
jne 0x1400b8628
cmp qword [r15 + rsi + 0xa0], 0
jne 0x1400b865d
mov r15, qword [rsp + 0x690]
mov r13, r15
cmp r15, qword [rsp + 0x698]
jne 0x1400b8686
test r13, r13
je 0x1400b867e
cmp r15, r13
jne 0x1400b871b
mov r13, r15
mov rcx, r15
mov qword [rsp + 0x698], r13
mov rax, qword [rsp + 0x6a8]
test rax, rax
je 0x1400b7ad4
cmp rax, rcx
jne 0x1400b7ad4
mov byte [rcx + 0x540], 0
cmp r13, r15
jne 0x1400b77fb
cmp qword [r12 + 0x10], 0
je 0x1400b7e19
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 0x1400b7e44
jmp 0x1400b7e35
xor r12d, r12d
jmp 0x1400b78c3
mov rax, qword [rsp + 0x90]
mov byte [rax], 0
xorpd xmm0, xmm0
movupd xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
jmp 0x1400b8473
int3
call fcn.14016eccc
jmp 0x1400b7a5f
lea rsi, [rsp + 0x140]
mov rcx, rsi
call fcn.14007a620
call qword [sym.imp.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 rsi, [0x140342240]
lea rdi, str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
mov cl, 0x58
mov rdx, rsi
mov r8, rdi
xor r9d, r9d
call fcn.1401b9550
mov r14, rax
jmp 0x1400b779a
cmp dword [rcx + 0x14], 1
jne 0x1400b8c2a
movabs rax, 0x7fffffffffffffff
mov rbx, qword [rcx]
mov rcx, qword [rcx + 8]
lea rdx, [rcx + rax]
add rdx, 2
cmp rdx, 2
jae 0x1400b92a0
cmp rbx, rcx
je 0x1400b9f7e
lea rbx, [rax + 1]
test rcx, rcx
cmovs rbx, rax
jmp 0x1400b8c2d
lea r14, [rsp + 0x118]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
mov rdx, r14
mov r8, r12
xor r9d, r9d
call fcn.140224cb0
lea rdi, [rsp + 0x6b0]
mov rcx, rdi
call fcn.14007a620
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rsi, [rsp + 0x140]
movaps xmmword [rsi], xmm6
movaps xmmword [rsi + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x20], rcx
mov word [rsi], 0x801
lea rcx, [0x14030331f]
mov qword [rsi + 8], rcx
mov rcx, qword [r14]
mov qword [rsi + 0x18], rcx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x48], 0x800
mov qword [rsp + 0x28], 0
lea rdx, [0x140342250]
lea r8, [0x1403123b0]
mov cl, 0x4f
xor r9d, r9d
call fcn.1401b9550
mov rcx, rsi
call fcn.140041948
jmp 0x1400b78d0
cmp dword [rcx + 0x14], 1
jne 0x1400b8d3e
movabs rax, 0x7fffffffffffffff
mov rbx, qword [rcx]
mov rcx, qword [rcx + 8]
lea rdx, [rcx + rax]
add rdx, 2
cmp rdx, 2
jae 0x1400b92b7
cmp rbx, rcx
je 0x1400b9f81
lea rbx, [rax + 1]
test rcx, rcx
cmovs rbx, rax
jmp 0x1400b8d41
cmp byte [rsi], 0
je 0x1400b77df
mov rcx, rsi
mov rdx, rdi
mov r8, r14
call fcn.1401b32b0
jmp 0x1400b77df
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx + 0x3d0]
jl 0x1400b77ed
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x3c8], 1
jmp 0x1400b77ed
int3
cmp bpl, 7
je 0x1400b7aa8
movzx r8d, bpl
bt rax, r8
jae 0x1400b7cf4
cmp bpl, 7
jae 0x1400b7d05
mov rcx, r8
shl rcx, 5
mov rdx, qword [rsi + rcx + 0x10]
cmp rdx, qword [rsi + rcx + 0x18]
jne 0x1400b95ec
inc bpl
xor r12d, r12d
cmp bpl, 7
jne 0x1400b7ccd
jmp 0x1400b78c3
int3
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x140], xmm6
cmp ebp, 7
jae 0x1400b7d90
lea rdi, [rsp + 0x148]
mov r13, rbp
shl r13, 5
mov rbx, qword [rsi + r13 + 0x10]
cmp rbx, qword [rsi + r13 + 0x18]
je 0x1400b91f4
mov r12, qword [rbx + 0x18]
mov rax, qword [0x1403428e0]
and rax, r12
cmp rax, qword [0x1403428c8]
je 0x1400b9631
mov eax, dword [rbx + 0x10]
lea rcx, [rsp + 0x140]
mov dword [rcx + 0x20], eax
movupd xmm0, xmmword [rbx]
movapd xmmword [rcx + 0x10], xmm0
mov byte [rcx], 1
mov qword [rcx + 8], r12
call fcn.140243d00
test r12, r12
jne 0x1400b78a8
jmp 0x1400b9211
int3
mov rax, qword [8]
xor ecx, ecx
jmp 0x1400b8590
mov rcx, r12
call fcn.140220900
jmp 0x1400b7e28
mov rax, qword [rbx + r15 + 0x48]
cmp rax, qword [rbx + r15 + 0x50]
je 0x1400b9298
mov r12, qword [rax + 0x18]
mov rax, qword [0x1403428e0]
and rax, r12
mov rcx, qword [0x1403428c8]
cmp rax, rcx
je 0x1400b963e
cmp rax, rcx
jne 0x1400b78a8
mov rcx, r12
jmp 0x1400b860b
shl rbp, 5
mov rax, qword [rsi + rbp + 0x10]
cmp rax, qword [rsi + rbp + 0x18]
je 0x1400b78b4
mov rax, qword [rsp + 0x58]
inc dword [rax + 0x328]
jmp 0x1400b78c3
mov rcx, r12
call fcn.140220ea0
jmp 0x1400b7e28
xor eax, eax
jmp 0x1400b7a96
mov rcx, r12
call fcn.140220c10
test al, al
je 0x1400b7a68
jmp 0x1400b77fb
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x70], 0
jg 0x1400b9a52
mov r15, qword [r12 + 0x30]
cmp qword [r15 + 0x180], 0
jne 0x1400b84b5
cmp qword [r15 + 0x188], 0
jne 0x1400b84b5
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x70], 0
jne 0x1400b8a21
mov dword [rsp + 0x84], 0
cmp qword [rax + 0x398], 0
jne 0x1400b84b5
mov dword [rsp + 0x68], 0
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x12a], xmm0
movupd xmmword [rsp + 0x11a], xmm0
lea rax, [rsp + 0x140]
movups xmmword [rax + 0x50], xmm6
mov rcx, qword [r12]
mov rdx, qword [rcx + 8]
mov r9, qword [rcx + 0x18]
inc rdx
xor r8d, r8d
cmp rdx, qword [rcx]
cmove rdx, r8
imul rcx, rdx, 0xa8
lea rdx, [r9 + rcx]
add rdx, 0x28
mov r13, qword [rdx - 0x28]
mov qword [rdx - 0x28], r8
movups xmm0, xmmword [rdx - 0x10]
movaps xmmword [rsp + 0xd0], xmm0
movupd xmm0, xmmword [rdx - 0x20]
movapd xmmword [rsp + 0xc0], 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
movzx ecx, word [rdx + 0x58]
mov word [rax + 0x58], cx
mov cl, byte [rdx + 0x5a]
mov byte [rax + 0x5a], cl
mov rax, qword [rdx + 0x60]
mov qword [rsp + 0x70], rax
mov qword [rdx + 0x60], r8
mov rax, qword [rdx + 0x68]
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x70]
mov qword [rsp + 0x88], rax
mov qword [rdx + 0x70], r8
mov r14, qword [rdx + 0x78]
mov rax, qword [r12]
mov rcx, qword [rax + 8]
mov rsi, qword [rax + 0x18]
inc rcx
cmp rcx, qword [rax]
cmove rcx, r8
mov qword [rax + 8], rcx
imul rbx, rcx, 0xa8
mov rcx, qword [rsi + rbx + 0x98]
test rcx, rcx
jne 0x1400b87c4
lea rdi, [rsi + rbx]
mov rsi, qword [rsi + rbx + 0x88]
test rsi, rsi
jne 0x1400b87d7
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400b883a
mov rax, qword [r12]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
jne 0x1400b7fc1
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x1400b8987
dec qword [r12 + 0x10]
jne 0x1400b8165
cmp dword [r12 + 0x78], 0
jne 0x1400b8159
mov rdi, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x1400b80a3
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe8], rax
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x1400b8b67
lea rsi, [rsp + 0x6b0]
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 0x1400b8bd0
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
mov qword [rsp + 0xe8], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400b80a3
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 0x1400b80a3
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400b808e
cmp rcx, r8
jb 0x1400b8bf7
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400b8a31
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
jne 0x1400b8a3e
mov rax, qword [rdi + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [rdi + 0x50]
cmp qword [rdi + 0xa8], 0
mov al, byte [rdi + 0x128]
jne 0x1400b814d
test al, al
je 0x1400b8b80
mov al, byte [rdi + 0x130]
xor al, 1
mov byte [rdi + 0x51], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
jne 0x1400b89b5
mov rcx, qword [r12 + 0x28]
mov rdx, r12
call fcn.140099810
test byte [0x140342240], 9
jne 0x1400b8852
mov r10, qword [rsp + 0x58]
mov r9, qword [r10 + 0x430]
mov rax, qword [r10 + 0x438]
mov rcx, rax
sub rcx, r9
sar rcx, 3
xor edx, edx
mov r8, rax
sub r8, r9
lea rcx, [rcx + r8*2 - 1]
cmovne rdx, rcx
mov rcx, qword [r10 + 0x450]
add rcx, qword [r10 + 0x448]
cmp rdx, rcx
jne 0x1400b81df
mov rsi, qword [rsp + 0x58]
lea rcx, [rsi + 0x428]
call fcn.1400ba280
mov r9, qword [rsi + 0x430]
mov rax, qword [rsi + 0x438]
cmp rax, r9
je 0x1400b8553
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x448]
add rcx, qword [rax + 0x450]
movabs r8, 0xf0f0f0f0f0f0f0f1
mov rax, rcx
mul r8
mov rax, rdx
shr rax, 4
mov r9, qword [r9 + rax*8]
and rdx, 0xfffffffffffffff0
add rdx, rax
sub rcx, rdx
imul rdx, rcx, 0xe8
mov r10, r9
add r10, rdx
je 0x1400b8553
mov qword [r10], r13
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movups xmmword [r10 + 0x18], xmm1
movups xmmword [r10 + 8], xmm0
lea rdi, [r10 + 0x28]
lea rax, [rsp + 0x140]
mov ecx, 0xa
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rax + 0x50]
mov dword [r10 + 0x78], ecx
mov al, byte [rax + 0x54]
lea rcx, [rsp + 0x198]
mov byte [r10 + 0x7c], al
mov al, byte [rcx + 2]
mov byte [r10 + 0x82], al
movzx eax, word [rcx]
mov word [r10 + 0x80], ax
mov rax, qword [rsp + 0x70]
mov qword [r10 + 0x88], rax
mov rax, qword [rsp + 0x78]
mov qword [r10 + 0x90], rax
mov rax, qword [rsp + 0x88]
mov qword [r10 + 0x98], rax
mov qword [r10 + 0xa0], r14
mov qword [r9 + rdx + 0xa8], r15
mov eax, dword [r15]
mov dword [r9 + rdx + 0xb0], eax
mov dword [r9 + rdx + 0xb8], 0
mov eax, dword [rsp + 0x84]
mov byte [r9 + rdx + 0xbc], al
mov eax, dword [rsp + 0x68]
mov byte [r9 + rdx + 0xbd], al
movzx eax, word [rsp + 0x138]
mov word [r9 + rdx + 0xde], ax
movups xmm0, xmmword [rsp + 0x118]
movups xmm1, xmmword [rsp + 0x128]
movups xmmword [r9 + rdx + 0xce], xmm1
movups xmmword [r9 + rdx + 0xbe], xmm0
mov rax, qword [r15 + 0xb8]
mov al, byte [rax + 0x38]
mov byte [r9 + rdx + 0xe0], al
movzx eax, byte [r10 + 0x82]
mov dword [r9 + rdx + 0xe4], eax
mov r10, qword [rsp + 0x58]
mov rcx, qword [r10 + 0x450]
inc rcx
mov qword [r10 + 0x450], rcx
add rcx, qword [r10 + 0x448]
mov r9, qword [r10 + 0x430]
mov rax, rcx
mul r8
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
sub rcx, rdx
mov rdx, qword [r9 + rax*8]
imul rcx, rcx, 0xe8
add rcx, rdx
xor edi, edi
cmp qword [r10 + 0x438], r9
cmovne rdi, rcx
cmp rdi, rdx
je 0x1400b8ab4
lea rsi, [rdi - 0xe8]
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
mov r8, qword [rsp + 0x50]
call fcn.1400ba580
mov rax, qword [rdi - 0x50]
test rax, rax
jne 0x1400b8ac3
mov r14d, dword [rdi - 0x38]
movzx r15d, byte [rdi - 8]
mov rax, qword [rdi - 0x40]
mov rdi, qword [rax + 0x190]
test rdi, rdi
jne 0x1400b8b03
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x1400b8b17
test rdi, rdi
jne 0x1400b8b24
shl r14, 0x20
or r14, r15
mov rbx, qword [rsp + 0x90]
mov byte [rbx], 1
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x1400b8b57
mov qword [rbx + 8], rsi
test rsi, rsi
je 0x1400b8b64
mov qword [rbx + 0x10], 0
test rdi, rdi
jne 0x1400b8b87
mov qword [rbx + 0x18], r14
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x1400b8bc3
test byte [rsp + 0x83], 0x19
jne 0x1400b8556
mov rcx, qword [rsp + 0x6d8]
xor rcx, rsp
call fcn.140171860
mov rax, qword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0x6e0]
add rsp, 0x6f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x58]
movsd xmm0, qword [rax + 0x48]
mov al, 1
mov dword [rsp + 0x84], eax
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x1400b7e8d
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0xf0], 0
je 0x1400ba276
mov r8, qword [rsp + 0x58]
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 [0x140309c20]
ucomisd xmm0, xmm1
seta al
mov dword [rsp + 0x68], eax
mov r15, qword [r12 + 0x30]
jmp 0x1400b7e95
int3
mov rax, qword [rsp + 0xa0]
cmp byte [rax], 0
je 0x1400b8481
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
call fcn.1401b32b0
jmp 0x1400b8481
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [case.0x140211850.0]
jmp 0x1400b7758
mov rcx, rdi
call fcn.140156f20
jmp 0x1400b787e
mov r12, qword [r14]
mov r15, qword [r14 + 8]
mov ebx, dword [r14 + 0x10]
mov r14, qword [r13 + 0x18]
mov rax, qword [0x1403428e0]
and rax, r14
cmp rax, qword [0x1403428c8]
je 0x1400b958e
cmp r12, qword [r13]
je 0x1400b9f66
setb al
test al, al
mov r12, r14
cmovne r12, rdi
mov rax, qword [0x1403428e0]
and rax, r14
cmp rax, qword [0x1403428c8]
jne 0x1400b7891
mov rcx, r14
call fcn.1401571d0
jmp 0x1400b7891
mov rcx, rdi
call fcn.1401571d0
jmp 0x1400b78a8
lea rcx, [rsp + 0x140]
mov r15, rcx
mov r13, rcx
jmp 0x1400b7a3a
lea rdx, [0x14009e1c0]
cmp rax, rdx
je 0x1400b8ebe
lea rdx, [0x14008a410]
cmp rax, rdx
je 0x1400b8ebe
xor edx, edx
call qword [case.0x140211850.0]
test al, al
je 0x1400b79fa
jmp 0x1400b8ed9
mov rax, qword [r15 + rsi + 0x98]
test rax, rax
je 0x1400b8ed9
mov al, byte [rax + 4]
test al, al
je 0x1400b7a09
jmp 0x1400b8ed9
xor r13d, r13d
jmp 0x1400b7a5f
cmp qword [r12 + 0x10], 0
jne 0x1400b9557
movabs r15, 0x8637bd05af7
cmp dword [r12 + 0x78], 0
jne 0x1400b947b
mov r13, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x1400b93c0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x118], rax
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x1400b9d9b
lea rsi, [rsp + 0x6b0]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, r15
jge 0x1400b934b
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1400b936d
mov rdi, r15
mov rcx, qword [rdi - 0x10]
test rcx, rcx
jne 0x1400b874e
mov rsi, qword [rdi - 0x20]
test rsi, rsi
jne 0x1400b8758
mov rcx, qword [rdi - 0xa8]
add rdi, 0xffffffffffffff58
test rcx, rcx
jne 0x1400b9619
cmp rdi, r13
je 0x1400b87b7
jmp 0x1400b871e
lock dec dword [rcx]
jne 0x1400b8727
jmp 0x1400b968b
lock dec dword [rsi + 8]
jne 0x1400b8730
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401c4710]
cmp qword [rcx + 0x10], rdx
jne 0x1400b9c93
lea rcx, [0x1401c4730]
cmp rax, rcx
jne 0x1400b9c93
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400b8798
lock dec dword [rcx]
je 0x1400b9f5c
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x1400b87aa
lock dec dword [rbx]
je 0x1400b9d43
mov rcx, rsi
call fcn.14016eccc
jmp 0x1400b8730
mov rcx, qword [rsp + 0x690]
jmp 0x1400b7a3a
lock dec dword [rcx]
jne 0x1400b7f85
call fcn.14016eccc
jmp 0x1400b7f85
lock dec dword [rsi + 8]
jne 0x1400b7f9a
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401c4710]
cmp qword [rcx + 0x10], rdx
jne 0x1400b9bdc
lea rcx, [0x1401c4730]
cmp rax, rcx
jne 0x1400b9bdc
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400b881b
lock dec dword [rcx]
je 0x1400b9d78
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x1400b882d
lock dec dword [rbx]
je 0x1400b9d0c
mov rcx, rsi
call fcn.14016eccc
jmp 0x1400b7f9a
lock dec dword [rcx]
jne 0x1400b7fa6
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
jmp 0x1400b7fa6
mov rdi, qword [r12 + 0x30]
mov rax, qword [rdi + 0x10]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400b817f
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400b9d21
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0xa8], rax
mov rax, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0xb8]
mov rbx, qword [rcx + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x98], rax
mov rbp, qword [rdi + 0xd0]
mov r12, qword [rdi + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x140342240], 0x19
je 0x1400b817f
sub rbp, r12
shr rbp, 3
imul eax, ebp, 0x3cf3cf3d
mov rcx, rbx
add ecx, dword [rsp + 0xa8]
mov rbx, qword [rsp + 0x98]
add ebx, eax
add ebx, ecx
mov ecx, dword [rdi]
call fcn.1400b64f0
mov rsi, rax
lea r12, [rsp + 0xe8]
mov rcx, r12
call fcn.14007a620
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rdi, [rsp + 0x6b0]
movaps xmmword [rdi], xmm6
movaps xmmword [rdi + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x20], rcx
mov word [rdi], 0x301
lea rcx, [0x140303385]
mov qword [rdi + 8], rcx
movsxd rcx, ebx
mov qword [rdi + 0x18], rcx
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x140342240]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.1401b9550
mov rcx, rdi
call fcn.140041948
jmp 0x1400b817f
mov qword [rax + 0x20], 0
mov rsi, qword [r12]
mov qword [r12], rcx
test rsi, rsi
je 0x1400b7fc1
mov rcx, rsi
call fcn.140065570
mov rcx, rsi
call fcn.14016eccc
jmp 0x1400b7fc1
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe8], rax
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x1400b9d58
lea rsi, [rsp + 0x6b0]
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 0x1400b9144
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1400b9166
mov dword [rsp + 0x84], 0
jmp 0x1400b7e8d
mov rcx, rsi
call fcn.140047ff0
jmp 0x1400b80b8
lea rbx, [rsp + 0x100]
movaps xmmword [rbx], xmm6
mov rdx, qword [r12]
mov rcx, rbx
call fcn.140221e30
mov rax, qword [rbx]
test rax, rax
je 0x1400b92ce
lea rbp, [rsp + 0x100]
xor ebx, ebx
cmp byte [rdi + 0x158], 0
je 0x1400ba04d
imul rdx, qword [rsp + 0x108], 0xa8
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + rdx + 0x28]
cmp rax, qword [rdi + 0x160]
jge 0x1400b9055
mov rcx, rbp
call fcn.14016e920
mov rax, qword [rsp + 0x100]
test rax, rax
jne 0x1400b8a6b
jmp 0x1400b9120
mov edi, 0xf68
add rdi, qword [r9 + rax*8 - 8]
jmp 0x1400b83ae
mov al, byte [rax + 4]
test al, al
jne 0x1400b83d4
cmp qword [rdi - 0x48], 0
je 0x1400b83d4
mov rax, qword [rdi - 0x50]
test rax, rax
je 0x1400b9f84
mov al, byte [rax + 4]
test al, al
jne 0x1400b9f84
mov rcx, qword [rdi - 0x48]
add rcx, 0x18
call fcn.140071b50
jmp 0x1400b83d4
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jg 0x1400b83f1
int3
mov rcx, rsi
call fcn.140156f20
jmp 0x1400b8408
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x1400b9f78
shl r14, 0x20
or r14, r15
lock dec dword [rdi]
jne 0x1400b8418
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [case.0x140211850.0]
jmp 0x1400b8418
mov rcx, rsi
call fcn.140156f20
jmp 0x1400b843a
int3
lea rsi, [rsp + 0xe8]
mov rcx, rsi
call qword [case.0x140211850.0]
mov rax, qword [rsi]
jmp 0x1400b8058
xor eax, eax
jmp 0x1400b814d
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x1400b9f7b
mov rax, qword [rsp + 0x90]
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r14
lock dec dword [rdi]
jne 0x1400b845c
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [case.0x140211850.0]
jmp 0x1400b845c
mov rcx, rsi
call fcn.1401571d0
jmp 0x1400b8473
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400b8050
mov rcx, r12
call fcn.140109380
mov rax, qword [rsp + 0xe8]
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 0x1400b80a3
mov rbx, qword [rcx]
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
je 0x1400b8e48
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
cmp rbx, rax
mov rbx, qword [rsp + 0x58]
jg 0x1400b77c0
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400ba16f
mov rcx, qword [rax + 0x18]
mov rdx, qword [rsp + 0x50]
mov r8, r15
call fcn.14016a360
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
mov rbx, qword [rsp + 0x58]
je 0x1400b77c0
movabs rbp, 0x7fffffffffffffff
lea rcx, [rbp + 1]
mov qword [rsp + 0x60], rcx
cmp dword [rax + 0x14], 1
jne 0x1400b8cc9
mov rbx, qword [rax]
mov rax, qword [rax + 8]
lea rcx, [rax + rbp]
add rcx, 2
cmp rcx, 2
jae 0x1400b8d2a
cmp rbx, rax
je 0x1400b9f87
test rax, rax
mov rbx, qword [rsp + 0x60]
cmovs rbx, rbp
jmp 0x1400b8ccc
mov rbx, qword [rax]
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
je 0x1400b8cf5
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
cmp rbx, rax
jg 0x1400b9695
jmp 0x1400b9f8a
mov rax, qword [fcn.14007a620]
lea rcx, [rsp + 0x140]
call qword [case.0x140211850.0]
mov rcx, qword [rsp + 0x50]
cmp byte [rcx], 0
mov rax, qword [rsp + 0x140]
mov qword [rcx + 8], rax
jne 0x1400b8cdf
mov rcx, qword [rsp + 0x50]
mov byte [rcx], 1
jmp 0x1400b8cdf
xor ecx, ecx
cmp rbx, rax
setns cl
add rcx, rbp
sub rbx, rax
cmovo rbx, rcx
jmp 0x1400b8ccc
mov rbx, qword [rcx]
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
je 0x1400b8e83
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
cmp rbx, rax
jg 0x1400b77d5
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400ba172
mov rcx, qword [rax + 0x18]
mov rdx, qword [rsp + 0x50]
mov r8, r15
call fcn.14016a360
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400b77d5
movabs rbx, 0x7fffffffffffffff
lea rcx, [rbx + 1]
mov qword [rsp + 0x60], rcx
cmp dword [rax + 0x14], 1
jne 0x1400b8dd3
mov rbp, qword [rax]
mov rax, qword [rax + 8]
lea rcx, [rax + rbx]
add rcx, 2
cmp rcx, 2
jae 0x1400b8e34
cmp rbp, rax
je 0x1400b9fbc
test rax, rax
mov rbp, qword [rsp + 0x60]
cmovs rbp, rbx
jmp 0x1400b8dd6
mov rbp, qword [rax]
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
je 0x1400b8dff
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
cmp rbp, rax
jg 0x1400b9876
jmp 0x1400b9fbf
mov rax, qword [fcn.14007a620]
lea rcx, [rsp + 0x140]
call qword [case.0x140211850.0]
mov rcx, qword [rsp + 0x50]
cmp byte [rcx], 0
mov rax, qword [rsp + 0x140]
mov qword [rcx + 8], rax
jne 0x1400b8de9
mov rcx, qword [rsp + 0x50]
mov byte [rcx], 1
jmp 0x1400b8de9
xor ecx, ecx
cmp rbp, rax
setns cl
add rcx, rbx
sub rbp, rax
cmovo rbp, rcx
jmp 0x1400b8dd6
mov rax, qword [fcn.14007a620]
lea rbp, [rsp + 0x140]
mov rcx, rbp
call qword [case.0x140211850.0]
mov rcx, qword [rsp + 0x50]
cmp byte [rcx], 0
mov rax, qword [rbp]
mov qword [rcx + 8], rax
jne 0x1400b8c44
mov rcx, qword [rsp + 0x50]
mov byte [rcx], 1
jmp 0x1400b8c44
mov rax, qword [fcn.14007a620]
lea rbp, [rsp + 0x140]
mov rcx, rbp
call qword [case.0x140211850.0]
mov rcx, qword [rsp + 0x50]
cmp byte [rcx], 0
mov rax, qword [rbp]
mov qword [rcx + 8], rax
jne 0x1400b8d58
mov rcx, qword [rsp + 0x50]
mov byte [rcx], 1
jmp 0x1400b8d58
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x1400b8ed9
mov al, byte [rax + 4]
test al, al
jne 0x1400b8ed9
cmp qword [rcx + 0x30], 0
jne 0x1400b79fa
mov rax, qword [r12]
mov r15, qword [rax + 0x18]
mov rdx, qword [rax]
mov rax, qword [rax + 8]
inc rax
xor ecx, ecx
cmp rax, rdx
cmovne rcx, rax
imul r8, rcx, 0xa8
lea rdx, [r15 + r8]
mov rax, qword [rsp + 0x698]
cmp rax, qword [rsp + 0x6a0]
jae 0x1400b9679
test rax, rax
je 0x1400b9052
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 [r15 + r8 + 0x82]
mov byte [rax + 0x82], cl
movzx ecx, word [r15 + r8 + 0x80]
mov word [rax + 0x80], cx
mov rcx, qword [r15 + r8 + 0x88]
mov qword [rax + 0x88], rcx
mov qword [r15 + r8 + 0x88], r9
mov rcx, qword [r15 + r8 + 0x90]
mov qword [rax + 0x90], rcx
mov rcx, qword [r15 + r8 + 0x98]
mov qword [rax + 0x98], rcx
mov qword [r15 + r8 + 0x98], r9
mov rcx, qword [r15 + r8 + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [rsp + 0x698], rax
mov rax, qword [r12]
mov rcx, qword [rax + 8]
mov rsi, qword [rax + 0x18]
inc rcx
xor edx, edx
cmp rcx, qword [rax]
cmovne rdx, rcx
mov qword [rax + 8], rdx
imul rdi, rdx, 0xa8
mov rcx, qword [rsi + rdi + 0x98]
test rcx, rcx
jne 0x1400b92d5
lea r15, [rsi + rdi]
mov rsi, qword [rsi + rdi + 0x88]
test rsi, rsi
jne 0x1400b92e8
mov rcx, qword [r15]
test rcx, rcx
jne 0x1400b95d4
mov rax, qword [r12]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
jne 0x1400b9042
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x1400b9a24
dec qword [r12 + 0x10]
jne 0x1400b79b3
jmp 0x1400b7a09
int3
add rcx, rdx
mov byte [rdi + 0x158], 0
lea rbx, [rsp + 0xe8]
mov rdx, rbx
call fcn.1400d6ac0
lea rcx, [rsp + 0x6b0]
mov rdx, rbx
call fcn.14023ebc0
lea rbx, [rdi + 0x138]
cmp byte [rdi + 0x130], 0
je 0x1400b959b
lea rdx, [rsp + 0x6b0]
mov rcx, rbx
call fcn.140079100
lea rcx, [rsp + 0x6b0]
call fcn.1401b18a0
cmp byte [rdi + 0x130], 0
je 0x1400ba276
mov rbp, qword [rdi + 0xb8]
lea rcx, [rsp + 0x6b0]
mov rdx, rbx
call fcn.14023ebc0
mov rcx, rbp
lea rdx, [rsp + 0x6b0]
call fcn.1402212a0
cmp byte [rdi + 0x130], 0
je 0x1400ba276
mov rbp, qword [rdi + 0xb0]
lea rcx, [rsp + 0xe8]
mov rdx, rbx
call fcn.14023ebc0
mov rcx, rbp
lea rdx, [rsp + 0xe8]
call fcn.1402212a0
mov rbx, qword [rsp + 0x100]
mov rax, qword [0x1403428e0]
and rax, rbx
cmp rax, qword [0x1403428c8]
jne 0x1400b811d
mov rcx, rbx
call fcn.1401571d0
jmp 0x1400b811d
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0xe8], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400b8165
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 0x1400b8165
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400b91ac
cmp rcx, r8
jae 0x1400b8165
mov rcx, r12
call fcn.140109380
mov rax, qword [rsp + 0xe8]
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 0x1400b8165
lea rcx, [rsp + 0x140]
mov byte [rcx], 0
xorpd xmm0, xmm0
movupd xmmword [rdi + 0x10], xmm0
movupd xmmword [rdi], xmm0
call fcn.140243d00
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x140], xmm6
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax + r13 + 0x158]
cmp rbx, qword [rax + r13 + 0x160]
je 0x1400b95b7
mov r12, qword [rbx + 0x18]
mov rax, qword [0x1403428e0]
and rax, r12
cmp rax, qword [0x1403428c8]
je 0x1400b966c
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x160], eax
movupd xmm0, xmmword [rbx]
movapd xmmword [rsp + 0x150], xmm0
mov byte [rsp + 0x140], 1
mov qword [rsp + 0x148], r12
lea rcx, [rsp + 0x140]
call fcn.140243d00
jmp 0x1400b78a8
xor r12d, r12d
jmp 0x1400b78a8
xor edx, edx
cmp rbx, rcx
setns dl
add rdx, rax
sub rbx, rcx
cmovo rbx, rdx
jmp 0x1400b8c2d
xor edx, edx
cmp rbx, rcx
setns dl
add rdx, rax
sub rbx, rcx
cmovo rbx, rdx
jmp 0x1400b8d41
xor ebx, ebx
jmp 0x1400b9120
lock dec dword [rcx]
jne 0x1400b9006
call fcn.14016eccc
jmp 0x1400b9006
lock dec dword [rsi + 8]
jne 0x1400b901b
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401c4710]
cmp qword [rcx + 0x10], rdx
jne 0x1400b9c80
lea rcx, [0x1401c4730]
cmp rax, rcx
jne 0x1400b9c80
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400b932c
lock dec dword [rcx]
je 0x1400b9f52
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x1400b933e
lock dec dword [rdi]
je 0x1400b9d2e
mov rcx, rsi
call fcn.14016eccc
jmp 0x1400b901b
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0x118], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400b93c0
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 0x1400b93c0
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400b93ab
cmp rcx, r8
jb 0x1400b9cd9
lea rsi, [r13 + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400b9c73
mov rax, qword [r12]
mov rcx, qword [r13 + 0x28]
mov qword [r12], rcx
mov qword [r13 + 0x28], rax
mov rax, qword [r12 + 8]
mov rcx, qword [r13 + 0x30]
mov qword [r12 + 8], rcx
mov qword [r13 + 0x30], rax
mov rax, qword [r12 + 0x10]
mov rcx, qword [r13 + 0x38]
mov qword [r12 + 0x10], rcx
mov qword [r13 + 0x38], rax
mov rax, qword [r12 + 0x18]
mov rcx, qword [r13 + 0x40]
mov qword [r12 + 0x18], rcx
mov qword [r13 + 0x40], rax
mov rax, qword [r12 + 0x20]
mov rcx, qword [r13 + 0x48]
mov qword [r12 + 0x20], rcx
mov qword [r13 + 0x48], rax
cmp byte [r13 + 0x158], 0
jne 0x1400b9fec
mov rax, qword [r13 + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [r13 + 0x50]
cmp qword [r13 + 0xa8], 0
mov al, byte [r13 + 0x128]
jne 0x1400b946e
test al, al
je 0x1400b9d71
mov al, byte [r13 + 0x130]
xor al, 1
mov byte [r13 + 0x51], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
je 0x1400b9557
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x118], rax
mov rax, qword [0x1403411f8]
lea rcx, [0x14003b7a0]
cmp rax, rcx
jne 0x1400b9d82
lea rsi, [rsp + 0x6b0]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, r15
jge 0x1400b94e2
imul rax, rax, 0xf4240
cqo
idiv qword [0x140354790]
jmp 0x1400b9504
mov rcx, qword [0x140354790]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
mov qword [rsp + 0x118], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400b9557
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 0x1400b9557
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400b9542
cmp rcx, r8
jb 0x1400b9ca6
cmp qword [r12 + 0x40], 0xffffffffffffffff
je 0x1400b956c
mov rcx, qword [r12 + 0x28]
mov rdx, r12
call fcn.14008a8c0
test byte [0x140342240], 9
jne 0x1400ba052
mov r13, qword [rsp + 0x690]
mov r15, qword [rsp + 0x698]
jmp 0x1400b7a22
mov rcx, r14
call fcn.140156f20
jmp 0x1400b85ce
lea rdx, [rsp + 0x6b0]
mov rcx, rbx
call fcn.14023ebc0
mov byte [rdi + 0x130], 1
jmp 0x1400b90a3
mov byte [rsp + 0x140], 0
xorpd xmm0, xmm0
movupd xmmword [rdi + 0x10], xmm0
movupd xmmword [rdi], xmm0
xor r12d, r12d
jmp 0x1400b9286
lock dec dword [rcx]
jne 0x1400b9027
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
jmp 0x1400b9027
lea rdi, [rsp + 0x140]
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov rcx, rsi
mov rdx, rdi
call fcn.1401406c0
cmp byte [rdi], 0
je 0x1400b965c
mov r12, qword [rsp + 0x148]
jmp 0x1400b965f
lock dec dword [rcx]
jne 0x1400b8747
mov rax, qword [rcx + 0x10]
call qword [case.0x140211850.0]
jmp 0x1400b8747
mov rcx, r12
call fcn.140156f20
jmp 0x1400b7d5f
mov rcx, r12
call fcn.140156f20
mov rcx, qword [0x1403428c8]
mov rax, qword [0x1403428e0]
and rax, r12
jmp 0x1400b7dda
xor r12d, r12d
mov rcx, rdi
call fcn.140243d00
jmp 0x1400b78c3
mov rcx, r12
call fcn.140156f20
jmp 0x1400b925f
lea rcx, [rsp + 0x690]
call fcn.140094390
jmp 0x1400b8fd2
call fcn.14016eccc
jmp 0x1400b8727
cmp rcx, rdx
mov rbx, qword [rsp + 0x58]
je 0x1400b77c0
mov rbp, qword [rcx + 0x18]
mov eax, 0xaaaaaaaa
mov dword [rsp + 0x11b], eax
mov dword [rsp + 0x118], eax
mov rax, qword [rbp + 0xc8]
cmp rax, qword [rbp + 0xd0]
je 0x1400b9c21
cmp byte [rbp + 0x128], 0
je 0x1400b9c21
mov dword [rsp + 0x70], 0
cmp dword [rbp + 0xe0], 0
jne 0x1400b9bef
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x78], rcx
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x88], eax
mov al, 1
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0xa8]
test rax, rax
jne 0x1400b9db4
movabs r8, 0xaaaaaaaaaaaaaaaa
mov cl, byte [rbp + 0x198]
cmp byte [rsp + 0x60], 0
je 0x1400b9baa
test cl, cl
je 0x1400b9baa
mov rcx, qword [rsp + 0x68]
cmp qword [rbp + 0x1a0], rcx
jne 0x1400b9781
mov rcx, qword [rsp + 0x78]
cmp qword [rbp + 0x1a8], rcx
jne 0x1400b9781
mov ecx, dword [rsp + 0x70]
cmp dword [rbp + 0x1b0], ecx
jne 0x1400b9781
mov eax, dword [rsp + 0x88]
cmp dword [rbp + 0x1b4], eax
je 0x1400b9837
mov rbx, qword [rsp + 0x60]
mov byte [rbp + 0x198], bl
mov ecx, dword [rsp + 0x118]
mov edx, dword [rsp + 0x11b]
mov dword [rbp + 0x199], ecx
mov dword [rbp + 0x19c], edx
mov r11, qword [rsp + 0x68]
mov qword [rbp + 0x1a0], r11
mov rax, qword [rsp + 0x78]
mov qword [rbp + 0x1a8], rax
mov r10d, dword [rsp + 0x70]
mov dword [rbp + 0x1b0], r10d
mov edx, dword [rsp + 0x88]
mov dword [rbp + 0x1b4], edx
mov qword [rbp + 0x1b8], r8
mov rcx, qword [rbp + 0xa0]
mov qword [rsp + 0x98], rcx
lea r9, [rsp + 0x140]
mov byte [r9], bl
mov ebx, dword [rsp + 0x118]
mov ecx, dword [rsp + 0x11b]
mov dword [r9 + 1], ebx
mov dword [r9 + 4], ecx
mov qword [r9 + 8], r11
mov qword [r9 + 0x10], rax
mov dword [r9 + 0x18], r10d
mov dword [r9 + 0x1c], edx
mov qword [r9 + 0x20], r8
mov rcx, qword [rsp + 0x98]
mov rdx, rbp
mov r8, qword [rsp + 0x50]
call fcn.14010a060
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
mov rbx, qword [rsp + 0x58]
je 0x1400b77c0
mov rcx, rbp
mov rbp, qword [rax + 0x18]
cmp rcx, rbp
je 0x1400b77c0
mov rcx, rbp
mov rdx, qword [rsp + 0x50]
call fcn.1400775f0
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
jne 0x1400b984a
jmp 0x1400b77c0
cmp rcx, rdx
je 0x1400b77d5
mov r15, qword [rcx + 0x18]
mov eax, 0xaaaaaaaa
mov dword [rsp + 0x11b], eax
mov dword [rsp + 0x118], eax
mov rax, qword [r15 + 0xc8]
cmp rax, qword [r15 + 0xd0]
je 0x1400b9c4e
cmp byte [r15 + 0x128], 0
je 0x1400b9c4e
mov dword [rsp + 0x68], 0
cmp dword [r15 + 0xe0], 0
jne 0x1400b9c08
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x70], rcx
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x78], eax
mov bpl, 1
mov rax, qword [r15 + 0xa8]
test rax, rax
jne 0x1400b9e8a
movabs r8, 0xaaaaaaaaaaaaaaaa
mov cl, byte [r15 + 0x198]
test bpl, bpl
je 0x1400b9bc4
test cl, cl
je 0x1400b9bc4
mov rcx, qword [rsp + 0x60]
cmp qword [r15 + 0x1a0], rcx
jne 0x1400b9956
mov rcx, qword [rsp + 0x70]
cmp qword [r15 + 0x1a8], rcx
jne 0x1400b9956
mov eax, dword [rsp + 0x68]
cmp dword [r15 + 0x1b0], eax
jne 0x1400b9956
mov ecx, dword [rsp + 0x78]
cmp dword [r15 + 0x1b4], ecx
je 0x1400b99f7
mov byte [r15 + 0x198], bpl
mov ecx, dword [rsp + 0x118]
mov edx, dword [rsp + 0x11b]
mov dword [r15 + 0x199], ecx
mov dword [r15 + 0x19c], edx
mov r10, qword [rsp + 0x60]
mov qword [r15 + 0x1a0], r10
mov r11, qword [rsp + 0x70]
mov qword [r15 + 0x1a8], r11
mov eax, dword [rsp + 0x68]
mov dword [r15 + 0x1b0], eax
mov ebx, dword [rsp + 0x78]
mov dword [r15 + 0x1b4], ebx
mov qword [r15 + 0x1b8], r8
mov rcx, qword [r15 + 0xa0]
lea r9, [rsp + 0x140]
mov byte [r9], bpl
mov edx, dword [rsp + 0x118]
mov ebp, dword [rsp + 0x11b]
mov dword [r9 + 1], edx
mov dword [r9 + 4], ebp
mov qword [r9 + 8], r10
mov qword [r9 + 0x10], r11
mov dword [r9 + 0x18], eax
mov dword [r9 + 0x1c], ebx
mov qword [r9 + 0x20], r8
mov rdx, r15
mov r8, qword [rsp + 0x50]
call fcn.14010a060
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400b77d5
mov rcx, r15
mov r15, qword [rax + 0x18]
cmp rcx, r15
je 0x1400b77d5
mov rcx, r15
mov rdx, qword [rsp + 0x50]
call fcn.1400775f0
jmp 0x1400b99f7
mov qword [rax + 0x20], 0
mov rsi, qword [r12]
mov qword [r12], rcx
test rsi, rsi
je 0x1400b9042
mov rcx, rsi
call fcn.140065570
mov rcx, rsi
call fcn.14016eccc
jmp 0x1400b9042
mov rbx, qword [rsp + 0x58]
lea rsi, [rbx + 0x78]
lea rdi, [rsp + 0x140]
mov r8d, 0xb8
mov rcx, rdi
mov dl, 0xaa
call fcn.140173760
mov rcx, r12
mov rdx, rdi
call fcn.14011ec70
mov rax, qword [r12 + 0x30]
mov qword [rdi + 0xa8], rax
mov eax, dword [r12 + 0x78]
mov dword [rdi + 0xb0], eax
mov rcx, rsi
call fcn.14011b1c0
mov rax, qword [rbx + 0x90]
cmp qword [rbx + 0x80], rax
jb 0x1400b9ba7
lea r9, [rsp + 0x1e8]
lea rdx, [rsp + 0x168]
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
cmovne r8, r9
mov qword [r10 + 0x90], r8
test r8, r8
cmove r9, rax
dec r9
cmp rax, r9
jb 0x1400b9ba4
lea rcx, [rsp + 0x140]
call fcn.140074690
jmp 0x1400b77fb
int3
int3
cmp byte [rsp + 0x60], 0
setne dl
test cl, cl
setne cl
cmp dl, cl
je 0x1400b9837
jmp 0x1400b9781
test bpl, bpl
setne dl
test cl, cl
setne cl
cmp dl, cl
je 0x1400b99f7
jmp 0x1400b9956
mov rcx, rsi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1400b7f9a
mov rcx, qword [rbp + 0xb8]
xor edx, edx
cmp byte [rcx + 0x38], 5
setb dl
mov dword [rsp + 0x70], edx
jmp 0x1400b96f0
mov rcx, qword [r15 + 0xb8]
xor edx, edx
cmp byte [rcx + 0x38], 5
setb dl
mov dword [rsp + 0x68], edx
jmp 0x1400b98ce
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x88], 0
jmp 0x1400b9713
xor ebp, ebp
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x78], 0
jmp 0x1400b98ea
mov rcx, rsi
call fcn.140047ff0
jmp 0x1400b93d5
mov rcx, rsi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1400b901b
mov rcx, rsi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1400b8730
mov rcx, r12
call fcn.140109380
mov rax, qword [rsp + 0x118]
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 0x1400b9557
mov rcx, r12
call fcn.140109380
mov rax, qword [rsp + 0x118]
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 0x1400b93c0
mov rcx, rbx
call fcn.1400b6510
mov rcx, rbx
call fcn.14016eccc
jmp 0x1400b882d
mov rcx, rsi
call fcn.140047ff0
jmp 0x1400b8881
mov rcx, rdi
call fcn.1400b6510
mov rcx, rdi
call fcn.14016eccc
jmp 0x1400b933e
mov rcx, rbx
call fcn.1400b6510
mov rcx, rbx
call fcn.14016eccc
jmp 0x1400b87aa
lea rsi, [rsp + 0xe8]
mov rcx, rsi
call qword [case.0x140211850.0]
mov rax, qword [rsi]
jmp 0x1400b916e
xor eax, eax
jmp 0x1400b946e
call fcn.14016eccc
jmp 0x1400b881b
lea rsi, [rsp + 0x118]
mov rcx, rsi
call qword [case.0x140211850.0]
mov rax, qword [rsi]
jmp 0x1400b950c
lea rsi, [rsp + 0x118]
mov rcx, rsi
call qword [case.0x140211850.0]
mov rax, qword [rsi]
jmp 0x1400b9375
cmp byte [rbp + 0x128], 0
je 0x1400b9723
mov rbx, rax
mov rcx, rbp
call fcn.140106c30
lea r9, [rsp + 0x6b0]
mov rcx, qword [rsp + 0x60]
mov byte [r9], cl
mov ecx, 0xaaaaaaaa
mov dword [r9 + 1], ecx
mov dword [r9 + 4], ecx
mov rcx, qword [rsp + 0x68]
mov qword [r9 + 8], rcx
mov rcx, qword [rsp + 0x78]
mov qword [r9 + 0x10], rcx
mov ecx, dword [rsp + 0x70]
mov dword [r9 + 0x18], ecx
mov ecx, dword [rsp + 0x88]
mov dword [r9 + 0x1c], ecx
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [r9 + 0x20], rcx
mov rcx, rbx
mov rdx, qword [rbx]
mov r10, qword [rdx + 0x10]
mov byte [rsp + 0x20], al
lea rbx, [rsp + 0x140]
mov rdx, rbx
mov r8, qword [rsp + 0x50]
mov rax, r10
call qword [case.0x140211850.0]
mov al, byte [rbx]
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 1]
mov dword [rsp + 0x118], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0x11b], eax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x78], rax
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsp + 0x88], eax
mov r8, qword [rbx + 0x20]
jmp 0x1400b972d
cmp byte [r15 + 0x128], 0
je 0x1400b98fa
mov rbx, rax
mov rcx, r15
call fcn.140106c30
lea r9, [rsp + 0x6b0]
mov byte [r9], bpl
mov ecx, 0xaaaaaaaa
mov dword [r9 + 1], ecx
mov dword [r9 + 4], ecx
mov rcx, qword [rsp + 0x60]
mov qword [r9 + 8], rcx
mov rcx, qword [rsp + 0x70]
mov qword [r9 + 0x10], rcx
mov ecx, dword [rsp + 0x68]
mov dword [r9 + 0x18], ecx
mov ecx, dword [rsp + 0x78]
mov dword [r9 + 0x1c], ecx
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [r9 + 0x20], rcx
mov rcx, rbx
mov rdx, qword [rbx]
mov r10, qword [rdx + 0x10]
mov byte [rsp + 0x20], al
lea rbx, [rsp + 0x140]
mov rdx, rbx
mov r8, qword [rsp + 0x50]
mov rax, r10
call qword [case.0x140211850.0]
mov bpl, byte [rbx]
mov eax, dword [rbx + 1]
mov dword [rsp + 0x118], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0x11b], eax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x70], rax
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0x1c]
mov dword [rsp + 0x78], eax
mov r8, qword [rbx + 0x20]
jmp 0x1400b9904
call fcn.14016eccc
jmp 0x1400b932c
call fcn.14016eccc
jmp 0x1400b8798
cmp r15, qword [r13 + 8]
jne 0x1400b9f70
cmp ebx, dword [r13 + 0x10]
setl al
jmp 0x1400b85db
int3
int3
int3
int3
int3
int3
cmp rcx, rdx
je 0x1400ba16f
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rsp + 0x50]
mov r8, r15
call fcn.14016a360
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
mov rbx, qword [rsp + 0x58]
je 0x1400b77c0
jmp 0x1400b8c97
int3
cmp rcx, rdx
je 0x1400ba172
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rsp + 0x50]
mov r8, r15
call fcn.14016a360
mov rax, qword [r13 + 0x10]
cmp rax, qword [r13 + 0x18]
je 0x1400b77d5
jmp 0x1400b8da1
lea rdi, [rsp + 0xc0]
movaps xmmword [rdi], xmm6
mov rdx, qword [r12]
mov rcx, rdi
call fcn.140221e30
mov rax, qword [rdi]
test rax, rax
je 0x1400ba175
cmp byte [r13 + 0x158], 0
je 0x1400ba04d
imul rdx, qword [rsp + 0xc8], 0xa8
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + rdx + 0x28]
cmp rax, qword [r13 + 0x160]
jge 0x1400ba17c
lea rdi, [rsp + 0xc0]
mov rcx, rdi
call fcn.14016e920
jmp 0x1400ba003
call fcn.1401ca202
mov rdi, qword [r12 + 0x30]
mov rax, qword [rdi + 0x10]
mov esi, dword [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
jne 0x1400b9579
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400ba085
mov rcx, rsi
call fcn.140047ff0
mov rbx, qword [rdi + 0x38]
mov rax, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0xb8]
mov r14, qword [rcx + 0x10]
mov r15, qword [rax + 0x10]
mov r13, qword [rdi + 0xd0]
mov rbp, qword [rdi + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x140342240], 0x19
je 0x1400b9579
sub r13, rbp
shr r13, 3
imul eax, r13d, 0x3cf3cf3d
add r14d, ebx
add r15d, eax
add r15d, r14d
mov ecx, dword [rdi]
call fcn.1400b64f0
mov rsi, rax
lea rbx, [rsp + 0x118]
mov rcx, rbx
call fcn.14007a620
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rdi, [rsp + 0x6b0]
movaps xmmword [rdi], xmm6
movaps xmmword [rdi + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x20], rcx
mov word [rdi], 0x301
lea rcx, [0x140303385]
mov qword [rdi + 8], rcx
movsxd rcx, r15d
mov qword [rdi + 0x18], rcx
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, [0x140342240]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.1401b9550
mov rcx, rdi
call fcn.140041948
jmp 0x1400b9579
int3
int3
xor ecx, ecx
jmp 0x1400ba255
add rcx, rdx
mov byte [r13 + 0x158], 0
lea rdi, [rsp + 0x118]
mov rdx, rdi
call fcn.1400d6ac0
lea rcx, [rsp + 0x6b0]
mov rdx, rdi
call fcn.14023ebc0
lea rdi, [r13 + 0x138]
cmp byte [r13 + 0x130], 0
je 0x1400ba1ca
lea rdx, [rsp + 0x6b0]
mov rcx, rdi
call fcn.140079100
jmp 0x1400ba1e2
lea rdx, [rsp + 0x6b0]
mov rcx, rdi
call fcn.14023ebc0
mov byte [r13 + 0x130], 1
lea rcx, [rsp + 0x6b0]
call fcn.1401b18a0
cmp byte [r13 + 0x130], 0
je 0x1400ba276
mov rbx, qword [r13 + 0xb8]
lea r14, [rsp + 0x6b0]
mov rcx, r14
mov rdx, rdi
call fcn.14023ebc0
mov rcx, rbx
mov rdx, r14
call fcn.1402212a0
cmp byte [r13 + 0x130], 0
je 0x1400ba276
mov rbx, qword [r13 + 0xb0]
lea r14, [rsp + 0x118]
mov rcx, r14
mov rdx, rdi
call fcn.14023ebc0
mov rcx, rbx
mov rdx, r14
call fcn.1402212a0
mov rcx, qword [rsp + 0xc0]
mov rax, qword [0x1403428e0]
and rax, rcx
cmp rax, qword [0x1403428c8]
jne 0x1400b943b
call fcn.1401571d0
jmp 0x1400b943b
ud2