Function at 0x14004aee0
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 r13d, r9d
mov qword [rsp + 0x60], r8
mov rbx, rdx
mov rbp, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0x6d8], rax
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0x20], rcx
movaps xmm6, xmmword [0x1402fccc0]
movups xmmword [rdx + 0x10], xmm6
movups xmmword [rdx], xmm6
mov al, byte [0x140355d30]
mov byte [rsp + 0xaf], al
test al, 0x19
jne 0x14004bff3
xor eax, eax
mov qword [rsp + 0xe8], rax
mov r12, rcx
mov qword [rsp + 0xf0], rcx
mov rdi, qword [rbp + 0x70]
jmp 0x14004afd1
tzcnt r15, r14
mov rsi, qword [rdi + r15*8 + 0x10]
test rsi, rsi
je 0x14004ba15
mov eax, 1
lock xadd dword [rsi], eax
test eax, eax
jle 0x14004b933
cmp eax, 0x7fffffff
je 0x14004b930
mov rax, qword [rdi + r15*8 + 0x10]
mov rax, qword [rax + 8]
mov rcx, rsi
call qword [0x14037e008]
lock dec dword [rsi]
je 0x14004ba21
btc r14, r15
jmp 0x14004afc5
xor r12d, r12d
jmp 0x14004b0a4
xor r14d, r14d
xchg qword [rdi], r14
test r14, r14
jne 0x14004af67
mov rdi, qword [rdi + 0x218]
test rdi, rdi
jne 0x14004afbf
mov qword [rsp + 0xf8], r12
mov sil, byte [0x140355d30]
test sil, 0x19
jne 0x14004c05d
xor ecx, ecx
movabs r12, 0xaaaaaaaaaaaaaaaa
mov rdi, r12
mov r14d, 1
lock xadd qword [rbp + 0x20], r14
mov r15, qword [rbp + 0x230]
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
jne 0x14004d4ec
mov r15, qword [rbp + 0x238]
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
jne 0x14004ccb3
test sil, 0x19
jne 0x14004ba51
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x14004bb32
lea rax, [rbp - 8]
mov qword [rsp + 0xa0], rax
lea r15, [rsp + 0x168]
mov rax, qword [rbp + 0x148]
test rax, rax
je 0x14004afb7
tzcnt rsi, rax
cmp r13d, 1
je 0x14004b945
lea rcx, [rbp + 0x120]
mov edx, esi
call fcn.1400c3040
mov r12, rax
cmp dword [rax + 0x78], 1
je 0x14004bb54
mov dword [rbp + 0x1a0], 0
test byte [0x140355d40], 0x19
jne 0x14004c93e
test r12, r12
je 0x14004b79b
cmp qword [r12 + 0x28], 0
je 0x14004b15b
mov r8d, 0x540
mov rcx, r15
mov dl, 0xaa
call fcn.140159120
mov qword [rsp + 0x160], 0
cmp qword [r12 + 0x10], 0
je 0x14004b15b
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 r14, qword [rcx + 0x18]
imul rsi, r8, 0xa8
mov rcx, qword [r14 + rsi]
test rcx, rcx
je 0x14004bc42
mov rax, qword [rcx + 0x18]
lea rdx, [0x140042220]
cmp rax, rdx
jne 0x14004bc20
cmp qword [r14 + rsi + 0xa0], 0
jne 0x14004bc06
mov rsi, qword [rsp + 0x160]
cmp rsi, 2
jae 0x14004c250
test rsi, rsi
jne 0x14004bb91
cmp qword [r12 + 0x10], 0
je 0x14004ba33
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
je 0x14004dc67
mov r13, qword [r12 + 0x30]
cmp qword [r13 + 0x180], 0
jne 0x14004baa3
cmp qword [r13 + 0x188], 0
jne 0x14004baa3
cmp dword [rbp + 0x80], 0
jne 0x14004ba3a
mov dword [rsp + 0x98], 0
cmp qword [rbp + 0x210], 0
jne 0x14004baa3
mov dword [rsp + 0x58], 0
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x142], xmm0
movupd xmmword [rsp + 0x132], xmm0
lea rax, [rsp + 0x160]
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 rcx, qword [rdx - 0x28]
mov qword [rsp + 0x68], rcx
mov qword [rdx - 0x28], r8
movups xmm0, xmmword [rdx - 0x10]
movaps xmmword [rsp + 0x120], xmm0
movupd xmm0, xmmword [rdx - 0x20]
movapd xmmword [rsp + 0x110], 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 + 0x80], 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 r15, rcx, 0xa8
mov rcx, qword [rsi + r15 + 0x98]
test rcx, rcx
jne 0x14004ba6a
lea rdi, [rsi + r15]
mov rsi, qword [rsi + r15 + 0x88]
test rsi, rsi
jne 0x14004c9f7
mov rcx, qword [rdi]
test rcx, rcx
jne 0x14004ba7d
mov rax, qword [r12]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
jne 0x14004b319
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x14004bbad
dec qword [r12 + 0x10]
jne 0x14004b4bd
cmp dword [r12 + 0x78], 0
jne 0x14004b4b1
mov rdi, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x14004b3fb
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [0x140356358]
lea rcx, [0x140038290]
cmp rax, rcx
jne 0x14004bbdb
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 0x14004bfcc
imul rax, rax, 0xf4240
cqo
idiv qword [0x1403627d8]
mov qword [rsp + 0x100], rax
cmp rax, qword [r12 + 0x20]
jl 0x14004b3fb
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 0x14004b3fb
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x14004b3e6
cmp rcx, r8
jb 0x14004bf9f
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14004ba95
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 0x14004c70b
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 0x14004b4a5
test al, al
je 0x14004ba4a
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 0x14004be94
mov rcx, qword [r12 + 0x28]
mov rdx, r12
call fcn.1400c3590
test byte [0x140355d30], 9
jne 0x14004ca69
mov r9, qword [rbp + 0x290]
mov rax, qword [rbp + 0x298]
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 + 0x2b0]
add rcx, qword [rbp + 0x2a8]
cmp rdx, rcx
jne 0x14004b52d
lea rcx, [rbp + 0x288]
call fcn.1400f79b0
mov r9, qword [rbp + 0x290]
mov rax, qword [rbp + 0x298]
cmp rax, r9
je 0x14004b936
mov rcx, qword [rbp + 0x2b0]
add rcx, qword [rbp + 0x2a8]
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 0x14004b936
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movups xmmword [r10 + 0x18], xmm1
movups xmmword [r10 + 8], xmm0
lea rdi, [r10 + 0x28]
lea rax, [rsp + 0x160]
mov ecx, 0xa
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov ecx, dword [rax + 0x50]
mov dword [r10 + 0x78], ecx
lea rcx, [rsp + 0x1b8]
mov al, byte [rax + 0x54]
mov byte [r10 + 0x7c], al
movzx eax, word [rcx]
mov word [r10 + 0x80], ax
mov al, byte [rcx + 2]
mov byte [r10 + 0x82], al
mov rax, qword [rsp + 0x70]
mov qword [r10 + 0x88], rax
mov rax, qword [rsp + 0x80]
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], r13
mov eax, dword [r13]
mov dword [r9 + rdx + 0xb0], eax
mov dword [r9 + rdx + 0xb8], 0
mov eax, dword [rsp + 0x98]
mov byte [r9 + rdx + 0xbc], al
mov eax, dword [rsp + 0x58]
mov byte [r9 + rdx + 0xbd], al
movzx eax, word [rsp + 0x150]
mov word [r9 + rdx + 0xde], ax
movups xmm0, xmmword [rsp + 0x130]
movups xmm1, xmmword [rsp + 0x140]
movups xmmword [r9 + rdx + 0xce], xmm1
movups xmmword [r9 + rdx + 0xbe], xmm0
mov rax, qword [r13 + 0xb8]
mov al, byte [rax + 0x38]
mov byte [r9 + rdx + 0xe0], al
movzx eax, byte [r10 + 0x82]
mov dword [r9 + rdx + 0xe4], eax
mov rcx, qword [rbp + 0x2b0]
inc rcx
mov qword [rbp + 0x2b0], rcx
add rcx, qword [rbp + 0x2a8]
mov r9, qword [rbp + 0x290]
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 + 0x298], r9
cmovne rdi, rcx
cmp rdi, rdx
je 0x14004b7b1
lea rsi, [rdi - 0xe8]
mov rcx, qword [rsp + 0xa0]
mov rdx, rsi
mov r8, qword [rsp + 0x60]
call fcn.14004ddb0
cmp qword [rdi - 0x48], 0
jne 0x14004b7ec
mov rax, qword [rdi - 0x50]
test rax, rax
jne 0x14004b80d
mov r14d, dword [rdi - 0x38]
movzx r15d, byte [rdi - 8]
mov rax, qword [rdi - 0x40]
mov rdi, qword [rax + 0x190]
test rdi, rdi
jne 0x14004b899
shl r14, 0x20
or r14, r15
mov byte [rbx], 1
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], r14
test byte [rsp + 0xaf], 0x19
jne 0x14004b7c0
mov rcx, qword [rsp + 0x6d8]
xor rcx, rsp
call fcn.140156fe0
mov rax, rbx
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 byte [rbx], 0
xorpd xmm0, xmm0
movupd xmmword [rbx + 8], xmm0
mov qword [rbx + 0x18], 0
jmp 0x14004b762
mov edi, 0xf68
add rdi, qword [r9 + rax*8 - 8]
jmp 0x14004b6fb
mov rax, qword [rsp + 0xe8]
cmp byte [rax], 0
je 0x14004b76c
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xf0]
call fcn.1401c7be0
jmp 0x14004b76c
mov rax, qword [rdi - 0x50]
test rax, rax
je 0x14004b800
mov al, byte [rax + 4]
test al, al
je 0x14004b722
mov rcx, rsi
call fcn.140257e80
jmp 0x14004b72f
mov al, byte [rax + 4]
test al, al
jne 0x14004b72f
cmp qword [rdi - 0x48], 0
je 0x14004b72f
mov rax, qword [rdi - 0x50]
test rax, rax
je 0x14004dd92
mov al, byte [rax + 4]
test al, al
jne 0x14004dd92
mov r14, qword [rdi - 0x48]
mov rax, qword [r14 + 0x18]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.140153bd4
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x14004b875
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x14004dd95
mov rcx, qword [r14 + 0x18]
mov qword [r14 + 0x18], rax
test rcx, rcx
je 0x14004b72f
lock dec dword [rcx]
jne 0x14004b72f
call fcn.140153bcc
jmp 0x14004b72f
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x14004dd77
cmp eax, 0x7fffffff
je 0x14004dd7a
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x14004dd7d
cmp eax, 0x7fffffff
je 0x14004dd80
lock dec dword [rdi]
jne 0x14004b8e3
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x14037e008]
mov byte [rbx], 1
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rdi
mov eax, 1
lock xadd dword [rdi], eax
test eax, eax
jle 0x14004dd83
cmp eax, 0x7fffffff
je 0x14004dd86
shl r14, 0x20
or r14, r15
mov qword [rbx + 0x18], r14
lock dec dword [rdi]
jne 0x14004b762
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [0x14037e008]
jmp 0x14004b762
int3
int3
int3
int3
int3
int3
int3
mov r14, r15
mov edi, r13d
mov rcx, qword [rbp + 0x138]
sub rcx, qword [rbp + 0x130]
sar rcx, 2
cmp rcx, rsi
je 0x14004b966
mov edx, esi
jmp 0x14004b98b
xor r12d, r12d
mov r13d, edi
mov r15, r14
jmp 0x14004b0a4
inc dl
movzx esi, dl
xor r12d, r12d
cmp rcx, rsi
mov r13d, edi
mov r15, r14
je 0x14004b0a4
bt rax, rsi
jae 0x14004b974
mov r8, qword [rbp + 0x180]
mov r9, qword [rbp + 0x188]
sub r9, r8
sar r9, 5
cmp r9, rsi
jbe 0x14004b93c
shl rsi, 5
mov r9, qword [r8 + rsi + 8]
cmp r9, qword [r8 + rsi + 0x10]
je 0x14004b974
lea rcx, [rbp + 0x178]
lea rsi, [rsp + 0x160]
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
movzx r8d, dl
mov rdx, rsi
call fcn.1400c32a0
cmp byte [rsi], 0
je 0x14004b966
mov r12, qword [rsp + 0x168]
movabs rax, 0xfffffffc00000000
and rax, r12
cmp rax, qword [0x140346fc8]
jne 0x14004b969
mov rcx, r12
call fcn.140151ea0
jmp 0x14004b969
mov rax, qword [8]
xor ecx, ecx
jmp 0x14004ba28
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [0x14037e008]
jmp 0x14004afb1
xor eax, eax
jmp 0x14004b189
mov dword [rsp + 0x98], 0
jmp 0x14004b1dd
xor eax, eax
jmp 0x14004b4a5
cmp byte [rcx], 0
je 0x14004b03e
mov rdx, rdi
mov r8, r12
call fcn.1401c7be0
jmp 0x14004b03e
lock dec dword [rcx]
jne 0x14004b2dd
call fcn.140153bcc
jmp 0x14004b2dd
lock dec dword [rcx]
jne 0x14004b2fe
mov rax, qword [rcx + 0x10]
call qword [0x14037e008]
jmp 0x14004b2fe
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14004b410
movsd xmm0, qword [rbp + 0x58]
mov al, 1
mov dword [rsp + 0x98], eax
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x14004b1dd
cmp byte [rbp + 0x100], 0
je 0x14004c937
mov rax, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x110]
mov qword [rbp + 0x108], 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 + 0x110], rdx
add rdx, rcx
shr rdx, 0xb
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
mulsd xmm1, qword [0x140307630]
ucomisd xmm0, xmm1
seta al
mov dword [rsp + 0x58], eax
mov r13, qword [r12 + 0x30]
jmp 0x14004b1e5
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
cmp rax, qword [rbp + 0x248]
jl 0x14004b04c
mov byte [rbp + 0x240], 1
jmp 0x14004b04c
mov rax, qword [rbp + 0x180]
mov rcx, qword [rbp + 0x188]
sub rcx, rax
sar rcx, 5
cmp rcx, rsi
jbe 0x14004b939
shl rsi, 5
mov rcx, qword [rax + rsi + 8]
cmp rcx, qword [rax + rsi + 0x10]
je 0x14004b09a
inc dword [rbp + 0x1a0]
jmp 0x14004b0a4
lea rcx, [rsp + 0x160]
call fcn.14026b5c0
cmp rsi, 1
je 0x14004b15b
jmp 0x14004b060
mov qword [rax + 0x20], 0
mov rsi, qword [r12]
mov qword [r12], rcx
test rsi, rsi
je 0x14004b319
mov rcx, rsi
call fcn.1400644c0
mov rcx, rsi
call fcn.140153bcc
jmp 0x14004b319
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [0x14037e008]
mov rax, qword [rsi]
jmp 0x14004b3b0
lea rcx, [rsp + 0x160]
call fcn.14026b700
jmp 0x14004bd5f
mov rax, qword [r14 + rsi + 0x98]
test rax, rax
je 0x14004bc30
mov al, byte [rax + 4]
test al, al
je 0x14004b140
jmp 0x14004bc30
xor edx, edx
call qword [0x14037e008]
test al, al
je 0x14004b131
mov rax, qword [r12]
mov r14, qword [rax + 0x18]
mov rdx, qword [rax]
mov rax, qword [rax + 8]
inc rax
xor r8d, r8d
cmp rax, rdx
cmovne r8, rax
mov rcx, qword [rsp + 0x160]
mov r10d, 8
test cl, 1
je 0x14004bc67
mov r10, qword [rsp + 0x170]
imul rax, r8, 0xa8
lea rdx, [r14 + rax]
mov r9, rcx
shr r9, 1
cmp r9, r10
je 0x14004bbf4
mov r8, r15
test cl, 1
je 0x14004bc91
mov r8, qword [rsp + 0x168]
imul r9, r9, 0xa8
mov r10, r8
add r10, r9
je 0x14004b93f
mov rcx, qword [rdx]
mov qword [r10], rcx
xor r11d, r11d
mov qword [rdx], r11
movupd xmm0, xmmword [rdx + 8]
movupd xmm1, xmmword [rdx + 0x18]
movupd xmmword [r10 + 0x18], xmm1
movupd xmmword [r10 + 8], xmm0
lea rdi, [r10 + 0x28]
lea rsi, [rdx + 0x28]
mov ecx, 0xa
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rdx + 0x7c]
mov byte [r10 + 0x7c], cl
mov ecx, dword [rdx + 0x78]
mov dword [r10 + 0x78], ecx
movzx ecx, word [r14 + rax + 0x80]
mov word [r8 + r9 + 0x80], cx
mov cl, byte [r14 + rax + 0x82]
mov byte [r8 + r9 + 0x82], cl
mov rcx, qword [r14 + rax + 0x88]
mov qword [r8 + r9 + 0x88], rcx
mov qword [r14 + rax + 0x88], r11
mov rcx, qword [r14 + rax + 0x90]
mov qword [r8 + r9 + 0x90], rcx
mov rcx, qword [r14 + rax + 0x98]
mov qword [r8 + r9 + 0x98], rcx
mov qword [r14 + rax + 0x98], r11
mov rax, qword [r14 + rax + 0xa0]
mov qword [r8 + r9 + 0xa0], rax
add qword [rsp + 0x160], 2
mov rax, qword [r12]
mov rcx, qword [rax + 8]
mov rdi, qword [rax + 0x18]
inc rcx
xor edx, edx
cmp rcx, qword [rax]
cmovne rdx, rcx
mov qword [rax + 8], rdx
imul r14, rdx, 0xa8
mov rcx, qword [rdi + r14 + 0x98]
test rcx, rcx
je 0x14004bd99
lock dec dword [rcx]
jne 0x14004bd99
call fcn.140153bcc
mov rsi, qword [rdi + r14 + 0x88]
test rsi, rsi
jne 0x14004bdd8
add rdi, r14
mov rcx, qword [rdi]
test rcx, rcx
jne 0x14004be0e
mov rax, qword [r12]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
jne 0x14004bdc8
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x14004be1f
dec qword [r12 + 0x10]
jne 0x14004b0ea
jmp 0x14004b140
lock dec dword [rsi + 8]
jne 0x14004bda6
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x140240070]
cmp qword [rcx + 0x10], rdx
jne 0x14004bdfe
lea rcx, [0x14026b450]
cmp rax, rcx
je 0x14004be46
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
jmp 0x14004bda6
lock dec dword [rcx]
jne 0x14004bdb1
mov rax, qword [rcx + 0x10]
call qword [0x14037e008]
jmp 0x14004bdb1
mov qword [rax + 0x20], 0
mov rsi, qword [r12]
mov qword [r12], rcx
test rsi, rsi
je 0x14004bdc8
mov rcx, rsi
call fcn.1400644c0
mov rcx, rsi
call fcn.140153bcc
jmp 0x14004bdc8
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14004be59
lock dec dword [rcx]
jne 0x14004be59
call fcn.140153bcc
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14004be67
lock dec dword [rcx]
je 0x14004be74
mov rcx, rsi
call fcn.140153bcc
jmp 0x14004bda6
call fcn.140101af0
jmp 0x14004be67
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [0x14037e008]
mov rax, qword [rsi]
jmp 0x14004bf1f
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
mov rax, qword [0x140356358]
lea rcx, [0x140038290]
cmp rax, rcx
jne 0x14004be7b
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
jl 0x14004bf07
mov rcx, qword [0x1403627d8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14004bf17
imul rax, rax, 0xf4240
cqo
idiv qword [0x1403627d8]
mov qword [rsp + 0x100], rax
cmp rax, qword [r12 + 0x20]
jl 0x14004b4bd
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 0x14004b4bd
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x14004bf5d
cmp rcx, r8
jae 0x14004b4bd
mov rcx, r12
call fcn.1401d2090
mov eax, 0x4c4b40
add rax, qword [rsp + 0x100]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x14004b4bd
mov rcx, r12
call fcn.1401d2090
mov eax, 0x4c4b40
add rax, qword [rsp + 0x100]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x14004b3fb
mov rcx, qword [0x1403627d8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14004b3a8
lea rsi, [rsp + 0x160]
mov rcx, rsi
call fcn.1400e35f0
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, [0x140355d30]
lea r12, str.SequenceManagerImpl::SelectNextTask
mov cl, 0x58
mov qword [rsp + 0xe8], rdx
mov r8, r12
xor r9d, r9d
call fcn.1401bfdf0
mov qword [rsp + 0xf0], rax
jmp 0x14004af61
lea rdi, [rsp + 0x160]
mov rcx, rdi
call fcn.1400e35f0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea r14, [0x140355d30]
lea rdi, str.SequenceManagerImpl::MoveReadyDelayedTasksToWorkQueues
mov cl, 0x58
mov rdx, r14
mov r8, rdi
xor r9d, r9d
call fcn.1401bfdf0
mov rcx, r14
mov r12, rax
jmp 0x14004affe
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 0x14004c525
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14004c0f4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x70], rax
mov rax, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0xb8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x98], rax
mov r15, qword [rdi + 0xd0]
mov rax, qword [rdi + 0xc8]
mov qword [rsp + 0x68], rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x140355d30], 0x19
je 0x14004c525
sub r15, qword [rsp + 0x68]
shr r15, 3
imul eax, r15d, 0x3cf3cf3d
mov rcx, qword [rsp + 0x58]
add ecx, dword [rsp + 0x70]
mov r15, qword [rsp + 0x98]
add r15d, eax
add r15d, ecx
mov ecx, dword [rdi]
call fcn.140103a40
mov rsi, rax
lea rcx, [rsp + 0x130]
call fcn.1400e35f0
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, [0x140307372]
mov qword [rdi + 8], rcx
movsxd rcx, r15d
mov qword [rdi + 0x18], rcx
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x130]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x140355d30]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.1401bfdf0
mov rcx, rdi
call fcn.1400bf794
jmp 0x14004c525
lea rsi, [rsp + 0x130]
mov rcx, rsi
call qword [0x14037e008]
mov rax, qword [rsi]
jmp 0x14004c30b
mov rcx, r12
call fcn.1401d2090
mov eax, 0x4c4b40
add rax, qword [rsp + 0x130]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x14004c356
mov r14, r15
cmp qword [r12 + 0x10], 0
jne 0x14004c503
cmp dword [r12 + 0x78], 0
jne 0x14004c416
mov r15, qword [r12 + 0x30]
cmp qword [r12 + 8], 0
je 0x14004c356
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
mov rax, qword [0x140356358]
lea rcx, [0x140038290]
cmp rax, rcx
jne 0x14004c20a
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
jl 0x14004c2f3
mov rcx, qword [0x1403627d8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14004c303
imul rax, rax, 0xf4240
cqo
idiv qword [0x1403627d8]
mov qword [rsp + 0x130], rax
cmp rax, qword [r12 + 0x20]
jl 0x14004c356
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 0x14004c356
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x14004c341
cmp rcx, r8
jb 0x14004c223
lea rsi, [r15 + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14004c370
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [r12]
mov rcx, qword [r15 + 0x28]
mov qword [r12], rcx
mov qword [r15 + 0x28], rax
mov rax, qword [r12 + 8]
mov rcx, qword [r15 + 0x30]
mov qword [r12 + 8], rcx
mov qword [r15 + 0x30], rax
mov rax, qword [r12 + 0x10]
mov rcx, qword [r15 + 0x38]
mov qword [r12 + 0x10], rcx
mov qword [r15 + 0x38], rax
mov rax, qword [r12 + 0x18]
mov rcx, qword [r15 + 0x40]
mov qword [r12 + 0x18], rcx
mov qword [r15 + 0x40], rax
mov rax, qword [r12 + 0x20]
mov rcx, qword [r15 + 0x48]
mov qword [r12 + 0x20], rcx
mov qword [r15 + 0x48], rax
cmp byte [r15 + 0x158], 0
jne 0x14004c535
mov rax, qword [r15 + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [r15 + 0x50]
cmp qword [r15 + 0xa8], 0
mov al, byte [r15 + 0x128]
jne 0x14004c409
test al, al
je 0x14004c499
mov al, byte [r15 + 0x130]
xor al, 1
mov byte [r15 + 0x51], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r12 + 8], 0
je 0x14004c503
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
mov rax, qword [0x140356358]
lea rcx, [0x140038290]
cmp rax, rcx
jne 0x14004c6f2
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
jl 0x14004c4a0
mov rcx, qword [0x1403627d8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14004c4b0
xor eax, eax
jmp 0x14004c409
imul rax, rax, 0xf4240
cqo
idiv qword [0x1403627d8]
mov qword [rsp + 0x130], rax
cmp rax, qword [r12 + 0x20]
jl 0x14004c503
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 0x14004c503
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x14004c4ee
cmp rcx, r8
jb 0x14004c6c5
cmp qword [r12 + 0x40], 0xffffffffffffffff
je 0x14004c518
mov rcx, qword [r12 + 0x28]
mov rdx, r12
call fcn.1400f0920
test byte [0x140355d30], 9
jne 0x14004c0c0
mov rsi, qword [rsp + 0x160]
mov r15, r14
jmp 0x14004b152
lea rdi, [rsp + 0x130]
movaps xmmword [rdi], xmm6
mov rdx, qword [r12]
mov rcx, rdi
call fcn.14026b550
mov rcx, qword [rdi]
test rcx, rcx
je 0x14004c592
cmp byte [r15 + 0x158], 0
je 0x14004c939
imul rax, qword [rsp + 0x138], 0xa8
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rcx + rax + 0x28]
cmp rdx, qword [r15 + 0x160]
jge 0x14004c599
lea rdi, [rsp + 0x130]
mov rcx, rdi
call fcn.1400bca60
jmp 0x14004c54c
xor ecx, ecx
jmp 0x14004c649
lea r8, [rcx + rax]
mov byte [r15 + 0x158], 0
mov edx, dword [r8 + 0x78]
mov r9, qword [r8 + 0x30]
test r9, r9
jne 0x14004c66d
xor r8d, r8d
cmp byte [r15 + 0x130], 0
mov rax, qword [rcx + rax + 0x90]
mov qword [r15 + 0x138], rax
mov qword [r15 + 0x140], r8
mov dword [r15 + 0x148], edx
jne 0x14004c5e8
mov byte [r15 + 0x130], 1
lea rdi, [r15 + 0x138]
mov rcx, qword [r15 + 0xb8]
mov eax, dword [rdi + 0x10]
lea rdx, [rsp + 0x6b0]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [rdi]
movapd xmmword [rdx], xmm0
call fcn.14026c860
cmp byte [r15 + 0x130], 0
je 0x14004c937
mov rcx, qword [r15 + 0xb0]
mov eax, dword [rdi + 0x10]
lea rdx, [rsp + 0x6b0]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [rdi]
movapd xmmword [rdx], xmm0
call fcn.14026c860
mov rcx, qword [rsp + 0x130]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x140346fc8]
jne 0x14004c3d6
call fcn.140151ea0
jmp 0x14004c3d6
cmp dword [r8 + 0x40], 0
je 0x14004c67c
mov r8, r9
jmp 0x14004c5b9
movabs r10, 0x8000000000000001
mov r8, qword [r8 + 0x38]
lea r11, [r8 + r10]
cmp r11, 2
jae 0x14004c6af
add r10, r9
cmp r10, 1
ja 0x14004c5b9
cmp r9, r8
je 0x14004c5b9
jmp 0x14004b942
lea r10, [r9 + r8]
sar r10, 0x3f
btc r10, 0x3f
add r9, r8
cmovo r9, r10
jmp 0x14004c674
mov rcx, r12
call fcn.1401d2090
mov eax, 0x4c4b40
add rax, qword [rsp + 0x130]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x20], rcx
jmp 0x14004c503
lea rsi, [rsp + 0x130]
mov rcx, rsi
call qword [0x14037e008]
mov rax, qword [rsi]
jmp 0x14004c4b8
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x108], rax
mov rax, qword [r12]
mov qword [rsp + 0x100], 0
test rax, rax
je 0x14004c742
mov r15, rax
mov rcx, rax
mov rax, qword [r15 + 8]
cmp qword [r15 + 0x10], rax
jne 0x14004c781
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x100], xmm0
xor eax, eax
mov qword [rsp + 0x78], rax
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x78]
cmp rax, qword [0x140346fc8]
jne 0x14004b475
mov rcx, qword [rsp + 0x78]
call fcn.140151ea0
jmp 0x14004b475
mov rcx, r15
movabs rdx, 0xfffffffc00000000
and rcx, rdx
cmp rcx, qword [0x140346fc8]
jne 0x14004c7b6
mov rcx, r15
mov qword [rsp + 0x90], r15
call fcn.140151d50
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 8]
lea r8, [rsp + 0x100]
mov rcx, r15
mov qword [r8], r15
inc rax
xor edx, edx
mov qword [rsp + 0x78], rdx
cmp rax, qword [r15]
mov ecx, 0
cmovne rcx, rax
mov qword [r8 + 8], rcx
cmp byte [rdi + 0x158], 0
je 0x14004c939
imul rax, qword [rsp + 0x108], 0xa8
mov rcx, qword [r15 + 0x18]
mov rdx, qword [rcx + rax + 0x28]
cmp rdx, qword [rdi + 0x160]
jge 0x14004c82b
lea rcx, [rsp + 0x100]
call fcn.1400bca60
mov rax, qword [rsp + 0x100]
mov r15, rax
test rax, rax
jne 0x14004c7de
jmp 0x14004c756
lea r8, [rcx + rax]
mov byte [rdi + 0x158], 0
mov edx, dword [r8 + 0x78]
mov r9, qword [r8 + 0x30]
test r9, r9
jne 0x14004c8df
xor r8d, r8d
mov rax, qword [rcx + rax + 0x90]
cmp byte [rdi + 0x130], 0
lea r15, [rdi + 0x138]
mov qword [rdi + 0x138], rax
mov qword [rdi + 0x140], r8
mov dword [rdi + 0x148], edx
jne 0x14004c87d
mov byte [rdi + 0x130], 1
mov rcx, qword [rdi + 0xb8]
mov eax, dword [r15 + 0x10]
lea rdx, [rsp + 0x6b0]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [r15]
movapd xmmword [rdx], xmm0
call fcn.14026c860
cmp byte [rdi + 0x130], 0
je 0x14004c937
mov rcx, qword [rdi + 0xb0]
mov eax, dword [r15 + 0x10]
lea rdx, [rsp + 0x6b0]
mov dword [rdx + 0x10], eax
movupd xmm0, xmmword [r15]
movapd xmmword [rdx], xmm0
call fcn.14026c860
mov rax, qword [rsp + 0x100]
jmp 0x14004c751
cmp dword [r8 + 0x40], 0
je 0x14004c8ee
mov r8, r9
jmp 0x14004c84a
movabs r10, 0x8000000000000001
mov r8, qword [r8 + 0x38]
lea r11, [r8 + r10]
cmp r11, 2
jae 0x14004c921
add r10, r9
cmp r10, 1
ja 0x14004c84a
cmp r9, r8
je 0x14004c84a
jmp 0x14004dd89
lea r10, [r9 + r8]
sar r10, 0x3f
btc r10, 0x3f
add r9, r8
cmovo r9, r10
jmp 0x14004c8e6
ud2
call fcn.1401e1808
lea rdx, [rsp + 0x130]
mov r14, qword [rsp + 0xa0]
mov rcx, r14
mov r8, r12
xor r9d, r9d
call fcn.140257dd0
lea rdi, [rsp + 0x6b0]
mov rcx, rdi
call fcn.1400e35f0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rsi, [rsp + 0x160]
movaps xmmword [rsi], xmm6
movaps xmmword [rsi + 0x10], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x20], rcx
mov word [rsi], 0x801
lea rcx, [0x140307311]
mov qword [rsi + 8], rcx
lea rcx, [rsp + 0x130]
mov rcx, qword [rcx]
mov qword [rsi + 0x18], rcx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x48], 0x800
mov qword [rsp + 0x28], 0
lea rdx, [0x140355d40]
lea r8, [0x14031aad0]
mov cl, 0x4f
xor r9d, r9d
call fcn.1401bfdf0
mov rcx, rsi
call fcn.1400bf794
jmp 0x14004b0b1
lock dec dword [rsi + 8]
jne 0x14004b2f2
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x140240070]
cmp qword [rcx + 0x10], rdx
jne 0x14004ca21
lea rcx, [0x14026b450]
cmp rax, rcx
je 0x14004ca34
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
jmp 0x14004b2f2
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14004ca47
lock dec dword [rcx]
jne 0x14004ca47
call fcn.140153bcc
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14004ca55
lock dec dword [rcx]
je 0x14004ca62
mov rcx, rsi
call fcn.140153bcc
jmp 0x14004b2f2
call fcn.140101af0
jmp 0x14004ca55
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 0x14004b4d7
lea rsi, [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14004ca9d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0xb0], rax
mov rax, qword [rdi + 0xb0]
mov rcx, qword [rdi + 0xb8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x90], rcx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x78], rax
mov r15, qword [rdi + 0xd0]
mov r12, qword [rdi + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x140355d30], 0x19
je 0x14004b4d7
sub r15, r12
shr r15, 3
imul eax, r15d, 0x3cf3cf3d
mov rcx, qword [rsp + 0x90]
add ecx, dword [rsp + 0xb0]
mov r15, qword [rsp + 0x78]
add r15d, eax
add r15d, ecx
mov ecx, dword [rdi]
call fcn.140103a40
mov rsi, rax
lea r12, [rsp + 0x100]
mov rcx, r12
call fcn.1400e35f0
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, [0x140307372]
mov qword [rdi + 8], rcx
movsxd rcx, r15d
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, [0x140355d30]
mov cl, 0x43
mov r8, rsi
xor r9d, r9d
call fcn.1401bfdf0
mov rcx, rdi
call fcn.1400bf794
jmp 0x14004b4d7
mov rdx, qword [r14 + 8]
mov dl, byte [rdx + 0x51]
xor r8d, r8d
cmp dl, cl
setae r8b
mov dword [rsp + 0x68], r8d
jmp 0x14004cf27
cmp r8, rdx
je 0x14004dda1
mov rcx, qword [r8 + 0x18]
jmp 0x14004cd97
cmp byte [r14 + 0x128], 0
je 0x14004cf70
mov rcx, r14
call fcn.14011fff0
lea r9, [rsp + 0x6b0]
mov rcx, qword [rsp + 0x58]
mov byte [r9], cl
mov ecx, 0xaaaaaaaa
mov dword [r9 + 1], ecx
mov dword [r9 + 4], ecx
mov rcx, qword [rsp + 0x70]
mov qword [r9 + 8], rcx
mov rcx, qword [rsp + 0x80]
mov qword [r9 + 0x10], rcx
mov ecx, dword [rsp + 0x68]
mov dword [r9 + 0x18], ecx
mov dword [r9 + 0x1c], r13d
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [r9 + 0x20], rcx
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x10]
mov byte [rsp + 0x20], al
lea r13, [rsp + 0x160]
mov rdx, r13
mov r8, qword [rsp + 0x60]
mov rax, r10
call qword [0x14037e008]
mov rcx, r13
mov al, byte [r13]
mov qword [rsp + 0x58], rax
mov eax, dword [r13 + 1]
mov dword [rsp + 0x110], eax
mov eax, dword [r13 + 4]
mov dword [rsp + 0x113], eax
mov rax, qword [r13 + 8]
mov qword [rsp + 0x70], rax
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x80], rax
mov eax, dword [r13 + 0x18]
mov dword [rsp + 0x68], eax
mov r13d, dword [r13 + 0x1c]
mov rax, qword [rcx + 0x20]
jmp 0x14004cf7a
mov qword [rsp + 0xa0], rcx
mov dword [rsp + 0x98], r13d
cmp dword [rax + 0x14], 1
jne 0x14004cd56
movabs rcx, 0x8000000000000001
mov r13, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rcx]
cmp rdx, 2
jae 0x14004cd00
cmp r13, rax
je 0x14004dd8f
shr rax, 0x3f
not rax
add rcx, rax
mov r13, rcx
jmp 0x14004cd59
xor ecx, ecx
cmp r13, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub r13, rax
cmovo r13, rdx
jmp 0x14004cd59
mov rax, qword [fcn.1400e35f0]
lea rcx, [rsp + 0x160]
call qword [0x14037e008]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
lea rax, [rsp + 0x160]
mov rax, qword [rax]
mov qword [rcx + 8], rax
jne 0x14004cd6c
mov rcx, qword [rsp + 0x60]
mov byte [rcx], 1
jmp 0x14004cd6c
mov r13, qword [rax]
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
je 0x14004cd1e
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
cmp r13, rax
mov r13d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
jg 0x14004b034
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x14004dda1
mov rcx, qword [rax + 0x18]
mov rdx, qword [rsp + 0x60]
mov r8, r14
call fcn.1400b87b0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
mov r13d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
je 0x14004b034
cmp dword [rax + 0x14], 1
jne 0x14004ce86
mov r13, qword [rax]
mov rax, qword [rax + 8]
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 2
jb 0x14004ce07
xor ecx, ecx
cmp r13, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rcx, rdx
sub r13, rax
cmovo r13, rcx
jmp 0x14004ce89
cmp r13, rax
je 0x14004dd9b
shr rax, 0x3f
not rax
movabs rcx, 0x8000000000000001
add rax, rcx
mov r13, rax
jmp 0x14004ce89
xor eax, eax
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x68], 0
xor r13d, r13d
jmp 0x14004cf58
mov rax, qword [fcn.1400e35f0]
lea rcx, [rsp + 0x160]
call qword [0x14037e008]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
mov rax, qword [rsp + 0x160]
mov qword [rcx + 8], rax
jne 0x14004ce9c
mov rcx, qword [rsp + 0x60]
mov byte [rcx], 1
jmp 0x14004ce9c
mov r13, qword [rax]
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
je 0x14004ce51
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
mov r8, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
cmp r13, rax
jle 0x14004cbc7
cmp r8, rdx
mov r13d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
je 0x14004b034
mov r14, qword [r8 + 0x18]
mov eax, 0xaaaaaaaa
mov dword [rsp + 0x113], eax
mov dword [rsp + 0x110], eax
mov rax, qword [r14 + 0xc8]
cmp rax, qword [r14 + 0xd0]
je 0x14004ce29
cmp byte [r14 + 0x128], 0
je 0x14004ce29
cmp dword [r14 + 0xe0], 0
mov rcx, qword [r14 + 0xb8]
mov rcx, qword [rcx + 0x38]
jne 0x14004cbad
mov rdx, qword [r14 + 8]
mov dl, byte [rdx + 0x51]
mov dword [rsp + 0x68], 0
mov r8d, dword [rax + 0x40]
xor r13d, r13d
cmp r8d, 2
cmovne r13d, r8d
cmp dl, cl
cmovae r13d, r8d
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x70], rcx
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x80], rax
mov al, 1
mov qword [rsp + 0x58], rax
mov rax, qword [r14 + 0xa8]
mov qword [rsp + 0x88], rax
test rax, rax
jne 0x14004cbd9
movabs rax, 0xaaaaaaaaaaaaaaaa
mov cl, byte [r14 + 0x198]
cmp byte [rsp + 0x58], 0
je 0x14004d023
test cl, cl
je 0x14004d023
mov rcx, qword [rsp + 0x70]
cmp qword [r14 + 0x1a0], rcx
jne 0x14004d034
mov rcx, qword [rsp + 0x80]
cmp qword [r14 + 0x1a8], rcx
jne 0x14004d034
mov ecx, dword [rsp + 0x68]
cmp dword [r14 + 0x1b0], ecx
jne 0x14004d034
cmp dword [r14 + 0x1b4], r13d
jne 0x14004d034
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
mov r13d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
je 0x14004b034
mov rdx, r14
mov r14, qword [rax + 0x18]
cmp rdx, r14
je 0x14004b034
jmp 0x14004d395
xor eax, eax
mov qword [rsp + 0xc8], rax
xor eax, eax
mov qword [rsp + 0xd0], rax
xor eax, eax
mov qword [rsp + 0xd8], rax
jmp 0x14004d0e7
cmp byte [rsp + 0x58], 0
setne dl
test cl, cl
setne cl
cmp dl, cl
je 0x14004cfcd
mov rcx, qword [rsp + 0x58]
mov byte [r14 + 0x198], cl
mov ecx, dword [rsp + 0x110]
mov edx, dword [rsp + 0x113]
mov dword [r14 + 0x199], ecx
mov dword [r14 + 0x19c], edx
mov rcx, qword [rsp + 0x70]
mov qword [r14 + 0x1a0], rcx
mov rcx, qword [rsp + 0x80]
mov qword [r14 + 0x1a8], rcx
mov ecx, dword [rsp + 0x68]
mov dword [r14 + 0x1b0], ecx
mov dword [r14 + 0x1b4], r13d
mov qword [r14 + 0x1b8], rax
mov rax, qword [r14 + 0xa0]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x78], rax
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xb0], rax
cmp rcx, rax
je 0x14004d000
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
mov qword [rsp + 0xd8], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0xd0], rcx
mov eax, dword [rax + 0x14]
mov qword [rsp + 0xc8], rax
mov rax, qword [r14 + 0x120]
mov qword [rsp + 0x90], rax
cmp rax, 0xffffffffffffffff
je 0x14004d30a
mov rax, qword [rsp + 0xb0]
sub rax, qword [rsp + 0x88]
sar rax, 5
cmp rax, qword [rsp + 0x90]
jbe 0x14004d3c7
mov rax, qword [rsp + 0x90]
shl rax, 5
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + rax + 0x10]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x78]
add rax, 8
mov qword [rsp + 0xb8], rax
cmp byte [rsp + 0x58], 0
je 0x14004d260
movabs rax, 0xfffffffc00000000
and rax, r14
mov r8, qword [rsp + 0x90]
cmp rax, qword [0x140346fc8]
jne 0x14004d18a
mov rcx, r14
call fcn.140151d50
mov r8, qword [r14 + 0x120]
lea r9, [rsp + 0x160]
mov rax, qword [rsp + 0x70]
mov qword [r9], rax
mov rax, qword [rsp + 0x80]
mov qword [r9 + 8], rax
mov eax, dword [rsp + 0x68]
mov dword [r9 + 0x10], eax
mov dword [r9 + 0x14], r13d
mov qword [r9 + 0x18], r14
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0xb8]
call fcn.1400ec170
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
cmp rax, rcx
je 0x14004d256
mov r8, qword [rax]
mov r9, qword [rax + 8]
mov edx, dword [rax + 0x14]
cmp qword [rsp + 0x90], 0xffffffffffffffff
je 0x14004d205
cmp dword [rsp + 0xc0], 1
jne 0x14004d205
mov r10, qword [rsp + 0x78]
dec dword [r10 + 0x28]
cmp byte [rsp + 0x58], 0
je 0x14004d21c
cmp dword [rsp + 0x68], 1
jne 0x14004d21c
mov r10, qword [rsp + 0x78]
inc dword [r10 + 0x28]
mov r10, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], r10
je 0x14004d27a
cmp rax, rcx
je 0x14004d27a
cmp r8, qword [rsp + 0xd8]
jne 0x14004d29d
cmp r9, qword [rsp + 0xd0]
jne 0x14004d29d
cmp edx, dword [rsp + 0xc8]
je 0x14004cfcd
jmp 0x14004d29d
xor r8d, r8d
xor r9d, r9d
xor edx, edx
jmp 0x14004d1e7
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x90]
call fcn.1401527b0
jmp 0x14004d1cb
cmp rax, rcx
setne dl
mov r8, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], r8
setne r8b
cmp r8b, dl
je 0x14004cfcd
cmp rax, rcx
je 0x14004d2ed
movupd xmm0, xmmword [rax]
mov eax, dword [rax + 0x14]
movupd xmmword [rsp + 0x168], xmm0
mov dword [rsp + 0x178], 0
mov dword [rsp + 0x17c], eax
mov al, 1
lea r8, [rsp + 0x160]
mov byte [r8], al
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, qword [rsp + 0x60]
call qword [0x14037e008]
jmp 0x14004cfcd
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x168], xmm0
mov qword [rsp + 0x178], 0
xor eax, eax
jmp 0x14004d2c6
mov dword [rsp + 0xc0], 0xaaaaaaaa
cmp byte [rsp + 0x58], 0
je 0x14004d1cb
mov rax, qword [rsp + 0x78]
add rax, 8
mov qword [rsp + 0xb8], rax
movabs rax, 0xfffffffc00000000
and rax, r14
cmp rax, qword [0x140346fc8]
jne 0x14004d34f
mov rcx, r14
call fcn.140151d50
lea r8, [rsp + 0x160]
mov rax, qword [rsp + 0x70]
mov qword [r8], rax
mov rax, qword [rsp + 0x80]
mov qword [r8 + 8], rax
mov eax, dword [rsp + 0x68]
mov dword [r8 + 0x10], eax
mov dword [r8 + 0x14], r13d
mov qword [r8 + 0x18], r14
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0xb8]
call fcn.140152f60
jmp 0x14004d1cb
mov rcx, r14
mov rdx, qword [rsp + 0x60]
call fcn.1400ebca0
mov rcx, qword [rsp + 0xa0]
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
jne 0x14004cfeb
jmp 0x14004b034
mov rcx, qword [rsp + 0x90]
jmp 0x14004d3cc
mov rcx, qword [rsp + 0x78]
add rcx, 0x10
call fcn.1401bf470
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 8]
mov dl, byte [rdx + 0x51]
xor r8d, r8d
cmp dl, cl
setae r8b
mov dword [rsp + 0x80], r8d
jmp 0x14004d778
cmp r8, rdx
je 0x14004dd9e
mov rcx, qword [r8 + 0x18]
jmp 0x14004d5d0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x128], 0
je 0x14004d7c3
mov rcx, qword [rsp + 0x58]
call fcn.14011fff0
lea r9, [rsp + 0x6b0]
mov rcx, qword [rsp + 0x70]
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 + 0x88]
mov qword [r9 + 0x10], rcx
mov ecx, dword [rsp + 0x80]
mov dword [r9 + 0x18], ecx
mov dword [r9 + 0x1c], r13d
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [r9 + 0x20], rcx
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x10]
mov byte [rsp + 0x20], al
lea r13, [rsp + 0x160]
mov rdx, r13
mov r8, qword [rsp + 0x60]
mov rax, r10
call qword [0x14037e008]
mov rcx, r13
mov al, byte [r13]
mov qword [rsp + 0x70], rax
mov eax, dword [r13 + 1]
mov dword [rsp + 0x110], eax
mov eax, dword [r13 + 4]
mov dword [rsp + 0x113], eax
mov rax, qword [r13 + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x88], rax
mov eax, dword [r13 + 0x18]
mov dword [rsp + 0x80], eax
mov r13d, dword [r13 + 0x1c]
mov rax, qword [rcx + 0x20]
jmp 0x14004d7cd
mov qword [rsp + 0xa0], rcx
mov dword [rsp + 0x98], r13d
cmp dword [rax + 0x14], 1
jne 0x14004d58f
movabs rcx, 0x8000000000000001
mov r13, qword [rax]
mov rax, qword [rax + 8]
lea rdx, [rax + rcx]
cmp rdx, 2
jae 0x14004d539
cmp r13, rax
je 0x14004dd8c
shr rax, 0x3f
not rax
add rcx, rax
mov r13, rcx
jmp 0x14004d592
xor ecx, ecx
cmp r13, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub r13, rax
cmovo r13, rdx
jmp 0x14004d592
mov rax, qword [fcn.1400e35f0]
lea rcx, [rsp + 0x160]
call qword [0x14037e008]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
lea rax, [rsp + 0x160]
mov rax, qword [rax]
mov qword [rcx + 8], rax
jne 0x14004d5a5
mov rcx, qword [rsp + 0x60]
mov byte [rcx], 1
jmp 0x14004d5a5
mov r13, qword [rax]
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
je 0x14004d557
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
cmp r13, rax
mov r13d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
jg 0x14004b01f
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
je 0x14004dd9e
mov rcx, qword [rax + 0x18]
mov rdx, qword [rsp + 0x60]
mov r8, r14
call fcn.1400b87b0
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
mov r13d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
je 0x14004b01f
cmp dword [rax + 0x14], 1
jne 0x14004d6c2
mov r13, qword [rax]
mov rax, qword [rax + 8]
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 2
jb 0x14004d640
xor ecx, ecx
cmp r13, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rcx, rdx
sub r13, rax
cmovo r13, rcx
jmp 0x14004d6c5
cmp r13, rax
je 0x14004dd98
shr rax, 0x3f
not rax
movabs rcx, 0x8000000000000001
add rax, rcx
mov r13, rax
jmp 0x14004d6c5
xor eax, eax
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x80], 0
xor r13d, r13d
jmp 0x14004d7a9
mov rax, qword [fcn.1400e35f0]
lea rcx, [rsp + 0x160]
call qword [0x14037e008]
mov rcx, qword [rsp + 0x60]
cmp byte [rcx], 0
mov rax, qword [rsp + 0x160]
mov qword [rcx + 8], rax
jne 0x14004d6d8
mov rcx, qword [rsp + 0x60]
mov byte [rcx], 1
jmp 0x14004d6d8
mov r13, qword [rax]
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
je 0x14004d68d
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
mov r8, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
cmp r13, rax
jle 0x14004d3f7
cmp r8, rdx
mov r13d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
je 0x14004b01f
mov rcx, qword [r8 + 0x18]
mov eax, 0xaaaaaaaa
mov dword [rsp + 0x113], eax
mov dword [rsp + 0x110], eax
mov rax, qword [rcx + 0xc8]
mov qword [rsp + 0x58], rcx
cmp rax, qword [rcx + 0xd0]
je 0x14004d662
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 0x128], 0
je 0x14004d662
mov rcx, qword [rsp + 0x58]
cmp dword [rcx + 0xe0], 0
mov rcx, qword [rcx + 0xb8]
mov rcx, qword [rcx + 0x38]
jne 0x14004d3d5
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 8]
mov dl, byte [rdx + 0x51]
mov dword [rsp + 0x80], 0
mov r8d, dword [rax + 0x40]
xor r13d, r13d
cmp r8d, 2
cmovne r13d, r8d
cmp dl, cl
cmovae r13d, r8d
mov rcx, qword [rax + 0x30]
mov qword [rsp + 0x68], rcx
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x88], rax
mov al, 1
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14004d409
movabs rax, 0xaaaaaaaaaaaaaaaa
mov rcx, qword [rsp + 0x58]
mov cl, byte [rcx + 0x198]
cmp byte [rsp + 0x70], 0
je 0x14004d89b
test cl, cl
je 0x14004d89b
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
cmp qword [rcx + 0x1a0], rdx
jne 0x14004d8ac
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x88]
cmp qword [rcx + 0x1a8], rdx
jne 0x14004d8ac
mov rcx, qword [rsp + 0x58]
mov edx, dword [rsp + 0x80]
cmp dword [rcx + 0x1b0], edx
jne 0x14004d8ac
mov rcx, qword [rsp + 0x58]
cmp dword [rcx + 0x1b4], r13d
jne 0x14004d8ac
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
mov r13d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
je 0x14004b01f
mov rdx, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x58], rax
cmp rdx, rax
je 0x14004b01f
jmp 0x14004dc3d
xor eax, eax
mov qword [rsp + 0xb8], rax
xor eax, eax
mov qword [rsp + 0xc8], rax
xor eax, eax
mov qword [rsp + 0xd0], rax
jmp 0x14004d964
cmp byte [rsp + 0x70], 0
setne dl
test cl, cl
setne cl
cmp dl, cl
je 0x14004d83e
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov byte [r8 + 0x198], cl
mov ecx, dword [rsp + 0x110]
mov edx, dword [rsp + 0x113]
mov dword [r8 + 0x199], ecx
mov dword [r8 + 0x19c], edx
mov rcx, qword [rsp + 0x68]
mov qword [r8 + 0x1a0], rcx
mov rcx, qword [rsp + 0x88]
mov qword [r8 + 0x1a8], rcx
mov ecx, dword [rsp + 0x80]
mov dword [r8 + 0x1b0], ecx
mov dword [r8 + 0x1b4], r13d
mov qword [r8 + 0x1b8], rax
mov rax, qword [r8 + 0xa0]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x90], rax
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0xc0], rax
cmp rcx, rax
je 0x14004d878
mov rax, qword [rsp + 0x78]
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 qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x120]
mov qword [rsp + 0xb0], rax
cmp rax, 0xffffffffffffffff
je 0x14004dba3
mov rax, qword [rsp + 0xc0]
sub rax, qword [rsp + 0x78]
sar rax, 5
cmp rax, qword [rsp + 0xb0]
jbe 0x14004d3bd
mov rax, qword [rsp + 0xb0]
shl rax, 5
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax + 0x10]
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x90]
add rax, 8
mov qword [rsp + 0xe0], rax
cmp byte [rsp + 0x70], 0
je 0x14004daf9
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x58]
mov r8, qword [rsp + 0xb0]
cmp rax, qword [0x140346fc8]
jne 0x14004da12
mov rcx, qword [rsp + 0x58]
call fcn.140151d50
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x120]
lea r9, [rsp + 0x160]
mov rax, qword [rsp + 0x68]
mov qword [r9], rax
mov rax, qword [rsp + 0x88]
mov qword [r9 + 8], rax
mov eax, dword [rsp + 0x80]
mov dword [r9 + 0x10], eax
mov dword [r9 + 0x14], r13d
mov rax, qword [rsp + 0x58]
mov qword [r9 + 0x18], rax
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0xe0]
call fcn.1400ec170
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
cmp rax, rcx
je 0x14004daef
mov r8, qword [rax]
mov r9, qword [rax + 8]
mov edx, dword [rax + 0x14]
cmp qword [rsp + 0xb0], 0xffffffffffffffff
je 0x14004da9b
cmp dword [rsp + 0xd8], 1
jne 0x14004da9b
mov r10, qword [rsp + 0x90]
dec dword [r10 + 0x28]
cmp byte [rsp + 0x70], 0
je 0x14004dab8
cmp dword [rsp + 0x80], 1
jne 0x14004dab8
mov r10, qword [rsp + 0x90]
inc dword [r10 + 0x28]
mov r10, qword [rsp + 0xc0]
cmp qword [rsp + 0x78], r10
je 0x14004db13
cmp rax, rcx
je 0x14004db13
cmp r8, qword [rsp + 0xd0]
jne 0x14004db33
cmp r9, qword [rsp + 0xc8]
jne 0x14004db33
cmp edx, dword [rsp + 0xb8]
je 0x14004d83e
jmp 0x14004db33
xor r8d, r8d
xor r9d, r9d
xor edx, edx
jmp 0x14004da7a
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xb0]
call fcn.1401527b0
jmp 0x14004da5b
cmp rax, rcx
setne dl
mov r8, qword [rsp + 0xc0]
cmp qword [rsp + 0x78], r8
setne r8b
cmp r8b, dl
je 0x14004d83e
cmp rax, rcx
je 0x14004db86
movupd xmm0, xmmword [rax]
mov eax, dword [rax + 0x14]
movupd xmmword [rsp + 0x168], xmm0
mov dword [rsp + 0x178], 0
mov dword [rsp + 0x17c], eax
mov al, 1
lea r8, [rsp + 0x160]
mov byte [r8], al
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, qword [rsp + 0x60]
call qword [0x14037e008]
jmp 0x14004d83e
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x168], xmm0
mov qword [rsp + 0x178], 0
xor eax, eax
jmp 0x14004db5c
mov dword [rsp + 0xd8], 0xaaaaaaaa
cmp byte [rsp + 0x70], 0
je 0x14004da5b
mov rax, qword [rsp + 0x90]
add rax, 8
mov qword [rsp + 0xe0], rax
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x58]
cmp rax, qword [0x140346fc8]
jne 0x14004dbef
mov rcx, qword [rsp + 0x58]
call fcn.140151d50
lea r8, [rsp + 0x160]
mov rax, qword [rsp + 0x68]
mov qword [r8], rax
mov rax, qword [rsp + 0x88]
mov qword [r8 + 8], rax
mov eax, dword [rsp + 0x80]
mov dword [r8 + 0x10], eax
mov dword [r8 + 0x14], r13d
mov rax, qword [rsp + 0x58]
mov qword [r8 + 0x18], rax
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0xe0]
call fcn.140152f60
jmp 0x14004da5b
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
call fcn.1400ebca0
mov rcx, qword [rsp + 0xa0]
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15 + 0x18]
jne 0x14004d85c
jmp 0x14004b01f
cmp dword [rbp + 0x80], 0
jle 0x14004b196
lea rsi, [rbp + 0x88]
lea rdi, [rsp + 0x160]
mov r8d, 0xb8
mov rcx, rdi
mov dl, 0xaa
call fcn.140159120
mov rcx, r12
mov rdx, rdi
call fcn.1400abea0
mov rax, qword [r12 + 0x30]
mov qword [rdi + 0xa8], rax
mov eax, dword [r12 + 0x78]
mov dword [rdi + 0xb0], eax
mov rcx, rsi
mov rdx, rdi
call fcn.14014ca40
mov rcx, qword [rdi + 0x98]
test rcx, rcx
je 0x14004dcd6
lock dec dword [rcx]
jne 0x14004dcd6
call fcn.140153bcc
mov rsi, qword [rsp + 0x1e8]
test rsi, rsi
jne 0x14004dd0c
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x14004b060
lock dec dword [rcx]
jne 0x14004b060
mov rax, qword [rcx + 0x10]
call qword [0x14037e008]
jmp 0x14004b060
lock dec dword [rsi + 8]
jne 0x14004dce3
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x140240070]
cmp qword [rcx + 0x10], rdx
jne 0x14004dd32
lea rcx, [0x14026b450]
cmp rax, rcx
je 0x14004dd42
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
jmp 0x14004dce3
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14004dd55
lock dec dword [rcx]
jne 0x14004dd55
call fcn.140153bcc
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14004dd63
lock dec dword [rcx]
je 0x14004dd70
mov rcx, rsi
call fcn.140153bcc
jmp 0x14004dce3
call fcn.140101af0
jmp 0x14004dd63
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3