Function at 0x652d64
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [0x00866a48]
test rax, rax
je 0x652d8e
mov edi, 1
add rax, rdi
mov qword [0x00866a48], rax
jmp 0x65312b
lea rcx, str.MediaInfo.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x00866a40], rax
test rax, rax
jne 0x652db0
or rax, 0xffffffffffffffff
jmp 0x65312e
lea rdx, str.MediaInfo_New
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x00866a40]
xor ebx, ebx
test rax, rax
lea edi, [rbx + 1]
lea rdx, str.MediaInfoList_New
cmove rbx, rdi
mov qword [0x008660b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x008660b8], rax
test rax, rax
jne 0x652df6
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Delete
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866070], rax
test rax, rax
jne 0x652e19
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_Delete
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x008660c8], rax
test rax, rax
jne 0x652e3c
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Open
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866080], rax
test rax, rax
jne 0x652e5f
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_Open
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x008660a8], rax
test rax, rax
jne 0x652e82
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Open_Buffer_Init
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866020], rax
test rax, rax
jne 0x652ea5
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Open_Buffer_Continue
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866068], rax
test rax, rax
jne 0x652ec8
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Open_Buffer_Continue_GoTo_Get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x008660d0], rax
test rax, rax
jne 0x652eeb
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Open_Buffer_Finalize
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866048], rax
test rax, rax
jne 0x652f0e
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Close
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866040], rax
test rax, rax
jne 0x652f31
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_Close
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866078], rax
test rax, rax
jne 0x652f54
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Inform
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866088], rax
test rax, rax
jne 0x652f77
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_Inform
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866050], rax
test rax, rax
jne 0x652f9a
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_GetI
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866038], rax
test rax, rax
jne 0x652fbd
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_GetI
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866060], rax
test rax, rax
jne 0x652fe0
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866090], rax
test rax, rax
jne 0x653003
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_Get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x008660a0], rax
test rax, rax
jne 0x653026
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Option
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866058], rax
test rax, rax
jne 0x653049
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_Option
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866028], rax
test rax, rax
jne 0x65306c
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_State_Get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00865fd8], rax
test rax, rax
jne 0x65308f
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_State_Get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x008660d8], rax
test rax, rax
jne 0x6530b2
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfo_Count_Get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x008660c0], rax
test rax, rax
jne 0x6530d5
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_Count_Get
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866030], rax
test rax, rax
jne 0x6530f8
add rbx, rdi
mov rcx, qword [0x00866a40]
lea rdx, str.MediaInfoList_Count_Get_Files
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x00866098], rax
test rax, rax
jne 0x65311b
add rbx, rdi
test rbx, rbx
jne 0x652da7
add qword [0x00866a48], rdi
mov rax, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret