Function at 0x14005bc00
Capabilities:
Check for time delay via gettickcount
Print debug messages
Reference absolute stream path on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xb88
mov rax, qword [0x140173240]
xor rax, rsp
mov qword [rsp + 0xb70], rax
lea rcx, [rsp + 0x2e0]
call fcn.1400089c0
nop
mov rax, qword [rsp + 0xba8]
add rax, 0x48
mov edx, 0x104
mov rcx, rax
call qword [sym.imp.mfc140u.dll_Ordinal_4946]
mov rdx, rax
lea rcx, [rsp + 0x2e0]
call fcn.1400089d0
lea rcx, [rsp + 0x2e0]
call fcn.140008b40
mov r8, rax
lea rdx, str.recfile:_s
lea rcx, str.D:_svnplayersvnTLDrivingRecordPlayWndDlg.cpp_3233_:CPlayVideoWnd::OpenTTXRecordFile
call fcn.1400c46e0
nop
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0x2e0]
call fcn.140008b40
mov rdx, rax
mov rcx, qword [rsp + 0xd8]
call fcn.140001fa0
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xba0]
add rax, 0x338
mov rdx, qword [rsp + 0xe8]
mov rcx, rax
call fcn.1400a99f0
test eax, eax
je 0x14005bd1d
lea rdx, [0x14012cc38]
lea rcx, str.D:_svnplayersvnTLDrivingRecordPlayWndDlg.cpp_3236_:CPlayVideoWnd::OpenTTXRecordFile
call fcn.1400c46e0
nop
lea rcx, [rsp + 0x2e0]
call fcn.1400082e0
nop
mov rcx, qword [rsp + 0xba8]
call fcn.140015f40
nop
jmp 0x14005c874
mov rax, qword [rsp + 0xba0]
add rax, 0x338
lea rdx, [rsp + 0x220]
mov rcx, rax
call fcn.1400a9b30
movzx eax, byte [rsp + 0x24d]
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 3
jl 0x14005bd5e
mov dword [rsp + 0x68], 1
jmp 0x14005bd66
mov dword [rsp + 0x68], 0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xba0]
add rax, 0x338
mov rcx, rax
call fcn.1400a9af0
mov dword [rsp + 0x178], eax
mov dword [rsp + 0x8c], 0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x6c], 0
mov rax, qword [rsp + 0xba0]
add rax, 0x338
lea rcx, [rsp + 0x6c]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x8c]
lea rdx, [rsp + 0x208]
mov rcx, rax
call fcn.1400a9b90
lea rax, [rsp + 0x1f8]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
mov dword [rsp + 0x200], 0
mov dword [rsp + 0x1f8], 1
mov r8d, dword [rsp + 0x6c]
mov edx, dword [rsp + 0x70]
mov rcx, qword [rsp + 0xba0]
call fcn.14005bae0
mov dword [rsp + 0x204], eax
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x1fc], eax
mov rax, qword [rsp + 0xba0]
add rax, 0x338
lea rdx, [rsp + 0x270]
mov rcx, rax
call fcn.1400a9c80
mov rax, qword [rsp + 0x23c]
mov rcx, qword [rsp + 0x244]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 0x3e8
div rcx
mov dword [rsp + 0xd0], eax
xor edx, edx
mov rax, qword [rsp + 0x23c]
mov ecx, 0xf4240
div rcx
mov dword [rsp + 0x54], eax
xor edx, edx
mov rax, qword [rsp + 0x244]
mov ecx, 0xf4240
div rcx
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x4c], 0x2c0
mov dword [rsp + 0x48], 0x240
lea rax, [rsp + 0x1a0]
lea rcx, [rsp + 0x1f8]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov r9d, 0x19
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0xba0]
call fcn.14005b610
movzx eax, al
test eax, eax
jne 0x14005bf50
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4c]
lea rdx, str.InitDec:width:_d_height:_d_vCompress:_d
lea rcx, str.D:_svnplayersvnTLDrivingRecordPlayWndDlg.cpp_3274_:CPlayVideoWnd::OpenTTXRecordFile
call fcn.1400c46e0
nop
lea rcx, [rsp + 0x2e0]
call fcn.1400082e0
nop
mov rcx, qword [rsp + 0xba8]
call fcn.140015f40
nop
jmp 0x14005c874
mov byte [rsp + 0x43], 1
mov byte [rsp + 0x42], 1
mov dword [rsp + 0x90], 0
movzx eax, word [rsp + 0x208]
test eax, eax
jg 0x14005bf76
mov byte [rsp + 0x42], 0
movzx eax, byte [rsp + 0x24c]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x54]
mov dword [0x1405fd78c], eax
mov eax, dword [rsp + 0x94]
mov dword [0x1405fd788], eax
mov eax, dword [rsp + 0x54]
mov dword [0x1405fd790], eax
mov dword [0x1405fd824], 0
mov rax, qword [rsp + 0xba0]
mov rax, qword [rax + 0x148]
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x14005bfed
cmp dword [0x1405fd794], 0
je 0x14005bfed
mov r8d, dword [0x1405fd788]
mov edx, dword [0x1405fd78c]
mov rcx, qword [rsp + 0x60]
call fcn.140052460
nop
mov eax, dword [0x1405fd78c]
mov ecx, dword [0x1405fd788]
sub ecx, eax
mov eax, ecx
imul eax, eax, 0x3e8
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0xba0]
mov dword [rax + 0x2c4], 0
mov qword [rsp + 0x80], 0
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x41], 0
movzx eax, word [0x14012cf58]
mov word [rsp + 0x770], ax
lea rax, [rsp + 0x772]
mov rdi, rax
xor eax, eax
mov ecx, 0x3fe
rep stosb byte [rdi], al
xor eax, eax
cmp eax, 1
je 0x14005c784
lea rax, [rsp + 0xb0]
mov rdi, rax
xor eax, eax
mov ecx, 0x20
rep stosb byte [rdi], al
lea rax, [rsp + 0x1b8]
mov rdi, rax
xor eax, eax
mov ecx, 0x20
rep stosb byte [rdi], al
mov rax, qword [rsp + 0xba0]
cmp dword [rax + 0x1a0], 0
je 0x14005c0b2
mov rax, qword [rsp + 0xba0]
cmp dword [rax + 0x1a0], 7
jne 0x14005c0cb
lea rdx, str.break
lea rcx, str.D:_svnplayersvnTLDrivingRecordPlayWndDlg.cpp_3318_:CPlayVideoWnd::OpenTTXRecordFile
call fcn.1400c46e0
nop
jmp 0x14005c784
cmp qword [0x1405fd7e8], 0
je 0x14005c0e8
mov edx, 0xffffffff
mov rcx, qword [0x1405fd7e8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
mov rax, qword [rsp + 0xba0]
cmp dword [rax + 0x2c4], 0
je 0x14005c17d
mov rax, qword [rsp + 0xba0]
mov ecx, dword [rsp + 0x54]
cmp dword [rax + 0x2c4], ecx
jne 0x14005c12a
mov rax, qword [rsp + 0xba0]
add rax, 0x338
mov rcx, rax
call fcn.1400a9af0
nop
jmp 0x14005c166
mov rax, qword [rsp + 0xba0]
mov eax, dword [rax + 0x2c4]
imul rax, rax, 0xf4240
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0xba0]
add rax, 0x338
mov rdx, qword [rsp + 0xf0]
mov rcx, rax
call fcn.1400a9ce0
nop
mov rax, qword [rsp + 0xba0]
mov dword [rax + 0x2c4], 0
mov byte [rsp + 0x40], 0
mov rax, qword [rsp + 0xba0]
add rax, 0x338
lea r8, [rsp + 0x1b8]
lea rdx, [rsp + 0xb0]
mov rcx, rax
call fcn.1400a9c10
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0
je 0x14005c1cd
lea rdx, [0x14012ce58]
lea rcx, str.D:_svnplayersvnTLDrivingRecordPlayWndDlg.cpp_3347_:CPlayVideoWnd::OpenTTXRecordFile
call fcn.1400c46e0
nop
jmp 0x14005c784
cmp dword [rsp + 0xc4], 0
jne 0x14005c1dc
jmp 0x14005c05d
cmp dword [rsp + 0xcc], 2
jne 0x14005c25f
lea rcx, [0x14012cec8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rax, qword [rsp + 0xba0]
add rax, 0x2b0
mov edx, dword [0x1405fd818]
mov rcx, rax
call qword [sym.imp.tlgpu.dll_TLPLAYER_SetAudioVolume]
mov dword [rsp + 0x9c], 0
mov rax, qword [rsp + 0xba0]
add rax, 0x2b0
lea rcx, [rsp + 0x9c]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x770]
mov r8d, dword [rsp + 0xc4]
mov rdx, qword [rsp + 0xb8]
mov rcx, rax
call qword [sym.imp.tlgpu.dll_TLPLAYER_DecordOneAudioFrame]
nop
jmp 0x14005c05d
cmp dword [rsp + 0xcc], 3
jne 0x14005c26e
jmp 0x14005c05d
cmp dword [rsp + 0xcc], 0
jne 0x14005c284
mov byte [rsp + 0x40], 1
mov byte [rsp + 0x41], 5
jmp 0x14005c289
mov byte [rsp + 0x41], 1
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x14005c2a3
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x14005c05d
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x80], rax
mov r8, qword [rsp + 0x80]
lea rdx, str.pts:_llu_r_n
lea rcx, str.D:_svnplayersvnTLDrivingRecordPlayWndDlg.cpp_3387_:CPlayVideoWnd::OpenTTXRecordFile
call fcn.1400c46e0
nop
cmp qword [rsp + 0x80], 0
je 0x14005c348
mov rax, qword [rsp + 0xba0]
cmp qword [rax + 0x348], 0
je 0x14005c331
xor edx, edx
mov rax, qword [rsp + 0x80]
mov ecx, 0x3e8
div rcx
mov qword [rsp + 0xf8], rax
xor edx, edx
mov rcx, qword [rsp + 0xba0]
mov rax, qword [rcx + 0x348]
mov ecx, 0x3e8
div rcx
mov rcx, qword [rsp + 0xf8]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xba0]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x348], rcx
cmp dword [rsp + 0x44], 0x3e8
jbe 0x14005c35a
mov dword [rsp + 0x44], 0x21
cmp qword [rsp + 0x60], 0
je 0x14005c3e7
mov rax, qword [rsp + 0xba0]
cmp dword [rax + 0x1a0], 1
jne 0x14005c3e7
mov rax, qword [rsp + 0x23c]
mov rcx, qword [rsp + 0xb0]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 0x3e8
div rcx
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0xba0]
mov r9d, dword [rax + 0x228]
mov r8d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
call fcn.140053fd0
nop
mov rax, qword [rsp + 0xba0]
mov ecx, dword [rsp + 0x58]
cmp dword [rax + 0x228], ecx
ja 0x14005c3e7
mov rax, qword [rsp + 0xba0]
mov dword [rax + 0x228], 0
mov dword [rsp + 0xa8], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x74]
mov rdx, qword [rsp + 0xba0]
sub rcx, qword [rdx + 0x350]
cmp rax, rcx
jbe 0x14005c474
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x74]
mov rdx, qword [rsp + 0xba0]
sub rcx, qword [rdx + 0x350]
sub rax, rcx
mov dword [rsp + 0x44], eax
cvtsi2ss xmm0, dword [0x1405fd798]
movaps xmm1, xmm0
movss xmm0, dword [0x14014fe88]
call fcn.14004f150
movss dword [rsp + 0xa4], xmm0
mov eax, dword [rsp + 0x44]
cvtsi2ss xmm0, rax
divss xmm0, dword [rsp + 0xa4]
cvttss2si rax, xmm0
mov dword [rsp + 0x44], eax
jmp 0x14005c47c
mov dword [rsp + 0x44], 1
mov ecx, dword [rsp + 0x44]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r8d, dword [rsp + 0x44]
lea rdx, [0x14012d038]
lea rcx, str.D:_svnplayersvnTLDrivingRecordPlayWndDlg.cpp_3429_:CPlayVideoWnd::OpenTTXRecordFile
call fcn.1400c46e0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
mov rcx, qword [rsp + 0xba0]
mov qword [rcx + 0x350], rax
movzx eax, byte [rsp + 0x41]
cmp eax, 3
jl 0x14005c4c9
mov dword [rsp + 0x78], 3
jmp 0x14005c4d1
mov dword [rsp + 0x78], 0
mov rax, qword [rsp + 0xba0]
add rax, 0x2b0
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x4c]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x770]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0xc4]
mov rdx, qword [rsp + 0xb8]
mov rcx, rax
call qword [sym.imp.tlgpu.dll_TLPLAYER_DecodeFrame]
mov dword [rsp + 0xac], eax
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x14005c6fb
movzx eax, byte [rsp + 0x42]
test eax, eax
jne 0x14005c644
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x180]
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0x188]
mov qword [rsp + 0x110], rax
lea rdx, [0x14012cf64]
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x120], rax
lea rdx, [0x14012cf68]
mov rcx, qword [rsp + 0x110]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x128], rax
mov r8, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x130]
call fcn.140007470
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x140], rax
mov byte [rsp + 0x30], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x19
mov r9, qword [rsp + 0x140]
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0xba0]
call fcn.14006bd80
nop
jmp 0x14005c6f6
movsxd rax, dword [rsp + 0x204]
imul rax, rax, 0x14
lea rcx, [0x14012a240]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x250]
call fcn.1400053e0
nop
lea rax, [rsp + 0x190]
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x250]
call fcn.140005330
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x158], rax
mov byte [rsp + 0x30], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0x19
mov r9, qword [rsp + 0x158]
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0xba0]
call fcn.14006bd80
nop
lea rcx, [rsp + 0x250]
call fcn.1400053b0
nop
mov byte [rsp + 0x43], 0
cmp dword [rsp + 0xac], 0
je 0x14005c70a
jmp 0x14005c05d
mov rax, qword [rsp + 0xba0]
cmp dword [rax + 0x1a0], 8
jne 0x14005c72d
mov rax, qword [rsp + 0xba0]
mov dword [rax + 0x1a0], 2
mov rax, qword [rsp + 0xba0]
cmp dword [rax + 0x1a0], 2
jne 0x14005c77f
xor eax, eax
cmp eax, 1
je 0x14005c77f
mov rax, qword [rsp + 0xba0]
cmp dword [rax + 0x1a0], 2
je 0x14005c758
jmp 0x14005c77f
mov rax, qword [rsp + 0xba0]
add rax, 0x2b0
mov rcx, rax
call qword [sym.imp.tlgpu.dll_TLPLAYER_ShowLastFrame]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x14005c73e
jmp 0x14005c05d
mov rax, qword [rsp + 0xba0]
cmp dword [rax + 0x1a0], 7
je 0x14005c802
lea rax, [rsp + 0x198]
mov qword [rsp + 0x160], rax
lea rdx, [0x14012cf90]
mov rcx, qword [rsp + 0x160]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x170], rax
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9, qword [rsp + 0x170]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0xba0]
call fcn.14006bd80
nop
cmp qword [rsp + 0x60], 0
je 0x14005c81d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x60]
call fcn.140053fd0
nop
mov edx, 1
mov rcx, qword [rsp + 0xba0]
call fcn.14004f0a0
mov rax, qword [rsp + 0xba0]
mov dword [rax + 0x2c4], 0
mov rax, qword [rsp + 0xba0]
add rax, 0x338
mov rcx, rax
call fcn.1400a9aa0
nop
lea rcx, [rsp + 0x2e0]
call fcn.1400082e0
nop
mov rcx, qword [rsp + 0xba8]
call fcn.140015f40
nop
mov rcx, qword [rsp + 0xb70]
xor rcx, rsp
call fcn.140100c60
add rsp, 0xb88
pop rdi
pop rsi
ret