Function at 0x4170c0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 8]
cmp dword [eax], 0
je 0x4170e0
mov eax, dword [ebp - 4]
jmp 0x4172f5
push 0
push str.libmp4adpter.dll
push str.PlaySDK.dll
call fcn.00419ee0
add esp, 0xc
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov edx, dword [ebp - 8]
cmp dword [edx], 0
jne 0x41713d
call sym.TDPlayer.exe__sdk_log_buf_lock_0
call sym.TDPlayer.exe__sdk_log_buf_date_0
push 0x47
push 0x5b90b8
push 0x5b90d4
call sym.TDPlayer.exe_sdk_log_buf_msg
add esp, 0xc
push str._CLS_Mp4Adpter::LoadLib__load_libmp4adpter.dll_failed._n
call sym.TDPlayer.exe_sdk_err_buf_msg_unlock
add esp, 4
mov dword [ebp - 4], 0xffffffff
jmp 0x4172f2
push str.MP4_Open
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 4], eax
push str.MP4_Close
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 8], eax
push str.MP4_GetFileHead
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0xc], eax
push str.MP4_GetStartSampleTime
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x10], eax
push str.MP4_GetEndSampleTime
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x14], eax
push str.MP4_Read
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x18], eax
push str.MP4_Seek
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x1c], eax
push str.MP4_Ctl
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x20], eax
push str.MP4_GetVideoSampleIdByTime
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x24], eax
push str.MP4_IsMP4Format
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x28], eax
push str.MP4_GetLogicSdvInfo
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x2c], eax
push str.MP4_GetSignInfo
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x30], eax
push str.MP4_Free
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x34], eax
push str.MP4_CopyMP4FileNoAudio
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x38], eax
push str.MP4_GetEncryptStat
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x3c], eax
push str.MP4Rt_Open
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x40], eax
push str.MP4Rt_SetStreamAttribute
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x44], eax
push str.MP4Rt_Write
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x48], eax
push str.MP4Rt_Close
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 8]
mov dword [edx + 0x4c], eax
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret