Function at 0x1400762e0
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1d8
movaps xmmword [rsp + 0x1c0], xmm6
mov dword [rsp + 0x7c], edx
mov rax, qword [0x14028f028]
xor rax, rsp
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x58], rcx
add rcx, 0xfffffffffffffff8
mov qword [rsp + 0x68], rcx
call fcn.140077de0
test al, al
je 0x1400778bb
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov al, byte [0x140291f50]
mov byte [rsp + 0x67], al
test al, 0x19
jne 0x140077485
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rdi
mov rax, qword [rsp + 0x58]
mov rbp, qword [rax + 0x60]
test rbp, rbp
je 0x140076428
lea r14, [0x14001b320]
lea r15, [0x1400c8070]
xor esi, esi
xchg qword [rbp], rsi
test rsi, rsi
jne 0x14007639b
mov rbp, qword [rbp + 0x218]
test rbp, rbp
jne 0x14007637f
jmp 0x140076428
bsf rax, rsi
btc rsi, rax
mov rcx, qword [rbp + rax*8 + 0x10]
mov rax, qword [rcx + 8]
cmp rax, r14
jne 0x140077d51
mov rax, qword [rcx + 0x20]
mov r12, qword [rcx + 0x28]
cmp rax, r15
jne 0x140077d4e
mov rdi, qword [r12 + 0xb0]
mov rcx, qword [rdi + 0x30]
mov rdx, rdi
call fcn.140078530
cmp qword [rdi + 0x10], 0
je 0x1400763ff
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x1400763ff
mov rax, qword [rdi + 0x50]
test rax, rax
jne 0x1400776c7
mov rdx, rdi
call fcn.140074cf0
mov rcx, qword [r12 + 0xa0]
test rcx, rcx
jne 0x1400777f7
test rsi, rsi
movabs rdi, 0xaaaaaaaaaaaaaaaa
je 0x14007638a
jmp 0x14007639b
movaps xmm6, xmmword [0x140257270]
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm6
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [rsp + 0x190], rax
mov byte [rsp + 0x198], 0
mov r15b, byte [0x140291f50]
test r15b, 0x19
jne 0x1400778be
xor ebx, ebx
mov rbp, rdi
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + 0xd68]
lea r12, [rax + 0xd70]
cmp r14, r12
je 0x1400765c9
mov r13, qword [r14 + 0x20]
mov rax, qword [rsp + 0x58]
cmp r13, qword [rax + 0xd80]
jne 0x140076534
mov rsi, qword [r13 + 0x18]
cmp rsi, qword [r13 + 0x20]
je 0x140076509
cmp byte [rsp + 0x198], 0
je 0x1400764d0
mov rax, qword [rsp + 0x1a0]
cmp qword [rsi], rax
jg 0x140076509
jmp 0x140077305
lea rcx, [rsp + 0xf0]
call qword [fcn.14007b660]
cmp byte [rsp + 0x198], 0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x1a0], rax
jne 0x1400764c2
mov byte [rsp + 0x198], 1
cmp qword [rsi], rax
jle 0x140077305
mov rcx, qword [r14 + 8]
test rcx, rcx
jne 0x1400772da
mov rax, qword [r14 + 0x10]
cmp qword [rax], r14
jne 0x1400772eb
mov r14, rax
cmp rax, r12
jne 0x140076490
jmp 0x1400765c9
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
mov rax, qword [r13]
mov rcx, r13
lea rdx, [rsp + 0xf0]
call qword [rax + 8]
mov rsi, qword [r13 + 0x18]
cmp rsi, qword [r13 + 0x20]
je 0x140076509
cmp byte [rsp + 0xf8], 0
je 0x140076579
mov rax, qword [rsp + 0x100]
cmp qword [rsi], rax
jg 0x140076509
jmp 0x1400765b2
lea rcx, [rsp + 0xc8]
call qword [fcn.14007b660]
cmp byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x100], rax
jne 0x140076572
mov byte [rsp + 0xf8], 1
cmp qword [rsi], rax
jg 0x140076509
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 0x10]
lea rdx, [rsp + 0xf0]
call fcn.14007a1a0
jmp 0x140076556
test r15b, 0x19
jne 0x140077924
cmp byte [rsp + 0x198], 0
movabs r12, 0xaaaaaaaaaaaaaaaa
mov rcx, qword [rsp + 0x58]
je 0x140076604
mov rax, qword [rsp + 0x1a0]
cmp rax, qword [rcx + 0xd90]
jl 0x140076604
mov byte [rcx + 0xd88], 1
lea rbp, [rcx + 0xad0]
xor ebx, ebx
mov rcx, rbp
mov edx, dword [rsp + 0x7c]
call fcn.140077df0
mov r13, rax
test byte [0x140291f60], 0x19
jne 0x140077391
movabs r15, 0xcccccccccccccccd
test r13, r13
je 0x140077506
mov rcx, r13
call fcn.140078990
test al, al
jne 0x14007660d
cmp qword [r13 + 0x10], 0
je 0x140077940
mov rcx, qword [r13]
mov rax, qword [rcx + 8]
add rax, 1
cmp rax, qword [rcx]
mov edx, 0
cmovne rdx, rax
mov rax, rdx
shl rax, 7
lea rax, [rax + rdx*8]
add rax, qword [rcx + 0x18]
cmp byte [rax + 0x70], 0
mov rbx, qword [rsp + 0x58]
jne 0x14007668f
cmp dword [rbx + 0x78], 0
jg 0x14007751b
mov rbp, qword [r13 + 0x30]
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbx + 0xe58]
mov cl, byte [rcx + 0x20]
cmp cl, byte [rax + 0x38]
jb 0x1400774f7
cmp qword [rbp + 0x160], 0
jne 0x140076e6d
cmp qword [rbp + 0x168], 0
jne 0x140076e6d
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x78], 0
jne 0x140077358
xor r14d, r14d
cmp qword [rax + 0xd58], 0
jne 0x140076e6d
xor esi, esi
xorpd xmm0, xmm0
movupd xmmword [rsp + 0xda], xmm0
movupd xmmword [rsp + 0xca], xmm0
lea rdx, [rsp + 0xf0]
mov rcx, r13
call fcn.140078190
mov rax, qword [rsp + 0x58]
mov rdi, qword [rax + 0xdf0]
mov rax, qword [rax + 0xdf8]
mov rcx, rax
sub rcx, rdi
je 0x140077351
sar rcx, 3
lea rcx, [rcx + rcx*4]
lea rdx, [rcx*4 - 1]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rbx + 0xe10]
add rcx, qword [rbx + 0xe08]
cmp rdx, rcx
je 0x14007731f
cmp rax, rdi
je 0x140077947
mov rax, rcx
mul r15
shr rdx, 4
lea rax, [rdx*4]
lea rax, [rax + rax*4]
sub rcx, rax
imul rax, rcx, 0xc8
add rax, qword [rdi + rdx*8]
mov rcx, qword [rsp + 0xf0]
mov qword [rax], rcx
mov qword [rsp + 0xf0], 0
movups xmm0, xmmword [rsp + 0xf8]
movups xmm1, xmmword [rsp + 0x108]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
mov rcx, qword [rsp + 0x155]
mov qword [rax + 0x65], rcx
movups xmm0, xmmword [rsp + 0x118]
movups xmm1, xmmword [rsp + 0x128]
movups xmm2, xmmword [rsp + 0x138]
movups xmm3, xmmword [rsp + 0x148]
movups xmmword [rax + 0x58], xmm3
movups xmmword [rax + 0x48], xmm2
movups xmmword [rax + 0x38], xmm1
movups xmmword [rax + 0x28], xmm0
movzx ecx, word [rsp + 0x160]
mov word [rax + 0x70], cx
mov cl, byte [rsp + 0x162]
mov byte [rax + 0x72], cl
mov rcx, qword [rsp + 0x168]
mov qword [rax + 0x78], rcx
mov qword [rsp + 0x168], 0
mov rcx, qword [rsp + 0x170]
mov qword [rax + 0x80], rcx
mov qword [rax + 0x88], rbp
mov rcx, qword [rbp]
mov qword [rax + 0x90], rcx
mov dword [rax + 0x98], 0
mov byte [rax + 0x9c], r14b
mov byte [rax + 0x9d], sil
movupd xmm0, xmmword [rsp + 0xc8]
movups xmm1, xmmword [rsp + 0xd8]
movupd xmmword [rax + 0x9e], xmm0
movups xmmword [rax + 0xae], xmm1
movzx ecx, word [rsp + 0xe8]
mov word [rax + 0xbe], cx
mov rcx, qword [rbp + 0xb0]
mov cl, byte [rcx + 0x38]
mov byte [rax + 0xc0], cl
movzx ecx, byte [rax + 0x72]
mov dword [rax + 0xc4], ecx
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rbx + 0xe10]
add rcx, 1
mov qword [rbx + 0xe10], rcx
mov rbp, qword [rbx + 0xdf0]
add rcx, qword [rbx + 0xe08]
mov rax, rcx
mul r15
shr rdx, 4
lea rax, [rdx*4]
lea rax, [rax + rax*4]
sub rcx, rax
mov rax, qword [rbp + rdx*8]
imul rcx, rcx, 0xc8
add rcx, rax
xor r13d, r13d
cmp qword [rbx + 0xdf8], rbp
cmovne r13, rcx
cmp r13, rax
jne 0x14007690f
mov r13d, 0xfa0
add r13, qword [rbp + rdx*8 - 8]
mov bl, byte [0x140291f50]
test bl, 0x19
jne 0x14007794e
xor eax, eax
mov qword [rsp + 0x88], rax
mov rsi, r12
mov rdi, r12
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0xb0], 0
je 0x1400769ab
mov rbp, qword [r13 - 0x90]
mov rax, qword [rsp + 0x58]
add rax, 0xf3
lea rcx, str.0123456789ABCDEF
nop word cs:[rax + rax]
mov edx, ebp
and edx, 0xf
movzx edx, byte [rdx + rcx]
mov byte [rax + 3], dl
shr rbp, 4
add rax, 0xffffffffffffffff
test rbp, rbp
jne 0x140076960
mov byte [rax + 3], pe_nt_image_headers64
mov word [rax + 1], 0x3020
mov rbp, qword [r13 - 0xa8]
nop word [rax + rax]
mov edx, ebp
and edx, 0xf
movzx edx, byte [rdx + rcx]
mov byte [rax], dl
add rax, 0xffffffffffffffff
shr rbp, 4
jne 0x140076990
mov word [rax - 1], 0x7830
mov rax, qword [r13 - 0x40]
cmp byte [rax + 0x1d0], 0
jne 0x1400771db
cmp qword [rax + 0x160], 0
mov byte [rsp + 0x7c], bl
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xb0], rdi
jne 0x140076fdd
cmp qword [rax + 0x168], 0
jne 0x140076fdd
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x78], 0
jne 0x140076a05
cmp qword [rax + 0xd58], 0
jne 0x140076fdd
xor ebp, ebp
lea rbx, [r13 - 0xc8]
mov rax, qword [r13 - 0x40]
cmp byte [rax + 0x1d1], 0
je 0x140076c8b
mov dword [rsp + 0x68], ebp
mov rdi, qword [r13 - 0x48]
mov r14, qword [rax + 0x158]
mov r15b, byte [0x140291f50]
test r15b, 0x19
jne 0x140077a0b
xor eax, eax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x98], r12
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0xcf8]
cmp rax, qword [rcx + 0xd00]
je 0x140076c56
mov rcx, qword [rsp + 0x58]
lea rax, [rcx + 0xcf8]
mov qword [rsp + 0x100], rax
lea rax, [rcx + 0xd10]
mov qword [rsp + 0xf8], rax
mov rax, qword [rcx + 0xd10]
mov qword [rsp + 0xf0], rax
lea rdx, [rsp + 0xf0]
mov qword [rax + 8], rdx
mov qword [rcx + 0xd10], rdx
mov qword [rsp + 0x108], 0
mov rbp, 0xffffffffffffffff
cmp dword [rcx + 0xd28], 0
jne 0x140077b7a
mov qword [rsp + 0x110], rbp
mov rsi, qword [rsp + 0x100]
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
sub rdx, rax
sar rdx, 3
cmp rdx, rbp
jae 0x140077b96
test rdx, rdx
je 0x140076b0d
cmp qword [rax], 0
je 0x140077b9e
xor eax, eax
test rsi, rsi
je 0x140076c56
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, rdx
sar rcx, 3
cmp rcx, rbp
jae 0x1400778a5
cmp rax, rcx
je 0x140076be8
cmp r14, rdi
seta r8b
mov rcx, qword [rdx + rax*8]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax]
mov rsi, qword [rsp + 0x100]
test rsi, rsi
je 0x140076c56
mov r8, rdi
mov rdx, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x110]
lea rax, [rdx + 1]
mov qword [rsp + 0x108], rax
mov rdi, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, rdi
sar rcx, 3
cmp rcx, rbp
jae 0x140077b72
cmp rax, rcx
jb 0x140076ba0
mov rdi, r8
jmp 0x140076b18
cmp qword [rdi + rdx*8 + 8], 0
mov rdi, r8
jne 0x140076b18
add rdx, 2
mov rax, rdx
mov qword [rsp + 0x108], rdx
cmp rcx, rdx
je 0x140077d3c
mov rdi, qword [rsi]
lea rdx, [rax + 1]
cmp qword [rdi + rax*8], 0
movabs r12, 0xaaaaaaaaaaaaaaaa
mov rdi, r8
jne 0x140076b18
jmp 0x140076bb3
mov rax, qword [rsi + 0x20]
cmp rax, qword [rsi + 0x18]
jne 0x140076c16
mov r12, qword [rsi]
mov rdx, qword [rsi + 8]
cmp r12, rdx
je 0x140076c16
lea rax, [rdx - 8]
cmp qword [r12], 0
je 0x140077360
add r12, 8
cmp rdx, r12
jne 0x140076c02
cmp qword [rsp + 0x100], 0
movabs r12, 0xaaaaaaaaaaaaaaaa
je 0x140076c56
mov qword [rsp + 0x100], 0
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rcx], rax
test r15b, 0x19
jne 0x140077a9a
test byte [0x140291f50], 0x19
jne 0x140077acd
cmp r14, rdi
seta r8b
mov rcx, qword [r13 - 0x40]
mov rdx, rbx
call fcn.140077f00
cmp byte [rsp + 0x68], 0
jne 0x140077030
test byte [rsp + 0x7c], 0x19
mov rsi, qword [rsp + 0x70]
movabs r15, 0xcccccccccccccccd
jne 0x1400779bd
test byte [rsp + 0x67], 0x19
je 0x140076cc9
cmp byte [rsi], 0
je 0x140076cc9
mov rcx, rsi
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xa0]
call fcn.140079550
test rbx, rbx
jne 0x140076cfd
mov rcx, qword [rsp + 0x1b8]
xor rcx, rsp
call fcn.1400ccfe0
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x1c0]
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, rbx
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rbx + 0xe08]
add rcx, qword [rbx + 0xe10]
mov rbp, qword [rbx + 0xdf0]
mov rax, rcx
mul r15
shr rdx, 4
mov rax, qword [rbp + rdx*8]
cmp qword [rbx + 0xdf8], rbp
je 0x140077bd5
lea rbx, [rdx*4]
lea rbx, [rbx + rbx*4]
sub rcx, rbx
imul rdi, rcx, 0xc8
add rdi, rax
cmp rdi, rax
mov rbx, rsi
je 0x140077bdc
test byte [0x140291980], 0x19
je 0x140076cce
movsx rax, byte [rdi - 8]
lea rcx, str.RunControlPriorityTask
mov r14, qword [rcx + rax*8]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r15d, eax
lea rbx, [rsp + 0xc8]
mov qword [rbx], r12
mov rcx, rbx
call fcn.14007b660
lea rbp, [rsp + 0xf0]
movaps xmmword [rbp], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbp + 0x20], rax
movaps xmmword [rbp + 0x10], xmm6
mov word [rbp], 0x301
lea rax, str.task_type
mov qword [rbp + 8], rax
movsxd rax, dword [rdi - 4]
mov qword [rbp + 0x18], rax
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], r15d
mov rbx, rsi
xorps xmm6, xmm6
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 0
lea rdx, [0x140291980]
mov cl, 0x42
mov r8, r14
xor r9d, r9d
call fcn.14006a790
mov rcx, rbp
call fcn.1400737e2
test byte [0x140291980], 0x19
je 0x140076cce
mov rdi, qword [rdi - 0x38]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
mov qword [rsp + 0xf0], r12
mov rcx, rbp
call fcn.14007b660
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], ebx
mov rbx, rsi
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140291980]
mov cl, 0x42
mov r8, rdi
xor r9d, r9d
call fcn.14006a790
jmp 0x140076cce
mov rdi, qword [rsp + 0x58]
movsd xmm0, qword [rdi + 0x48]
mov r14b, 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x1400766e9
movsd xmm0, qword [rdi + 0xac8]
subsd xmm0, qword [rdi + 0xac0]
mov rbp, qword [rdi + 0xab8]
lea rax, [rbp + 1]
shr rax, 3
movabs r8, 0xd20d20d20d20d21
mul r8
shr rdx, 1
imul rax, rdx, 0x138
neg rax
mov rdx, 0xffffffff80000000
and rdx, qword [rdi + rbp*8 + 0xf8]
lea r9, [rax + rbp]
add r9, 1
mov rcx, qword [rdi + r9*8 + 0xf8]
mov esi, ecx
and esi, 0x7ffffffe
or rsi, rdx
lea rax, [rbp + 0x9c]
shr rax, 3
mul r8
shr rdx, 1
imul rax, rdx, 0x138
neg rax
add rax, rbp
add rax, 0x9c
shr rsi, 1
and ecx, 1
movabs rdx, 0xb5026f5aa96619e9
imul rdx, rcx
xor rdx, qword [rdi + rax*8 + 0xf8]
xor rdx, rsi
mov qword [rdi + rbp*8 + 0xf8], rdx
mov rax, qword [rdi + 0xab8]
mov rax, qword [rdi + rax*8 + 0xf8]
mov rcx, rax
shr rcx, 0x1d
movabs rdx, 0x555555555
and rdx, rcx
xor rdx, rax
mov rax, rdx
shl rax, 0x11
movabs rcx, 0x71d67fffeda60000
and rcx, rax
xor rcx, rdx
mov eax, ecx
and eax, 0x7ffbf77
shl rax, 0x25
xor rax, rcx
mov rcx, rax
shr rcx, 0x2b
xor rcx, rax
movq xmm1, rcx
punpckldq xmm1, xmmword [0x140251c50]
subpd xmm1, xmmword [0x140251c60]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
mulsd xmm2, qword [0x14026c4d0]
mov qword [rdi + 0xab8], r9
mulsd xmm2, xmm0
addsd xmm2, qword [rdi + 0xac0]
movsd xmm0, qword [rdi + 0x48]
ucomisd xmm0, xmm2
seta sil
mov rbp, qword [r13 + 0x30]
jmp 0x1400766eb
mov dword [r13 - 0x30], 1
cmp byte [r13 - 0x2c], 0
je 0x140077006
cmp byte [rsp + 0x198], 0
je 0x1400772a1
mov rax, qword [rsp + 0x1a0]
mov qword [r13 - 0x28], rax
mov bpl, 1
cmp byte [r13 - 0x2b], 0
je 0x140076a07
lea rsi, [rsp + 0xf0]
mov rcx, rsi
call fcn.140104e40
mov rax, qword [rsi]
mov qword [r13 - 0x18], rax
jmp 0x140076a07
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x78], 0
jne 0x140077264
mov sil, byte [0x140291f50]
test sil, 0x19
jne 0x140077beb
xor eax, eax
mov qword [rsp + 0x68], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
mov r12, r15
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0xd30]
cmp rax, qword [rcx + 0xd38]
je 0x14007725a
mov rcx, qword [rsp + 0x58]
lea rax, [rcx + 0xd30]
mov qword [rsp + 0x100], rax
lea rax, [rcx + 0xd48]
mov qword [rsp + 0xf8], rax
mov rax, qword [rcx + 0xd48]
mov qword [rsp + 0xf0], rax
lea rdx, [rsp + 0xf0]
mov qword [rax + 8], rdx
mov qword [rcx + 0xd48], rdx
mov qword [rsp + 0x108], 0
mov rbp, 0xffffffffffffffff
cmp dword [rcx + 0xd60], 0
jne 0x140077d58
mov qword [rsp + 0x110], rbp
mov r14, qword [rsp + 0x100]
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
sub rdx, rax
sar rdx, 3
cmp rdx, rbp
jae 0x140077d74
test rdx, rdx
je 0x140077118
cmp qword [rax], 0
je 0x140077d7c
xor eax, eax
test r14, r14
je 0x14007725a
nop word cs:[rax + rax]
nop dword [rax]
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
sub rcx, rdx
sar rcx, 3
cmp rcx, rbp
jae 0x1400778ad
cmp rax, rcx
je 0x1400771f0
mov rcx, qword [rdx + rax*8]
mov rdx, qword [r13 - 0x28]
mov rax, qword [rcx]
call qword [rax + 8]
mov r14, qword [rsp + 0x100]
test r14, r14
je 0x14007725a
mov rdx, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x110]
lea rax, [rdx + 1]
mov qword [rsp + 0x108], rax
mov rdi, qword [r14]
mov rcx, qword [r14 + 8]
sub rcx, rdi
sar rcx, 3
cmp rcx, rbp
jae 0x140077b6a
cmp rax, rcx
jae 0x140077130
cmp qword [rdi + rdx*8 + 8], 0
jne 0x140077130
add rdx, 2
mov rax, rdx
mov qword [rsp + 0x108], rdx
cmp rcx, rdx
je 0x140077130
mov rdi, qword [r14]
lea rdx, [rax + 1]
cmp qword [rdi + rax*8], 0
jne 0x140077130
jmp 0x1400771b3
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xde0], 1
mov rax, qword [r13 - 0x40]
jmp 0x1400769bc
mov rax, qword [r14 + 0x20]
cmp rax, qword [r14 + 0x18]
jne 0x140077224
mov rbp, qword [r14]
mov rdx, qword [r14 + 8]
cmp rbp, rdx
je 0x140077224
lea rax, [rdx - 8]
nop word [rax + rax]
cmp qword [rbp], 0
je 0x140077657
add rbp, 8
cmp rdx, rbp
jne 0x140077210
cmp qword [rsp + 0x100], 0
je 0x14007725a
mov qword [rsp + 0x100], 0
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rcx], rax
test sil, 0x19
jne 0x140077c61
test byte [0x140291f50], 0x19
jne 0x140077c84
mov rax, qword [r13 - 0x40]
mov rcx, qword [rax + 0x160]
test rcx, rcx
movabs r12, 0xaaaaaaaaaaaaaaaa
je 0x140076c8b
add r13, 0xffffffffffffffd0
mov rdx, rbx
mov r8, r13
call qword [rcx + 8]
jmp 0x140076c8b
lea rcx, [rsp + 0xf0]
call qword [fcn.14007b660]
cmp byte [rsp + 0x198], 0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x1a0], rax
jne 0x140077002
mov byte [rsp + 0x198], 1
jmp 0x140077002
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x140076523
jmp 0x1400772da
add r14, 0x10
mov rcx, qword [r14]
lea r14, [rcx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rax], rcx
je 0x140076523
jmp 0x1400772ef
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 0x10]
lea rdx, [rsp + 0x190]
call fcn.14007a1a0
jmp 0x1400764a6
mov rbx, qword [rsp + 0x58]
lea rcx, [rbx + 0xde8]
call fcn.140104f50
mov rcx, qword [rbx + 0xe08]
mov rdi, qword [rbx + 0xdf0]
mov rax, qword [rbx + 0xdf8]
add rcx, qword [rbx + 0xe10]
jmp 0x14007675c
xor edx, edx
jmp 0x140076740
xor r14d, r14d
jmp 0x1400766e9
cmp rax, r12
jne 0x140077684
cmp r12, rdx
je 0x140076c16
mov rbp, qword [rsi + 8]
sub rdx, r12
add rdx, r12
sub rbp, rdx
jne 0x140077da9
add r12, rbp
mov qword [rsi + 8], r12
jmp 0x140076c16
lea rdx, [rsp + 0xc0]
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
mov r8, r13
call fcn.140104ec0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r15d, eax
lea r14, [rsp + 0xc8]
mov qword [r14], r12
mov rcx, r14
call fcn.14007b660
lea rsi, [rsp + 0xf0]
movaps xmmword [rsi], xmm6
movaps xmmword [rsi + 0x10], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x20], rax
mov word [rsi], 0x801
lea rax, [0x140257dd7]
mov qword [rsi + 8], rax
lea rax, [rsp + 0xc0]
mov rax, qword [rax]
mov qword [rsi + 0x18], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x48], 0x800
mov qword [rsp + 0x28], 0
lea rdx, [0x140291f60]
lea r8, [0x14026c4d8]
mov cl, 0x4f
xor r9d, r9d
call fcn.14006a790
cmp byte [rsi], 0
je 0x140076629
xor esi, esi
mov al, byte [rsp + rsi + 0xf1]
cmp al, 8
je 0x1400776fb
cmp al, 9
je 0x140077722
inc rsi
movzx eax, byte [rsp + 0xf0]
cmp rsi, rax
movabs r12, 0xaaaaaaaaaaaaaaaa
mov ebx, 0
jae 0x140076629
jmp 0x140077449
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rbp, [rsp + 0xf0]
mov qword [rbp], rdi
mov rcx, rbp
call fcn.14007b660
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], esi
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140291f50]
lea r8, str.SequenceManagerImpl::SelectNextTask
mov cl, 0x58
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0xa8], r8
xor r9d, r9d
call fcn.14006a790
mov qword [rsp + 0xa0], rax
jmp 0x14007635f
test byte [0x140291f50], 0x19
jne 0x140077813
xor ebx, ebx
mov rsi, qword [rsp + 0x70]
test byte [rsp + 0x67], 0x19
jne 0x140076cac
jmp 0x140076cc9
lea r14, [rbx + 0x80]
lea rsi, [rsp + 0xf0]
mov r8d, 0x98
mov rcx, rsi
mov dl, 0xaa
call fcn.1400cf750
mov rcx, r13
mov rdx, rsi
call fcn.140078190
mov rax, qword [r13 + 0x30]
mov qword [rsi + 0x88], rax
mov eax, dword [r13 + 0x58]
mov dword [rsi + 0x90], eax
mov rcx, r14
call fcn.140104e60
mov rax, qword [rbx + 0x98]
cmp qword [rbx + 0x88], rax
jb 0x1400778b5
lea r9, [rsp + 0x178]
mov rcx, qword [rbx + 0x80]
imul rax, rax, 0x98
mov rdx, qword [r9 - 0x88]
add rax, rcx
add rax, 0x28
mov qword [rax - 0x28], rdx
xor r8d, r8d
mov qword [r9 - 0x88], r8
movupd xmm0, xmmword [r9 - 0x80]
movups xmm1, xmmword [r9 - 0x70]
movups xmmword [rax - 0x10], xmm1
movupd xmmword [rax - 0x20], xmm0
lea rdx, [rsp + 0x118]
mov ecx, 8
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rdx + 0x44]
mov byte [rax + 0x44], cl
mov ecx, dword [rdx + 0x40]
mov dword [rax + 0x40], ecx
mov cl, byte [rdx + 0x4a]
mov byte [rax + 0x4a], cl
movzx ecx, word [rdx + 0x48]
mov word [rax + 0x48], cx
mov rcx, qword [rdx + 0x50]
mov qword [rax + 0x50], rcx
mov qword [rdx + 0x50], r8
mov rcx, qword [rdx + 0x58]
mov qword [rax + 0x58], rcx
mov ecx, dword [r9 + 8]
mov dword [rax + 0x68], ecx
mov rcx, qword [r9]
mov qword [rax + 0x60], rcx
mov rax, qword [rbx + 0x88]
mov rcx, qword [rbx + 0x98]
lea rdx, [rax - 1]
lea rdi, [rcx + 1]
cmp rcx, rdx
cmove rdi, r8
mov qword [rbx + 0x98], rdi
test rdi, rdi
cmove rdi, rax
dec rdi
cmp rax, rdi
jb 0x1400778b8
lea rcx, [rsp + 0xf0]
call fcn.140079ad0
jmp 0x14007660b
cmp rax, rbp
jne 0x1400776a8
cmp rbp, rdx
je 0x140077224
mov rdi, qword [r14 + 8]
sub rdx, rbp
add rdx, rbp
sub rdi, rdx
jne 0x140077db9
add rbp, rdi
mov qword [r14 + 8], rbp
jmp 0x140077224
lea rax, [r12 + 8]
mov rcx, qword [rax]
test rcx, rcx
je 0x140077699
mov qword [r12], rcx
add r12, 8
add rax, 8
cmp rdx, rax
je 0x140077369
jmp 0x140077689
lea rax, [rbp + 8]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400776bc
mov qword [rbp], rcx
add rbp, 8
add rax, 8
cmp rdx, rax
je 0x14007765c
jmp 0x1400776ac
mov r8, qword [rdi]
mov r9, qword [r8 + 8]
inc r9
cmp r9, qword [r8]
jne 0x1400776d9
xor r9d, r9d
mov r8, qword [r8 + 0x18]
mov rdx, r9
shl rdx, 7
lea rdx, [rdx + r9*8]
cmp qword [r8 + rdx + 0x80], rax
jae 0x1400763ff
jmp 0x1400763f7
mov rcx, qword [rsp + rsi*8 + 0x108]
test rcx, rcx
je 0x140077460
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov al, byte [rsp + rsi + 0xf1]
jmp 0x140077458
mov r14, qword [rsp + rsi*8 + 0x108]
test r14, r14
je 0x140077460
cmp qword [r14 + 0xb8], 0
je 0x140077788
lea r15, [r14 + 0xa8]
mov rax, qword [r14 + 0xa8]
mov rcx, qword [r14 + 0xb0]
mov r8, qword [rax + 8]
mov rdx, qword [rcx]
mov qword [rdx + 8], r8
mov rdx, qword [rcx]
mov rax, qword [rax + 8]
mov qword [rax], rdx
mov qword [r14 + 0xb8], 0
cmp rcx, r15
je 0x140077788
mov r12, qword [rcx + 8]
call fcn.1400c9cac
mov rcx, r12
cmp r12, r15
jne 0x140077777
lea rax, [0x140251c90]
mov qword [r14], rax
mov rcx, qword [r14 + 0x38]
mov qword [r14 + 0x38], 0
test rcx, rcx
jne 0x14007789b
mov r15, qword [r14 + 0x20]
test r15, r15
je 0x1400777ea
mov r12, qword [r14 + 0x28]
mov rcx, r15
cmp r12, r15
je 0x1400777e1
mov rcx, qword [r12 - 0x18]
mov qword [r12 - 0x18], 0
add r12, 0xffffffffffffffe8
test rcx, rcx
je 0x1400777d8
call fcn.1400c9cb4
cmp r15, r12
jne 0x1400777bc
mov rcx, qword [r14 + 0x20]
mov qword [r14 + 0x28], r15
call fcn.1400c9cac
mov rcx, r14
call fcn.1400c9cac
jmp 0x140077460
cmp byte [r12 + 0x120], 0
je 0x140076410
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 8]
jmp 0x140076410
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebp, eax
lea rdi, [rsp + 0xf0]
mov qword [rdi], r12
mov rcx, rdi
call fcn.14007b660
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], ebp
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140291f50]
lea r8, str.SequenceManager.YieldToNative
xor ebx, ebx
mov cl, 0x58
xor r9d, r9d
call fcn.14006a790
cmp byte [0x140291f50], 0
mov rsi, qword [rsp + 0x70]
je 0x140076ca5
lea rcx, [0x140291f50]
lea rdx, str.SequenceManager.YieldToNative
mov r8, rax
call fcn.140079550
xor ebx, ebx
jmp 0x140076ca5
call fcn.1400c9cb4
jmp 0x1400777a7
mov rcx, rbp
jmp 0x140076b2f
mov rcx, rbp
jmp 0x140077147
int3
int3
int3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rbp, [rsp + 0xf0]
mov qword [rbp], rdi
mov rcx, rbp
call fcn.14007b660
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], esi
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rbx, [0x140291f50]
lea rdi, str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
mov cl, 0x58
mov rdx, rbx
mov r8, rdi
xor r9d, r9d
call fcn.14006a790
mov rbp, rax
jmp 0x140076474
cmp byte [rbx], 0
je 0x1400765d3
mov rcx, rbx
mov rdx, rdi
mov r8, rbp
call fcn.140079550
jmp 0x1400765d3
xor eax, eax
jmp 0x14007667a
xor eax, eax
jmp 0x140076789
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebp, eax
mov qword [rsp + 0xf0], r12
lea rsi, [rsp + 0xf0]
mov rcx, rsi
call fcn.14007b660
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], ebp
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140291f50]
lea rsi, str.SequenceManagerImpl::NotifyWillProcessTaskObservers
mov cl, 0x58
mov qword [rsp + 0x88], rdx
mov r8, rsi
xor r9d, r9d
call fcn.14006a790
mov rdi, rax
jmp 0x14007692e
mov rdi, rbx
mov rax, qword [rsp + 0x88]
cmp byte [rax], 0
je 0x1400779ea
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
call fcn.140079550
movabs r12, 0xaaaaaaaaaaaaaaaa
mov rsi, qword [rsp + 0x70]
movabs r15, 0xcccccccccccccccd
mov rbx, rdi
jmp 0x140076ca5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r12d, eax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xf0], rax
lea rsi, [rsp + 0xf0]
mov rcx, rsi
call fcn.14007b660
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r12d
movabs r12, 0xaaaaaaaaaaaaaaaa
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140291f50]
lea r8, str.SequenceManager.WillProcessTaskObservers
mov cl, 0x58
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x98], r8
xor r9d, r9d
call fcn.14006a790
mov qword [rsp + 0x90], rax
jmp 0x140076a59
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
je 0x140076c60
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
call fcn.140079550
jmp 0x140076c60
cmp r14, rdi
seta r14b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebp, eax
mov qword [rsp + 0xf0], r12
lea rsi, [rsp + 0xf0]
mov rcx, rsi
call fcn.14007b660
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], ebp
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140291f50]
lea r8, str.SequenceManager.QueueNotifyWillProcessTask
mov cl, 0x58
xor r9d, r9d
call fcn.14006a790
mov rbp, rax
mov rcx, qword [r13 - 0x40]
mov rdx, rbx
mov r8d, r14d
call fcn.140077f00
cmp byte [0x140291f50], 0
je 0x140076c80
lea rcx, [0x140291f50]
lea rdx, str.SequenceManager.QueueNotifyWillProcessTask
mov r8, rbp
call fcn.140079550
jmp 0x140076c80
mov rcx, rbp
jmp 0x1400771a2
mov rcx, rbp
jmp 0x140076b92
mov rax, qword [rsp + 0x58]
mov rbp, qword [rax + 0xd00]
sub rbp, qword [rax + 0xcf8]
sar rbp, 3
jmp 0x140076ad7
mov rdx, rbp
jmp 0x140076afe
mov ecx, 1
movabs r12, 0xaaaaaaaaaaaaaaaa
mov rax, rcx
mov qword [rsp + 0x108], rcx
cmp rdx, rcx
je 0x140077dc9
mov r8, qword [rsi]
lea rcx, [rax + 1]
cmp qword [r8 + rax*8], 0
jne 0x140076b0f
jmp 0x140077bad
xor edi, edi
jmp 0x140076d4f
mov edi, 0xfa0
add rdi, qword [rbp + rdx*8 - 8]
jmp 0x140076d5b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebp, eax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xf0], rax
lea rdi, [rsp + 0xf0]
mov rcx, rdi
call fcn.14007b660
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], ebp
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140291f50]
lea r15, str.SequenceManager.WillProcessTaskTimeObservers
mov cl, 0x58
mov qword [rsp + 0x68], rdx
mov r8, r15
xor r9d, r9d
call fcn.14006a790
mov r12, rax
jmp 0x140077064
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
je 0x140077264
mov rcx, qword [rsp + 0x68]
mov rdx, r15
mov r8, r12
call fcn.140079550
jmp 0x140077264
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebp, eax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xf0], rax
lea rsi, [rsp + 0xf0]
mov rcx, rsi
call fcn.14007b660
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], ebp
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x140291f50]
lea r8, str.SequenceManager.QueueOnTaskStarted
mov cl, 0x58
xor r9d, r9d
call fcn.14006a790
mov rbp, rax
mov rax, qword [r13 - 0x40]
mov rcx, qword [rax + 0x160]
test rcx, rcx
je 0x140077d0a
add r13, 0xffffffffffffffd0
mov rdx, rbx
mov r8, r13
call qword [rcx + 8]
cmp byte [0x140291f50], 0
movabs r12, 0xaaaaaaaaaaaaaaaa
je 0x140076c8b
lea rcx, [0x140291f50]
lea rdx, str.SequenceManager.QueueOnTaskStarted
mov r8, rbp
call fcn.140079550
jmp 0x140076c8b
movabs r12, 0xaaaaaaaaaaaaaaaa
mov rdi, r8
jmp 0x140076b18
mov rcx, r12
call rax
jmp 0x140076410
mov rax, qword [rsp + 0x58]
mov rbp, qword [rax + 0xd38]
sub rbp, qword [rax + 0xd30]
sar rbp, 3
jmp 0x1400770e2
mov rdx, rbp
jmp 0x140077109
mov ecx, 1
mov rax, rcx
mov qword [rsp + 0x108], rcx
cmp rdx, rcx
je 0x14007711a
mov rdi, qword [r14]
lea rcx, [rax + 1]
cmp qword [rdi + rax*8], 0
jne 0x14007711a
jmp 0x140077d81
mov rcx, r12
mov r8, rbp
call fcn.1400cf0a0
jmp 0x140077385
mov rcx, rbp
mov r8, rdi
call fcn.1400cf0a0
jmp 0x140077678
movabs r12, 0xaaaaaaaaaaaaaaaa
jmp 0x140076b0f