Function at 0x45650b
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov dword [ebp - 4], 0xcccccccc
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + 0x66]
test ecx, ecx
je 0x456530
mov eax, 1
jmp 0x456748
mov esi, esp
push str.KLVideo.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov edx, dword [ebp - 4]
mov dword [edx + 0x6c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x6c], 0
jne 0x45655a
xor eax, eax
jmp 0x456748
mov esi, esp
push str.KLVideoSetSoundSystem
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x6c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x70], eax
mov esi, esp
push str.KLVideoSetSoundTrack
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x74], eax
mov esi, esp
push str.KLVideoOpen
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x78], eax
mov esi, esp
push str.KLVideoClose
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x7c], eax
mov esi, esp
push str.KLVideoWait
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x80], eax
mov esi, esp
push str.KLVideoCopyToBuffer
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x84], eax
mov esi, esp
push str.KLVideoDoFrame
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x88], eax
mov esi, esp
push str.KLVideoNextFrame
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x8c], eax
mov esi, esp
push str.KLVideoGetCurrentFrame
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x90], eax
mov esi, esp
push str.KLVideoSetSoundVolume
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x94], eax
mov edx, dword [ebp - 4]
cmp dword [edx + 0x70], 0
je 0x45670a
mov eax, dword [ebp - 4]
cmp dword [eax + 0x78], 0
je 0x45670a
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x7c], 0
je 0x45670a
mov edx, dword [ebp - 4]
cmp dword [edx + 0x80], 0
je 0x45670a
mov eax, dword [ebp - 4]
cmp dword [eax + 0x84], 0
je 0x45670a
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x88], 0
je 0x45670a
mov edx, dword [ebp - 4]
cmp dword [edx + 0x8c], 0
je 0x45670a
mov eax, dword [ebp - 4]
cmp dword [eax + 0x74], 0
jne 0x45672e
mov esi, esp
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x6c]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, esp
call sub.MSVCRTD.dll__chkesp
mov eax, dword [ebp - 4]
mov dword [eax + 0x6c], 0
xor eax, eax
jmp 0x456748
push 2
mov ecx, dword [ebp - 4]
push ecx
call fcn.0041446d
add esp, 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x66], 1
mov eax, 1
pop esi
add esp, 4
cmp ebp, esp
call sub.MSVCRTD.dll__chkesp
mov esp, ebp
pop ebp
ret