Function at 0x140044cb0
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, 0x6e8
movaps xmmword [rsp + 0x6d0], xmm6
mov dword [rsp + 0xb4], r9d
mov qword [rsp + 0x58], r8
mov r14, rdx
mov rbp, rcx
mov rax, qword [0x1402e0038]
xor rax, rsp
mov qword [rsp + 0x6c8], rax
movabs r13, 0xaaaaaaaaaaaaaaaa
movaps xmm6, xmmword [0x14029bb90]
movups xmmword [rdx + 0x10], xmm6
movups xmmword [rdx], xmm6
mov al, byte [0x1402e3230]
mov byte [rsp + 0x77], al
test al, 0x19
jne 0x140046038
xor r15d, r15d
mov r12, r13
mov rdi, qword [rbp + 0x70]
test rdi, rdi
je 0x140044da4
xor ebx, ebx
xchg qword [rdi], rbx
test rbx, rbx
je 0x140044d93
tzcnt rcx, rbx
mov eax, ecx
mov rsi, qword [rdi + rax*8 + 0x10]
test rsi, rsi
je 0x14004586f
lea rax, [rdi + rax*8]
add rax, 0x10
btc rbx, rcx
mov ecx, 1
lock xadd dword [rsi], ecx
test ecx, ecx
jle 0x14004557c
cmp ecx, 0x7fffffff
je 0x140045579
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rcx, rsi
call qword [0x140318008]
lock dec dword [rsi]
je 0x140045b18
test rbx, rbx
jne 0x140045850
mov rdi, qword [rdi + 0x218]
jmp 0x140044d24
xor r12d, r12d
jmp 0x140044e94
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], r12
mov r12b, byte [0x1402e3230]
test r12b, 0x19
movabs r13, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xe8], r15
jne 0x140046098
xor esi, esi
mov rdi, r13
mov r14d, 1
lock xadd qword [rbp + 0x20], r14
mov r15, qword [rbp + 0x228]
mov rax, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
cmp rax, rdx
jne 0x140045c7b
mov r15, qword [rbp + 0x230]
mov rax, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
cmp rax, rdx
jne 0x140045d6e
test r12b, 0x19
jne 0x140045872
mov rax, qword [rsp + 0x58]
cmp byte [rax + 8], 0
jne 0x140045af7
lea rbx, [rbp - 8]
lea r14, [rsp + 0x188]
lea r15, [0x1401ce200]
mov rax, qword [rbp + 0x140]
test rax, rax
je 0x140044d9c
tzcnt rsi, rax
cmp dword [rsp + 0xb4], 1
je 0x1400455a3
lea rcx, [rbp + 0x118]
mov edx, esi
call fcn.1401043b0
mov r12, rax
cmp dword [rax + 0x70], 1
je 0x140045bf1
mov dword [rbp + 0x198], 0
test byte [0x1402e3240], 0x19
jne 0x1400464d8
test r12, r12
je 0x140045566
cmp qword [r12 + 0x28], 0
je 0x140044f4d
mov r8d, 0x540
mov rcx, r14
mov dl, 0xaa
call fcn.140111cd0
mov qword [rsp + 0x180], 0
cmp qword [r12 + 0x10], 0
je 0x140044f4d
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov ecx, 0
cmovne rcx, rdx
cmp r8, rcx
jbe 0x140045582
mov rsi, qword [rax + 0x18]
imul rdi, rcx, 0xa8
mov rcx, qword [rsi + rdi + 0x78]
test rcx, rcx
je 0x1400458e3
mov rax, qword [rcx + 0x18]
cmp rax, r15
jne 0x1400458ab
cmp qword [rsi + rdi + 0xa0], 0
jne 0x1400458bd
mov rsi, qword [rsp + 0x180]
cmp rsi, 2
jae 0x1400463c9
test rsi, rsi
jne 0x140045e13
cmp qword [r12 + 0x10], 0
je 0x14004583f
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
cmp rdx, r8
mov ecx, 0
cmovne rcx, rdx
cmp r8, rcx
jbe 0x140045585
imul rcx, rcx, 0xa8
add rcx, qword [rax + 0x18]
cmp byte [rcx + 0x80], 0
je 0x140046472
mov r15, qword [r12 + 0x30]
cmp qword [r15 + 0x168], 0
jne 0x140045a68
cmp qword [r15 + 0x170], 0
jne 0x140045a68
cmp dword [rbp + 0x80], 0
jne 0x140044fcc
cmp qword [rbp + 0x208], 0
jne 0x140045a68
mov dword [rsp + 0xb4], 0
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x50], rbx
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x170], xmm0
movupd xmmword [rsp + 0x160], xmm0
mov byte [rsp + 0x15a], 0xaa
mov word [rsp + 0x158], 0xaaaa
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
xor ecx, ecx
cmp rdx, r8
cmovne rcx, rdx
cmp r8, rcx
jbe 0x140045846
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
add rax, rcx
add rax, 0x20
movupd xmm0, xmmword [rax - 0x20]
movupd xmm1, xmmword [rax - 0x10]
lea r14, [rsp + 0x1a0]
movapd xmmword [r14 - 0x10], xmm1
movapd xmmword [r14 - 0x20], xmm0
mov ecx, 0xa
mov rdi, r14
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov edi, dword [rax + 0x50]
mov ebx, dword [rax + 0x54]
mov rcx, qword [rax + 0x58]
mov qword [rsp + 0x90], rcx
xor esi, esi
mov qword [rax + 0x58], rsi
mov cl, byte [rax + 0x62]
mov byte [rsp + 0x15a], cl
movzx ecx, word [rax + 0x60]
mov word [rsp + 0x158], cx
mov rcx, qword [rax + 0x68]
mov qword [rsp + 0x88], rcx
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x80], rcx
mov qword [rax + 0x68], rsi
mov rcx, qword [rax + 0x78]
mov qword [rsp + 0x78], rcx
mov qword [rax + 0x78], rsi
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x98], rax
mov rcx, r12
call fcn.140091340
cmp qword [r12 + 0x10], rsi
jne 0x140045282
cmp dword [r12 + 0x70], 0
jne 0x140045276
mov r13, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x1400451bb
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [0x1402e38a8]
lea rcx, [0x140038fc0]
cmp rax, rcx
jne 0x140045e2f
lea rsi, [rsp + 0x120]
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 0x140045f85
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402f3f50]
mov qword [rsp + 0x100], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400451bb
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 0x1400451bb
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400451a5
cmp rcx, r8
jb 0x140045f58
lea rsi, [r13 + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14004588e
mov rax, qword [r12]
mov rcx, qword [r13 + 0x30]
mov qword [r12], rcx
mov qword [r13 + 0x30], rax
mov rax, qword [r12 + 8]
mov rcx, qword [r13 + 0x38]
mov qword [r12 + 8], rcx
mov qword [r13 + 0x38], rax
mov rax, qword [r12 + 0x10]
mov rcx, qword [r13 + 0x40]
mov qword [r12 + 0x10], rcx
mov qword [r13 + 0x40], rax
mov rax, qword [r12 + 0x18]
mov rcx, qword [r13 + 0x48]
mov qword [r12 + 0x18], rcx
mov qword [r13 + 0x48], rax
mov rax, qword [r12 + 0x20]
mov rcx, qword [r13 + 0x50]
mov qword [r12 + 0x20], rcx
mov qword [r13 + 0x50], rax
cmp byte [r13 + 0x150], 0
jne 0x1400456c4
mov rax, qword [r13 + 0xb0]
cmp qword [rax + 0x10], 0
sete byte [r13 + 0x58]
cmp qword [r13 + 0xa0], 0
mov al, byte [r13 + 0x120]
jne 0x140045269
test al, al
je 0x140045849
mov al, byte [r13 + 0x140]
xor al, 1
mov byte [r13 + 0x59], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
jne 0x140045e48
mov rcx, qword [r12 + 0x28]
mov rdx, r12
call fcn.1401046d0
mov rcx, qword [r12 + 0x30]
call fcn.140104240
mov r9, qword [rbp + 0x288]
mov rax, qword [rbp + 0x290]
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 [rbp + 0x2a8]
add rcx, qword [rbp + 0x2a0]
cmp rdx, rcx
jne 0x1400452ef
lea rcx, [rbp + 0x280]
call fcn.1400bb920
mov r9, qword [rbp + 0x288]
mov rax, qword [rbp + 0x290]
cmp rax, r9
je 0x14004557f
mov rcx, qword [rbp + 0x2a8]
add rcx, qword [rbp + 0x2a0]
movabs r8, 0xf0f0f0f0f0f0f0f1
mov rax, rcx
mul r8
mov r10, rdx
shr r10, 4
mov rax, qword [r9 + r10*8]
and rdx, 0xfffffffffffffff0
add rdx, r10
sub rcx, rdx
imul rdx, rcx, 0xe8
mov r9, rax
add r9, rdx
je 0x14004557f
shl rbx, 0x20
or rbx, rdi
movaps xmm0, xmmword [rsp + 0x180]
movaps xmm1, xmmword [rsp + 0x190]
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
mov ecx, 0xa
lea rdi, [r9 + 0x20]
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov rcx, rbx
shr rcx, 0x20
mov byte [r9 + 0x74], cl
mov dword [r9 + 0x70], ebx
mov rcx, qword [rsp + 0x90]
mov qword [r9 + 0x78], rcx
movzx ecx, word [rsp + 0x158]
mov word [r9 + 0x80], cx
mov cl, byte [rsp + 0x15a]
mov byte [r9 + 0x82], cl
mov rcx, qword [rsp + 0x88]
mov qword [r9 + 0x88], rcx
mov rcx, qword [rsp + 0x80]
mov qword [r9 + 0x90], rcx
mov rcx, qword [rsp + 0x78]
mov qword [r9 + 0x98], rcx
mov rcx, qword [rsp + 0x98]
mov qword [r9 + 0xa0], rcx
mov qword [rax + rdx + 0xa8], r15
mov ecx, dword [r15 + 8]
mov dword [rax + rdx + 0xb0], ecx
mov dword [rax + rdx + 0xb8], 0
mov ecx, dword [rsp + 0xb4]
mov byte [rax + rdx + 0xbc], cl
mov ecx, dword [rsp + 0x60]
mov byte [rax + rdx + 0xbd], cl
movups xmm0, xmmword [rsp + 0x15e]
movups xmm1, xmmword [rsp + 0x16e]
movups xmmword [rax + rdx + 0xbe], xmm0
movups xmmword [rax + rdx + 0xce], xmm1
movzx ecx, word [rsp + 0x17e]
mov word [rax + rdx + 0xde], cx
mov rcx, qword [r15 + 0xb0]
mov cl, byte [rcx + 0x38]
mov byte [rax + rdx + 0xe0], cl
movzx ecx, byte [r9 + 0x82]
mov dword [rax + rdx + 0xe4], ecx
mov rcx, qword [rbp + 0x2a8]
inc rcx
mov qword [rbp + 0x2a8], rcx
add rcx, qword [rbp + 0x2a0]
mov r9, qword [rbp + 0x288]
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 [rbp + 0x290], r9
cmovne rdi, rcx
cmp rdi, rdx
je 0x14004589c
lea rsi, [rdi - 0xe8]
mov rcx, qword [rsp + 0x50]
mov rdx, rsi
mov r8, qword [rsp + 0x58]
call fcn.140047660
cmp qword [rdi - 0x48], 0
jne 0x140045bcf
mov rax, qword [rdi - 0x50]
test rax, rax
jne 0x140045fac
mov ebx, dword [rdi - 0x38]
movzx r14d, byte [rdi - 8]
mov rax, qword [rdi - 0x40]
mov rdi, qword [rax + 0x178]
test rdi, rdi
jne 0x140045b2a
shl rbx, 0x20
or rbx, r14
mov r14, qword [rsp + 0xd8]
mov qword [r14], rsi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rbx
mov byte [r14 + 0x18], 1
test byte [rsp + 0x77], 0x19
jne 0x140045a35
mov rcx, qword [rsp + 0x6c8]
xor rcx, rsp
call fcn.14010fba0
mov rax, r14
movaps xmm6, xmmword [rsp + 0x6d0]
add rsp, 0x6e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
mov r14, qword [rsp + 0xd8]
mov byte [r14], al
mov byte [r14 + 0x18], al
jmp 0x14004552c
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov r13, r15
mov rdi, rbx
mov rcx, qword [rbp + 0x130]
sub rcx, qword [rbp + 0x128]
sar rcx, 2
cmp rcx, rsi
je 0x1400455c4
mov edx, esi
jmp 0x1400455ec
xor r12d, r12d
mov rbx, rdi
mov r15, r13
jmp 0x140044e94
inc dl
movzx esi, dl
mov r12d, 0
cmp rcx, rsi
mov rbx, rdi
mov r15, r13
je 0x140044e94
bt rax, rsi
jae 0x1400455d2
mov r8, qword [rbp + 0x178]
mov r9, qword [rbp + 0x180]
sub r9, r8
sar r9, 5
cmp r9, rsi
jbe 0x140045591
shl rsi, 5
mov r9, qword [r8 + rsi + 8]
cmp r9, qword [r8 + rsi + 0x10]
je 0x1400455d2
lea rcx, [rbp + 0x170]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x180]
mov qword [rsi + 0x20], rax
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
movzx r8d, dl
mov rdx, rsi
call fcn.140104620
cmp byte [rsi + 0x20], 0
je 0x1400455c4
mov r12, qword [rsp + 0x180]
movabs rax, 0xfffffffc00000000
and rax, r12
cmp rax, qword [0x1402e3948]
jne 0x1400455c7
mov rcx, r12
call fcn.140103630
jmp 0x1400455c7
cmp dword [r9 + 0x38], 0
jne 0x1400456bc
movabs r10, 0x8000000000000001
mov r9, qword [r9 + 0x30]
lea r11, [r9 + r10]
cmp r11, 2
jb 0x140046585
lea r10, [rdx + r9]
sar r10, 0x3f
btc r10, 0x3f
add rdx, r9
cmovo rdx, r10
mov r9, rdx
jmp 0x14004576b
lea rcx, [rsp + 0x140]
movaps xmmword [rcx], xmm6
mov rdx, qword [r12]
call fcn.1401623a0
lea rax, [rsp + 0x140]
mov rax, qword [rax]
test rax, rax
je 0x14004580d
xor ecx, ecx
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x148]
cmp qword [rax + 0x20], rcx
jbe 0x14004677d
cmp byte [r13 + 0x150], 0
je 0x140046780
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
mov rdx, qword [rax + rcx + 0x20]
cmp rdx, qword [r13 + 0x148]
jge 0x14004574b
lea rcx, [rsp + 0x140]
call fcn.14008f430
mov rax, qword [rsp + 0x140]
test rax, rax
jne 0x1400456f3
jmp 0x140045814
lea r9, [rax + rcx]
mov byte [r13 + 0x150], 0
mov r8d, dword [r9 + 0x70]
mov rdx, qword [r9 + 0x28]
test rdx, rdx
jne 0x140045685
xor r9d, r9d
mov rax, qword [rax + rcx + 0x90]
lea rdx, [rsp + 0x120]
mov qword [rdx], rax
mov qword [rdx + 8], r9
mov dword [rdx + 0x10], r8d
lea rcx, [r13 + 0x128]
mov qword [rsp + 0x68], rcx
call fcn.1401ff3b0
cmp byte [r13 + 0x140], 0
je 0x1400467a1
mov rcx, qword [r13 + 0xb0]
mov r8, qword [rsp + 0x68]
mov eax, dword [r8 + 0x10]
lea rdx, [rsp + 0x120]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [r8]
movaps xmmword [rdx], xmm0
call fcn.140202450
cmp byte [r13 + 0x140], 0
je 0x1400467a4
mov rcx, qword [r13 + 0xa8]
mov r8, qword [rsp + 0x68]
mov eax, dword [r8 + 0x10]
lea rdx, [rsp + 0x100]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [r8]
movapd xmmword [rdx], xmm0
call fcn.140202450
mov rax, qword [rsp + 0x140]
jmp 0x14004580f
xor eax, eax
mov qword [rsp + 0x68], rax
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x68]
cmp rax, qword [0x1402e3948]
jne 0x140045236
mov rcx, qword [rsp + 0x68]
call fcn.140103630
jmp 0x140045236
xor ecx, ecx
jmp 0x140044f87
int3
xor eax, eax
jmp 0x140045269
tzcnt rax, rbx
btc rbx, rax
mov eax, eax
lea rax, [rdi + rax*8]
add rax, 0x10
mov rsi, qword [rax]
test rsi, rsi
jne 0x140044d54
int3
cmp byte [rsi], 0
je 0x140044e2a
mov rcx, rsi
mov rdx, rdi
mov r8, r13
call fcn.14016b030
jmp 0x140044e2a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400451d0
mov edi, 0xf68
add rdi, qword [r9 + rax*8 - 8]
jmp 0x1400454c0
xor edx, edx
call qword [0x140318008]
test al, al
je 0x140044f23
jmp 0x1400458d5
mov rax, qword [rsi + rdi + 0x98]
test rax, rax
je 0x1400458d5
mov al, byte [rax + 4]
test al, al
je 0x140044f32
mov rax, qword [r12]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
xor r9d, r9d
cmp rdx, r8
cmovne r9, rdx
cmp r8, r9
jbe 0x14004558b
mov rcx, qword [rsp + 0x180]
mov r11d, 8
test cl, 1
je 0x140045911
mov r11, qword [rsp + 0x190]
mov rax, qword [rax + 0x18]
imul r8, r9, 0xa8
lea rdx, [rax + r8]
mov r10, rcx
shr r10, 1
cmp r10, r11
je 0x140045a26
mov r9, r14
test cl, 1
je 0x14004593f
mov r9, qword [rsp + 0x188]
imul r10, r10, 0xa8
mov r11, r9
add r11, r10
je 0x14004558e
movupd xmm0, xmmword [rdx]
movupd xmm1, xmmword [rdx + 0x10]
movupd xmmword [r11 + 0x10], xmm1
movupd xmmword [r11], xmm0
lea rdi, [r11 + 0x20]
lea rsi, [rdx + 0x20]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rdx + 0x70]
mov dword [r11 + 0x70], ecx
mov cl, byte [rdx + 0x74]
mov byte [r11 + 0x74], cl
mov rcx, qword [rdx + 0x78]
mov qword [r11 + 0x78], rcx
xor ecx, ecx
mov qword [rdx + 0x78], rcx
mov dl, byte [rax + r8 + 0x82]
mov byte [r9 + r10 + 0x82], dl
movzx edx, word [rax + r8 + 0x80]
mov word [r9 + r10 + 0x80], dx
mov rdx, qword [rax + r8 + 0x88]
mov qword [r9 + r10 + 0x88], rdx
mov qword [rax + r8 + 0x88], rcx
mov rdx, qword [rax + r8 + 0x90]
mov qword [r9 + r10 + 0x90], rdx
mov rdx, qword [rax + r8 + 0x98]
mov qword [r9 + r10 + 0x98], rdx
mov qword [rax + r8 + 0x98], rcx
mov rax, qword [rax + r8 + 0xa0]
mov qword [r9 + r10 + 0xa0], rax
add qword [rsp + 0x180], 2
mov rcx, r12
call fcn.140091340
cmp qword [r12 + 0x10], 0
jne 0x140044eda
jmp 0x140044f32
lea rcx, [rsp + 0x180]
call fcn.1400e5ca0
jmp 0x140045a0d
mov rax, qword [rsp + 0xe8]
cmp byte [rax], 0
je 0x140045537
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xf0]
call fcn.14016b030
jmp 0x140045537
movsd xmm0, qword [rbp + 0x58]
mov al, 1
mov dword [rsp + 0xb4], eax
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x140044fd7
cmp byte [rbp + 0x110], 0
je 0x14004677a
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x108]
mov qword [rbp + 0x100], 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 [rbp + 0x108], rdx
add rdx, rcx
shr rdx, 0xb
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
mulsd xmm1, qword [0x1402ab5a8]
ucomisd xmm0, xmm1
seta al
mov dword [rsp + 0x60], eax
mov r15, qword [r12 + 0x30]
jmp 0x140044fdf
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
cmp rax, qword [rbp + 0x240]
jl 0x140044e39
mov byte [rbp + 0x238], 1
jmp 0x140044e39
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x140318008]
jmp 0x140044d8a
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x140046789
cmp eax, 0x7fffffff
je 0x14004678c
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x14004678f
cmp eax, 0x7fffffff
je 0x140046792
lock dec dword [rdi]
jne 0x140045b74
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x140318008]
mov rax, qword [rsp + 0xd8]
mov qword [rax], rsi
mov rcx, rax
mov qword [rax + 8], rdi
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x140046795
cmp eax, 0x7fffffff
je 0x140046798
shl rbx, 0x20
or rbx, r14
mov r14, rcx
mov qword [rcx + 0x10], rbx
mov byte [rcx + 0x18], 1
lock dec dword [rdi]
jne 0x14004552c
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x140318008]
jmp 0x14004552c
mov rax, qword [rdi - 0x50]
test rax, rax
je 0x140045be3
mov al, byte [rax + 4]
test al, al
je 0x1400454e4
lea rcx, [rdi - 0x70]
call fcn.1400e4d10
jmp 0x1400454f1
mov rax, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x180]
sub rcx, rax
sar rcx, 5
cmp rcx, rsi
jbe 0x140045588
shl esi, 5
mov rcx, qword [rax + rsi + 8]
cmp rcx, qword [rax + rsi + 0x10]
je 0x140044e8a
inc dword [rbp + 0x198]
jmp 0x140044e94
mov rax, qword [fcn.14009a170]
lea rcx, [rsp + 0x180]
call qword [0x140318008]
mov rax, qword [rsp + 0x58]
cmp byte [rax + 8], 0
jne 0x140046942
cmp qword [rsp + 0x58], 0
je 0x14004679b
mov rcx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
mov byte [rax + 8], 1
mov rax, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
jmp 0x140045c8e
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 8], 0
je 0x140045c2d
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
cmp rax, rdx
je 0x140046762
cmp dword [rax + 0x14], 1
jne 0x140045cf0
movabs r9, 0x8000000000000001
mov rdx, qword [rax]
mov r8, qword [rax + 8]
lea r10, [r8 + r9]
cmp r10, 2
jb 0x140045cd8
xor r9d, r9d
cmp rdx, r8
setns r9b
movabs r10, 0x7fffffffffffffff
add r10, r9
sub rdx, r8
cmovo rdx, r10
jmp 0x140045cf3
cmp rdx, r8
je 0x140046774
shr r8, 0x3f
not r8
add r9, r8
mov rdx, r9
jmp 0x140045cf3
mov rdx, qword [rax]
cmp rdx, rcx
jg 0x140044e08
mov rcx, qword [rax + 0x18]
mov rdx, qword [rsp + 0x58]
mov r8, r14
call fcn.14008add0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x140044e08
jmp 0x140046a25
mov rax, qword [fcn.14009a170]
lea rcx, [rsp + 0x180]
call qword [0x140318008]
mov rax, qword [rsp + 0x58]
cmp byte [rax + 8], 0
jne 0x140046957
cmp qword [rsp + 0x58], 0
je 0x14004679e
mov rcx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
mov byte [rax + 8], 1
mov rax, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
jmp 0x140045d81
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 8], 0
je 0x140045d20
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
cmp rax, rdx
je 0x140046771
cmp dword [rax + 0x14], 1
jne 0x140045de3
movabs r9, 0x8000000000000001
mov rdx, qword [rax]
mov r8, qword [rax + 8]
lea r10, [r8 + r9]
cmp r10, 2
jb 0x140045dcb
xor r9d, r9d
cmp rdx, r8
setns r9b
movabs r10, 0x7fffffffffffffff
add r10, r9
sub rdx, r8
cmovo rdx, r10
jmp 0x140045de6
cmp rdx, r8
je 0x140046777
shr r8, 0x3f
not r8
add r9, r8
mov rdx, r9
jmp 0x140045de6
mov rdx, qword [rax]
cmp rdx, rcx
jg 0x140044e20
mov rcx, qword [rax + 0x18]
mov rdx, qword [rsp + 0x58]
mov r8, r14
call fcn.14008add0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x140044e20
jmp 0x140046af9
lea rcx, [rsp + 0x180]
call fcn.14017b040
cmp rsi, 1
je 0x140044f4d
jmp 0x140044e4c
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [0x140318008]
mov rax, qword [rsi]
jmp 0x14004516f
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [0x1402e38a8]
lea rcx, [0x140038fc0]
cmp rax, rcx
jne 0x1400466d7
lea rsi, [rsp + 0x120]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jl 0x140045ebf
mov rcx, qword [0x1402f3f50]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140045ecf
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402f3f50]
mov qword [rsp + 0x100], rax
cmp rax, qword [r12 + 0x20]
jl 0x140045282
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 0x140045282
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140045f15
cmp rcx, r8
jae 0x140045282
mov rcx, r12
call fcn.140091170
mov eax, 0x4c4b40
add rax, qword [rsp + 0x100]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x140045282
mov rcx, r12
call fcn.140091170
mov eax, 0x4c4b40
add rax, qword [rsp + 0x100]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x1400451bb
mov rcx, qword [0x1402f3f50]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140045167
mov al, byte [rax + 4]
test al, al
jne 0x1400454f1
cmp qword [rdi - 0x48], 0
je 0x1400454f1
mov rax, qword [rdi - 0x50]
test rax, rax
je 0x140046783
mov al, byte [rax + 4]
test al, al
jne 0x140046783
mov rbx, qword [rdi - 0x48]
mov rax, qword [rbx + 0x18]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.14010cc14
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x140046014
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x140046786
mov rcx, qword [rbx + 0x18]
mov qword [rbx + 0x18], rax
test rcx, rcx
je 0x1400454f1
lock dec dword [rcx]
jne 0x1400454f1
call fcn.14010cc0c
jmp 0x1400454f1
lea rsi, [rsp + 0x180]
mov rcx, rsi
call fcn.14009a170
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 r15, [0x1402e3230]
lea r12, str.SequenceManagerImpl::SelectNextTask
mov cl, 0x58
mov rdx, r15
mov r8, r12
xor r9d, r9d
call fcn.14016b830
mov r13, rax
jmp 0x140044d20
lea rsi, [rsp + 0x180]
mov rcx, rsi
call fcn.14009a170
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, [0x1402e3230]
lea rdi, str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
mov cl, 0x58
mov rdx, rsi
mov r8, rdi
xor r9d, r9d
call fcn.14016b830
mov r13, rax
jmp 0x140044de4
lea rcx, [rsp + 0x140]
movaps xmmword [rcx], xmm6
mov rdx, qword [r12]
call fcn.1401623a0
lea rax, [rsp + 0x140]
mov rax, qword [rax]
test rax, rax
je 0x140046170
mov rcx, qword [rsp + 0x148]
cmp qword [rax + 0x20], rcx
jbe 0x140045594
cmp byte [r15 + 0x150], 0
je 0x140045597
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
mov rdx, qword [rax + rcx + 0x20]
cmp rdx, qword [r15 + 0x148]
jge 0x1400465e9
lea rcx, [rsp + 0x140]
call fcn.14008f430
mov rax, qword [rsp + 0x140]
jmp 0x140046117
xor ecx, ecx
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x1402e3948]
jne 0x14004627a
call fcn.140103630
jmp 0x14004627a
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402f3f50]
mov qword [rsp + 0x100], rax
cmp rax, qword [r12 + 0x20]
jl 0x1400461fa
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 0x1400461fa
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400461e4
cmp rcx, r8
jb 0x1400466f0
lea rsi, [r15 + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140046214
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [r12]
mov rcx, qword [r15 + 0x30]
mov qword [r12], rcx
mov qword [r15 + 0x30], rax
mov rax, qword [r12 + 8]
mov rcx, qword [r15 + 0x38]
mov qword [r12 + 8], rcx
mov qword [r15 + 0x38], rax
mov rax, qword [r12 + 0x10]
mov rcx, qword [r15 + 0x40]
mov qword [r12 + 0x10], rcx
mov qword [r15 + 0x40], rax
mov rax, qword [r12 + 0x18]
mov rcx, qword [r15 + 0x48]
mov qword [r12 + 0x18], rcx
mov qword [r15 + 0x48], rax
mov rax, qword [r12 + 0x20]
mov rcx, qword [r15 + 0x50]
mov qword [r12 + 0x20], rcx
mov qword [r15 + 0x50], rax
cmp byte [r15 + 0x150], 0
jne 0x1400460f8
mov rax, qword [r15 + 0xb0]
cmp qword [rax + 0x10], 0
sete byte [r15 + 0x58]
cmp qword [r15 + 0xa0], 0
mov al, byte [r15 + 0x120]
jne 0x1400462ad
test al, al
je 0x14004674f
mov al, byte [r15 + 0x140]
xor al, 1
mov byte [r15 + 0x59], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
je 0x140046397
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [0x1402e38a8]
lea rcx, [0x140038fc0]
cmp rax, rcx
jne 0x14004671d
lea rsi, [rsp + 0x120]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, rbx
jl 0x140046333
mov rcx, qword [0x1402f3f50]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140046343
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402f3f50]
mov qword [rsp + 0x100], rax
cmp rax, qword [r12 + 0x20]
jl 0x140046397
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 0x140046397
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140046381
cmp rcx, r8
jb 0x1400466aa
cmp qword [r12 + 0x40], 0xffffffffffffffff
je 0x1400463ac
mov rcx, qword [r12 + 0x28]
mov rdx, r12
call fcn.1400ade80
mov rcx, qword [r12 + 0x30]
call fcn.140104240
mov rsi, qword [rsp + 0x180]
mov rbx, r13
mov r15, rdi
jmp 0x140044f44
mov rdi, r15
mov r13, rbx
cmp qword [r12 + 0x10], 0
jne 0x140046397
movabs rbx, 0x8637bd05af7
cmp dword [r12 + 0x70], 0
jne 0x1400462ba
mov r15, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x1400461fa
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [0x1402e38a8]
lea rcx, [0x140038fc0]
cmp rax, rcx
jne 0x140046736
lea rsi, [rsp + 0x120]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, rbx
jl 0x140046196
mov rcx, qword [0x1402f3f50]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400461a6
cmp dword [rbp + 0x80], 0
jle 0x140044f94
lea rsi, [rbp + 0x88]
lea rdi, [rsp + 0x180]
mov r8d, 0xb8
mov rcx, rdi
mov dl, 0xaa
call fcn.140111cd0
mov rcx, r12
mov rdx, rdi
call fcn.1400ff3c0
mov rax, qword [r12 + 0x30]
mov qword [rdi + 0xa8], rax
mov eax, dword [r12 + 0x70]
mov dword [rdi + 0xb0], eax
mov rcx, rsi
mov rdx, rdi
call fcn.1400fe7f0
mov rcx, rdi
call fcn.14003cdc0
jmp 0x140044e4c
lea r13, [rsp + 0x100]
mov rcx, rbx
mov rdx, r13
mov r8, r12
xor r9d, r9d
call fcn.1401e2be0
lea rdi, [rsp + 0x120]
mov rcx, rdi
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rsi, [rsp + 0x180]
movaps xmmword [rsi], xmm6
movaps xmmword [rsi + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x20], rcx
mov word [rsi], 0x801
lea rcx, [0x1402a30eb]
mov qword [rsi + 8], rcx
mov rcx, qword [r13]
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, [0x1402e3240]
lea r8, [0x1402b5630]
mov cl, 0x4f
xor r9d, r9d
call fcn.14016b830
mov rcx, rsi
call fcn.140090d24
jmp 0x140044ea1
add r10, rdx
cmp r10, 1
ja 0x14004576b
cmp rdx, r9
je 0x14004576b
int3
add r10, rdx
cmp r10, 1
ja 0x140046605
cmp rdx, r9
je 0x140046605
jmp 0x1400455a0
cmp dword [r9 + 0x38], 0
jne 0x1400465e4
movabs r10, 0x8000000000000001
mov r9, qword [r9 + 0x30]
lea r11, [r9 + r10]
cmp r11, 2
jb 0x14004659e
lea r10, [rdx + r9]
sar r10, 0x3f
btc r10, 0x3f
add rdx, r9
cmovo rdx, r10
mov r9, rdx
jmp 0x140046605
lea r9, [rax + rcx]
mov byte [r15 + 0x150], 0
mov r8d, dword [r9 + 0x70]
mov rdx, qword [r9 + 0x28]
test rdx, rdx
jne 0x1400465b1
xor r9d, r9d
mov rax, qword [rax + rcx + 0x90]
lea rdx, [rsp + 0x120]
mov qword [rdx], rax
mov qword [rdx + 8], r9
mov dword [rdx + 0x10], r8d
lea rcx, [r15 + 0x128]
mov qword [rsp + 0x60], rcx
call fcn.1401ff3b0
cmp byte [r15 + 0x140], 0
je 0x14004559a
mov rcx, qword [r15 + 0xb0]
mov r8, qword [rsp + 0x60]
mov eax, dword [r8 + 0x10]
lea rdx, [rsp + 0x120]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [r8]
movaps xmmword [rdx], xmm0
call fcn.140202450
cmp byte [r15 + 0x140], 0
je 0x14004559d
mov rcx, qword [r15 + 0xa8]
mov r8, qword [rsp + 0x60]
mov eax, dword [r8 + 0x10]
lea rdx, [rsp + 0x100]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [r8]
movapd xmmword [rdx], xmm0
call fcn.140202450
mov rcx, qword [rsp + 0x140]
jmp 0x140046172
mov rcx, r12
call fcn.140091170
mov eax, 0x4c4b40
add rax, qword [rsp + 0x100]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x140046397
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [0x140318008]
mov rax, qword [rsi]
jmp 0x140045ed7
mov rcx, r12
call fcn.140091170
mov eax, 0x4c4b40
add rax, qword [rsp + 0x100]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x1400461fa
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [0x140318008]
mov rax, qword [rsi]
jmp 0x14004634b
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [0x140318008]
mov rax, qword [rsi]
jmp 0x1400461ae
xor eax, eax
jmp 0x1400462ad
cmp rcx, rdx
jne 0x140046a8a
int3
int3
cmp rcx, rdx
jne 0x140046b5e
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
cmp r8, qword [rsp + 0xd0]
jne 0x14004680b
cmp r9, qword [rsp + 0xc8]
jne 0x14004680b
cmp edx, dword [rsp + 0xb0]
je 0x140046874
jmp 0x14004680b
cmp r8, qword [rsp + 0xd0]
jne 0x1400468b2
cmp r9, qword [rsp + 0xc8]
jne 0x1400468b2
cmp edx, dword [rsp + 0xb0]
je 0x14004691b
jmp 0x1400468b2
cmp rax, rcx
je 0x140046df6
cmp r10d, dword [rsp + 0xac]
je 0x1400467a7
cmp rax, rcx
je 0x140046836
movupd xmm0, xmmword [rax]
mov eax, dword [rax + 0x14]
movupd xmmword [rsp + 0x180], xmm0
mov dword [rsp + 0x190], 0
mov dword [rsp + 0x194], eax
mov al, 1
jmp 0x140046840
mov byte [rsp + 0x180], 0
xor eax, eax
lea r8, [rsp + 0x180]
mov byte [r8 + 0x18], al
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, qword [rsp + 0x58]
call qword [0x140318008]
jmp 0x140046874
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.1400b15d0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x140044e08
mov rcx, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
cmp rcx, rax
je 0x140044e08
jmp 0x140046865
cmp rax, rcx
je 0x14004712d
cmp r10d, dword [rsp + 0xac]
je 0x1400467ca
cmp rax, rcx
je 0x1400468dd
movupd xmm0, xmmword [rax]
mov eax, dword [rax + 0x14]
movupd xmmword [rsp + 0x180], xmm0
mov dword [rsp + 0x190], 0
mov dword [rsp + 0x194], eax
mov al, 1
jmp 0x1400468e7
mov byte [rsp + 0x180], 0
xor eax, eax
lea r8, [rsp + 0x180]
mov byte [r8 + 0x18], al
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, qword [rsp + 0x58]
call qword [0x140318008]
jmp 0x14004691b
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.1400b15d0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x140044e20
mov rcx, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
cmp rcx, rax
je 0x140044e20
jmp 0x14004690c
mov rcx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x140045c71
mov rcx, qword [rsp + 0x180]
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x140045d64
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
cmp qword [rax + 0x188], rcx
jne 0x14004750d
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x90]
cmp dword [rax + 0x190], ecx
jne 0x14004750d
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x98]
cmp dword [rax + 0x194], ecx
je 0x140046874
jmp 0x14004750d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
cmp qword [rax + 0x188], rcx
jne 0x140046e40
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x90]
cmp dword [rax + 0x190], ecx
jne 0x140046e40
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x98]
cmp dword [rax + 0x194], ecx
je 0x14004691b
jmp 0x140046e40
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x120]
call fcn.140083a40
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
jne 0x140046a4f
jmp 0x140046762
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x58]
call fcn.140083a40
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x140046762
movabs rbx, 0x8000000000000001
cmp dword [rax + 0x14], 1
jne 0x140046a99
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rdx + rbx]
cmp r8, 2
jb 0x140046756
xor r8d, r8d
cmp rcx, rdx
setns r8b
movabs r9, 0x7fffffffffffffff
add r8, r9
sub rcx, rdx
cmovo rcx, r8
jmp 0x140046a9c
shr rdx, 0x3f
not rdx
add rdx, rbx
mov rcx, rdx
jmp 0x140046a9c
mov rcx, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
cmp rcx, qword [rsp + 0x120]
jg 0x140047155
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, r14
call fcn.14008add0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x140044e08
jmp 0x140046a04
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x120]
call fcn.140083a40
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
jne 0x140046b23
jmp 0x140046771
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x58]
call fcn.140083a40
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x140046771
movabs rbx, 0x8000000000000001
cmp dword [rax + 0x14], 1
jne 0x140046b6d
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
lea r8, [rdx + rbx]
cmp r8, 2
jb 0x140046765
xor r8d, r8d
cmp rcx, rdx
setns r8b
movabs r9, 0x7fffffffffffffff
add r8, r9
sub rcx, rdx
cmovo rcx, r8
jmp 0x140046b70
shr rdx, 0x3f
not rdx
add rdx, rbx
mov rcx, rdx
jmp 0x140046b70
mov rcx, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
cmp rcx, qword [rsp + 0x120]
jg 0x140047320
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, r14
call fcn.14008add0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x140044e20
jmp 0x140046ad8
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0xa8], 0xaaaaaa00
cmp byte [rsp + 0x88], 0
je 0x140046d5e
mov rcx, qword [rsp + 0x60]
lea rbx, [rcx + 8]
and rax, qword [rsp + 0x50]
cmp rax, qword [0x1402e3948]
jne 0x140046cff
jmp 0x140046cf5
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0xa8], 0xaaaaaa00
cmp byte [rsp + 0x88], 0
je 0x140047092
mov rcx, qword [rsp + 0x60]
lea r14, [rcx + 8]
and rax, qword [rsp + 0x50]
cmp rax, qword [0x1402e3948]
jne 0x140047038
jmp 0x14004702e
mov rcx, qword [rsp + 0x78]
shl rcx, 5
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rdx + rcx + 0x10]
mov dword [rsp + 0xa4], ecx
and ecx, 0xffffff00
mov dword [rsp + 0xa8], ecx
mov rcx, qword [rsp + 0x60]
add rcx, 8
mov qword [rsp + 0xe0], rcx
cmp byte [rsp + 0x88], 0
je 0x140046d4c
and rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x78]
cmp rax, qword [0x1402e3948]
jne 0x140046ca3
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.140103420
mov r8, qword [rbx + 0x118]
lea r9, [rsp + 0x180]
mov rax, qword [rsp + 0xb8]
mov qword [r9], rax
mov rax, qword [rsp + 0x68]
mov qword [r9 + 8], rax
mov eax, dword [rsp + 0x90]
mov dword [r9 + 0x10], eax
mov eax, dword [rsp + 0x98]
mov dword [r9 + 0x14], eax
mov rax, qword [rsp + 0x50]
mov qword [r9 + 0x18], rax
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0xe0]
call fcn.140108b20
jmp 0x140046d5e
mov rcx, qword [rsp + 0x50]
call fcn.140103420
lea r8, [rsp + 0x180]
mov rax, qword [rsp + 0xb8]
mov qword [r8], rax
mov rax, qword [rsp + 0x68]
mov qword [r8 + 8], rax
mov eax, dword [rsp + 0x90]
mov dword [r8 + 0x10], eax
mov eax, dword [rsp + 0x98]
mov dword [r8 + 0x14], eax
mov rax, qword [rsp + 0x50]
mov qword [r8 + 0x18], rax
lea rdx, [rsp + 0x140]
mov rcx, rbx
call fcn.140109e40
jmp 0x140046d5e
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x78]
call fcn.140109690
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
cmp rax, rcx
je 0x140046d7f
mov r8, qword [rax]
mov r9, qword [rax + 8]
mov edx, dword [rax + 0x14]
xor r10d, r10d
jmp 0x140046d9b
movabs r9, 0xaaaaaaaaaaaaaaaa
lea r8, [r9 - 0xaa]
mov edx, 0xaaaaaaaa
mov r10d, 0xaaaaaaaa
cmp qword [rsp + 0x78], 0xffffffffffffffff
je 0x140046dc3
movzx r11d, byte [rsp + 0xa4]
or r11d, dword [rsp + 0xa8]
cmp r11d, 1
jne 0x140046dc3
mov r11, qword [rsp + 0x60]
dec dword [r11 + 0x28]
cmp byte [rsp + 0x88], 0
je 0x140046de0
cmp dword [rsp + 0x90], 1
jne 0x140046de0
mov r11, qword [rsp + 0x60]
inc dword [r11 + 0x28]
mov r11, qword [rsp + 0xc0]
cmp qword [rsp + 0x80], r11
jne 0x1400467f8
cmp rax, rcx
setne dl
mov r8, qword [rsp + 0xc0]
cmp qword [rsp + 0x80], r8
setne r8b
cmp r8b, dl
je 0x140046874
jmp 0x14004680b
test al, al
je 0x1400474ce
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb8]
cmp qword [rax + 0x180], rcx
je 0x1400469b8
lea rax, [rsp + 0x139]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb8]
mov qword [rdx + 0x180], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rdx + 0x188], rcx
mov ecx, dword [rsp + 0x90]
mov dword [rdx + 0x190], ecx
mov ecx, dword [rsp + 0x98]
mov dword [rdx + 0x194], ecx
mov cl, byte [rsp + 0x88]
mov byte [rdx + 0x198], cl
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rdx + 0x199], ecx
mov dword [rdx + 0x19c], eax
mov rax, qword [rdx + 0x98]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x60], rax
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xc0], rax
cmp rcx, rax
je 0x140046eff
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0xc8], rcx
mov eax, dword [rax + 0x14]
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xac], 0
jmp 0x140046f36
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rax - 0xaa]
mov qword [rsp + 0xd0], rcx
mov dword [rsp + 0xac], 0xaaaaaaaa
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xb0], 0xaaaaaaaa
movabs rax, 0xfffffffc00000000
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x118]
mov qword [rsp + 0x78], rcx
cmp rcx, 0xffffffffffffffff
je 0x140046bf0
mov rcx, qword [rsp + 0xc0]
sub rcx, qword [rsp + 0x80]
sar rcx, 5
cmp rcx, qword [rsp + 0x78]
jbe 0x140047647
mov rcx, qword [rsp + 0x78]
shl rcx, 5
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rdx + rcx + 0x10]
mov dword [rsp + 0xa4], ecx
and ecx, 0xffffff00
mov dword [rsp + 0xa8], ecx
mov rcx, qword [rsp + 0x60]
lea r14, [rcx + 8]
cmp byte [rsp + 0x88], 0
je 0x140047085
and rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x78]
cmp rax, qword [0x1402e3948]
jne 0x140046fe1
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.140103420
mov r8, qword [rbx + 0x118]
lea r9, [rsp + 0x180]
mov rax, qword [rsp + 0xb8]
mov qword [r9], rax
mov rax, qword [rsp + 0x68]
mov qword [r9 + 8], rax
mov eax, dword [rsp + 0x90]
mov dword [r9 + 0x10], eax
mov eax, dword [rsp + 0x98]
mov dword [r9 + 0x14], eax
mov rax, qword [rsp + 0x50]
mov qword [r9 + 0x18], rax
lea rdx, [rsp + 0x140]
mov rcx, r14
call fcn.140108b20
jmp 0x140047092
mov rcx, qword [rsp + 0x50]
call fcn.140103420
lea r8, [rsp + 0x180]
mov rax, qword [rsp + 0xb8]
mov qword [r8], rax
mov rax, qword [rsp + 0x68]
mov qword [r8 + 8], rax
mov eax, dword [rsp + 0x90]
mov dword [r8 + 0x10], eax
mov eax, dword [rsp + 0x98]
mov dword [r8 + 0x14], eax
mov rax, qword [rsp + 0x50]
mov qword [r8 + 0x18], rax
lea rdx, [rsp + 0x140]
mov rcx, r14
call fcn.140109e40
jmp 0x140047092
mov rcx, r14
mov rdx, qword [rsp + 0x78]
call fcn.140109690
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
cmp rax, rcx
je 0x1400470b3
mov r8, qword [rax]
mov r9, qword [rax + 8]
mov edx, dword [rax + 0x14]
xor r10d, r10d
jmp 0x1400470d2
movabs r9, 0xaaaaaaaaaaaaaaaa
mov r8, r9
add r8, 0xffffffffffffff56
mov edx, 0xaaaaaaaa
mov r10d, 0xaaaaaaaa
cmp qword [rsp + 0x78], 0xffffffffffffffff
je 0x1400470fa
movzx r11d, byte [rsp + 0xa4]
or r11d, dword [rsp + 0xa8]
cmp r11d, 1
jne 0x1400470fa
mov r11, qword [rsp + 0x60]
dec dword [r11 + 0x28]
cmp byte [rsp + 0x88], 0
je 0x140047117
cmp dword [rsp + 0x90], 1
jne 0x140047117
mov r11, qword [rsp + 0x60]
inc dword [r11 + 0x28]
mov r11, qword [rsp + 0xc0]
cmp qword [rsp + 0x80], r11
jne 0x14004689b
cmp rax, rcx
setne dl
mov r8, qword [rsp + 0xc0]
cmp qword [rsp + 0x80], r8
setne r8b
cmp r8b, dl
je 0x14004691b
jmp 0x1400468b2
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
lea rcx, [fcn.1401ff450]
cmp qword [rax + 0x30], rcx
jne 0x14004722e
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xc0]
cmp rax, qword [rcx + 0xc8]
je 0x14004721b
mov rcx, qword [rsp + 0x50]
cmp byte [rcx + 0x120], 0
je 0x14004721b
mov rcx, qword [rsp + 0x50]
cmp dword [rcx + 0xd8], 0
mov rcx, qword [rcx + 0xb0]
mov rcx, qword [rcx + 0x38]
jne 0x1400471cf
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx + 0x10]
mov r8b, byte [rdx + 0x51]
xor edx, edx
jmp 0x1400471e4
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx + 0x10]
mov r8b, byte [rdx + 0x51]
xor edx, edx
cmp r8b, cl
setae dl
mov r9d, dword [rax + 0x38]
xor r10d, r10d
cmp r9d, 2
cmovne r10d, r9d
cmp r8b, cl
cmovae r10d, r9d
movupd xmm0, xmmword [rax + 0x28]
movapd xmmword [rsp + 0x120], xmm0
mov dword [rsp + 0x130], edx
mov dword [rsp + 0x134], r10d
mov al, 1
jmp 0x140047225
mov byte [rsp + 0x120], 0
xor eax, eax
mov byte [rsp + 0x138], al
jmp 0x140047240
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x50]
call fcn.1401ff450
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + 0xa0]
test rbx, rbx
je 0x1400472a9
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x120], 0
je 0x1400472a9
mov rcx, qword [rsp + 0x50]
call fcn.1400ce890
lea rdx, [rsp + 0x120]
movapd xmm0, xmmword [rdx]
movapd xmm1, xmmword [rdx + 0x10]
lea r9, [rsp + 0x100]
movapd xmmword [r9], xmm0
movapd xmmword [r9 + 0x10], xmm1
mov rcx, qword [rbx]
mov r10, qword [rcx + 0x10]
mov byte [rsp + 0x20], al
mov rcx, rbx
mov r8, qword [rsp + 0x58]
mov rax, r10
call qword [0x140318008]
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x98], eax
mov cl, byte [rsp + 0x138]
mov rax, qword [rsp + 0x50]
mov al, byte [rax + 0x198]
mov byte [rsp + 0x88], cl
test cl, cl
jne 0x1400474eb
cmp byte [rsp + 0x88], 0
setne cl
test al, al
setne al
cmp cl, al
je 0x140046874
jmp 0x14004750d
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
lea rcx, [fcn.1401ff450]
cmp qword [rax + 0x30], rcx
jne 0x1400473f9
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0xc0]
cmp rax, qword [rcx + 0xc8]
je 0x1400473e6
mov rcx, qword [rsp + 0x50]
cmp byte [rcx + 0x120], 0
je 0x1400473e6
mov rcx, qword [rsp + 0x50]
cmp dword [rcx + 0xd8], 0
mov rcx, qword [rcx + 0xb0]
mov rcx, qword [rcx + 0x38]
jne 0x14004739a
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx + 0x10]
mov r8b, byte [rdx + 0x51]
xor edx, edx
jmp 0x1400473af
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx + 0x10]
mov r8b, byte [rdx + 0x51]
xor edx, edx
cmp r8b, cl
setae dl
mov r9d, dword [rax + 0x38]
xor r10d, r10d
cmp r9d, 2
cmovne r10d, r9d
cmp r8b, cl
cmovae r10d, r9d
movupd xmm0, xmmword [rax + 0x28]
movapd xmmword [rsp + 0x120], xmm0
mov dword [rsp + 0x130], edx
mov dword [rsp + 0x134], r10d
mov al, 1
jmp 0x1400473f0
mov byte [rsp + 0x120], 0
xor eax, eax
mov byte [rsp + 0x138], al
jmp 0x14004740b
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x50]
call fcn.1401ff450
mov rax, qword [rsp + 0x50]
mov r14, qword [rax + 0xa0]
test r14, r14
je 0x140047474
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x120], 0
je 0x140047474
mov rcx, qword [rsp + 0x50]
call fcn.1400ce890
lea rdx, [rsp + 0x120]
movapd xmm0, xmmword [rdx]
movapd xmm1, xmmword [rdx + 0x10]
lea r9, [rsp + 0x100]
movapd xmmword [r9], xmm0
movapd xmmword [r9 + 0x10], xmm1
mov rcx, qword [r14]
mov r10, qword [rcx + 0x10]
mov byte [rsp + 0x20], al
mov rcx, r14
mov r8, qword [rsp + 0x58]
mov rax, r10
call qword [0x140318008]
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x98], eax
mov cl, byte [rsp + 0x138]
mov rax, qword [rsp + 0x50]
mov al, byte [rax + 0x198]
mov byte [rsp + 0x88], cl
test cl, cl
jne 0x140046e1e
cmp byte [rsp + 0x88], 0
setne cl
test al, al
setne al
cmp cl, al
je 0x14004691b
jmp 0x140046e40
test al, al
je 0x140047303
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb8]
cmp qword [rax + 0x180], rcx
je 0x14004696c
lea rax, [rsp + 0x139]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb8]
mov qword [rdx + 0x180], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rdx + 0x188], rcx
mov ecx, dword [rsp + 0x90]
mov dword [rdx + 0x190], ecx
mov ecx, dword [rsp + 0x98]
mov dword [rdx + 0x194], ecx
mov cl, byte [rsp + 0x88]
mov byte [rdx + 0x198], cl
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rdx + 0x199], ecx
mov dword [rdx + 0x19c], eax
mov rax, qword [rdx + 0x98]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x60], rax
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xc0], rax
cmp rcx, rax
je 0x1400475cc
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0xc8], rcx
mov eax, dword [rax + 0x14]
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xac], 0
jmp 0x140047603
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rax - 0xaa]
mov qword [rsp + 0xd0], rcx
mov dword [rsp + 0xac], 0xaaaaaaaa
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xb0], 0xaaaaaaaa
movabs rax, 0xfffffffc00000000
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x118]
mov qword [rsp + 0x78], rcx
cmp rcx, 0xffffffffffffffff
je 0x140046bac
mov rcx, qword [rsp + 0xc0]
sub rcx, qword [rsp + 0x80]
sar rcx, 5
cmp rcx, qword [rsp + 0x78]
ja 0x140046c34
mov rcx, qword [rsp + 0x60]
add rcx, 0x10
call fcn.140165620
int3