Function at 0x1800123e0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x180054040]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov r14, rcx
xor r15d, r15d
mov rax, qword [rcx + 0x1e0]
mov r13, qword [rax + 0xb8]
test r13, r13
je 0x1800125ad
cmp dword [rcx + 0x1b0], r15d
jne 0x1800128da
lea rbx, [r13 + 0xc0]
nop dword [rax]
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x68], 0
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rdi, qword [r13 + 0xd0]
test rdi, rdi
je 0x18001249d
mov dword [rsp + 0x40], r15d
lea rdx, [rsp + 0x40]
mov rcx, qword [rdi + 0x58]
call sub.EarthPtDll64.dll_PtDllGetStreamSize
mov edx, eax
mov rcx, rdi
call fcn.180007e00
nop
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [rsp + 0x40]
jmp 0x1800124a9
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, r15d
mov byte [rsp + 0x68], 1
cmp eax, dword [r14 + 0x58]
jae 0x1800124c4
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18001259a
cmp dword [r14 + 0x74], 0
setne dl
mov rcx, qword [r14 + 0x1a0]
call fcn.180002ed0
mov rdi, rax
test rax, rax
je 0x18001259a
mov esi, dword [r14 + 0x58]
mov r12, qword [rax + 0x10]
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x48], 0
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r15, qword [r13 + 0xd0]
test r15, r15
je 0x180012546
xor eax, eax
mov dword [rsp + 0x40], eax
lea r9, [rsp + 0x40]
mov r8d, esi
mov rdx, r12
mov rcx, qword [r15 + 0x58]
call sub.EarthPtDll64.dll_PtDllGetStreamData
mov edx, eax
mov rcx, r15
call fcn.180007e00
movzx r15d, al
test al, al
cmovne esi, dword [rsp + 0x40]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x180012554
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov r15d, eax
mov byte [rsp + 0x48], 1
mov edx, esi
test r15d, r15d
mov r15d, 0
cmove edx, r15d
mov rcx, rdi
call fcn.180003f00
mov rdx, rdi
mov rcx, qword [r14 + 0x1a0]
call fcn.180003120
test al, al
je 0x18001259a
mov rcx, qword [r14 + 0x1b8]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x18001259a
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp dword [r14 + 0x1b0], 0
je 0x180012450
jmp 0x1800128da
lea r9, [rcx + 0xc0]
mov rcx, qword [r9 + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 7
jb 0x180012912
cmp qword [r9 + 0x18], 7
jbe 0x1800125d9
mov r9, qword [r9]
mov qword [rsp + 0x30], 7
lea rax, str._Stream
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x48]
call fcn.180005f10
lea rax, [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov esi, dword [r14 + 0x48]
mov edi, dword [r14 + 0x58]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x78]
call fcn.180004420
lea ebx, [rsi*4]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], esi
mov r9d, edi
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.180009910
lea r13, vtable.PRY8EAlByw::CSharedTransportStreamer.0
mov qword [rbp - 0x60], r13
mov eax, dword [rbp - 0x20]
sub eax, ebx
mov dword [rbp + 0x6c], eax
mov dword [rbp + 0x68], esi
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x180012694
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001268f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001290c
call fcn.180016020
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r15w
mov edi, r15d
cmp dword [r14 + 0x1b0], r15d
jne 0x1800128a4
lea r12, [r14 + 0x6c]
nop dword [rax]
test edi, edi
jne 0x180012794
lea r12, [r14 + 0x6c]
mov r15d, dword [r12]
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 8]
test al, al
je 0x18001289d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov ebx, eax
mov edx, eax
sub edx, esi
mov ecx, esi
sub ecx, eax
cmp eax, esi
cmovae ecx, edx
cmp ecx, r15d
ja 0x180012778
lea r8, [rbp + 0x28]
cmp qword [rbp + 0x40], 7
cmova r8, qword [rbp + 0x28]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.KERNEL32.dll_OpenEventW]
mov r13, rax
lea rcx, [rax + 1]
test rcx, 0xfffffffffffffffe
jne 0x18001273d
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x1800126eb
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, ebx
mov edx, ebx
sub edx, eax
cmp eax, ebx
cmovae edx, ecx
cmp edx, r15d
jbe 0x18001275c
xor eax, eax
mov r15d, eax
jmp 0x18001275f
sub r15d, edx
mov edx, r15d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, eax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18001277d
mov ebx, 0x102
cmp ebx, 0x102
je 0x180012876
test ebx, ebx
jne 0x18001289d
xor r15d, r15d
mov dword [rsp + 0x40], r15d
cmp dword [r14 + 0x74], 0
setne dl
mov rcx, qword [r14 + 0x1a0]
call fcn.180002ed0
mov rbx, rax
test rax, rax
je 0x180012808
mov r9d, dword [r12]
lea r8, [rsp + 0x40]
mov rdx, qword [rax + 0x10]
lea rcx, [rbp - 0x60]
call fcn.18000a1b0
test eax, eax
mov edx, dword [rsp + 0x40]
jne 0x1800127d6
mov rdx, r15
mov rcx, rbx
call fcn.180003f00
mov rdx, rbx
mov rcx, qword [r14 + 0x1a0]
call fcn.180003120
test al, al
je 0x180012808
mov rcx, qword [r14 + 0x1b8]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x180012808
call qword [sym.imp.KERNEL32.dll_SetEvent]
test edi, edi
jne 0x180012889
mov ebx, dword [r12]
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 8]
test al, al
je 0x180012884
cmp dword [rbp + 0x58], edi
je 0x180012884
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 8]
test al, al
je 0x180012868
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x180012868
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x180012868
mov r8d, dword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
lea rcx, [rbp + 0x50]
call fcn.1800410f0
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x180012868
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edi, dword [rbp + 0x50]
mov ecx, dword [rbp + 0x54]
cmp edi, ecx
jb 0x18001287b
sub edi, ecx
jmp 0x18001288f
xor r15d, r15d
jmp 0x18001288f
mov eax, dword [rbp + 0x4c]
sub eax, ecx
add edi, eax
jmp 0x18001288f
mov edi, r15d
jmp 0x18001288f
dec edi
lea r12, [r14 + 0x6c]
cmp dword [r14 + 0x1b0], 0
je 0x1800126c0
lea r13, vtable.PRY8EAlByw::CSharedTransportStreamer.0
mov qword [rbp - 0x60], r13
mov eax, dword [rbp + 0x68]
cmp eax, dword [rbp + 0x4c]
jae 0x1800128d1
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x1800128c2
mov rcx, qword [rcx + rax*8]
test rcx, rcx
jne 0x1800128cb
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x1800128d1
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea rcx, [rbp - 0x60]
call fcn.180009d10
xor eax, eax
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.180016000
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180020d70
int3
call fcn.180001400
int3