Function at 0x4fc240
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 4
mov eax, 0xcccccccc
mov dword [esp], eax
mov dword [ebp - 8], 0
push str.Cannot_initialize_OLE
call fcn.0040e8d0
pop ecx
push eax
push str.Cannot_initialize_OLE
lea ecx, [ebp - 8]
call fcn.0040cb20
cmp dword [ebp - 8], 0
je 0x4fc281
mov ebx, dword [ebp - 8]
mov edx, dword [0x5494f8]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
call fcn.0040d2e0
cmp dword [ebp - 8], 0
je 0x4fc29b
mov ecx, dword [ebp - 8]
call fcn.0040c8f0
cmp byte [0x5aaf68], 0
je 0x4fc2ac
mov al, 1
lea esp, [ebp - 4]
pop ebx
pop ebp
ret
cmp byte [0x5aaf70], 0
jne 0x4fc2cc
push str.ole32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x5aaf6c], eax
mov byte [0x5aaf70], 1
cmp byte [0x5aaf78], 0
jne 0x4fc2ec
push str.oleaut32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x5aaf74], eax
mov byte [0x5aaf78], 1
cmp dword [0x5aaf6c], 0
je 0x4fc4b6
cmp dword [0x5aaf74], 0
je 0x4fc4b6
push str.CoInitialize
push dword [0x5aaf6c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5781ec], eax
push str.OleInitialize
push dword [0x5aaf6c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5781f4], eax
push str.CoCreateInstance
push dword [0x5aaf6c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5781e8], eax
push str.CLSIDFromProgID
push dword [0x5aaf6c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5781e0], eax
push str.CLSIDFromString
push dword [0x5aaf6c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5781e4], eax
push str.GetActiveObject
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5781f0], eax
push str.SafeArrayCreate
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5781fc], eax
push str.SafeArrayDestroy
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x578200], eax
push str.SafeArrayGetElement
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x578204], eax
push str.SafeArrayPutElement
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x578208], eax
push str.SysFreeString
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x57820c], eax
push str.SysAllocString
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x578210], eax
push str.VariantChangeType
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x578214], eax
push str.VariantInit
push dword [0x5aaf74]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5781f8], eax
cmp dword [0x5781e8], 0
je 0x4fc4b6
cmp dword [0x5781e0], 0
je 0x4fc4b6
cmp dword [0x5781e4], 0
je 0x4fc4b6
cmp dword [0x5781f0], 0
je 0x4fc4b6
cmp dword [0x5781fc], 0
je 0x4fc4b6
cmp dword [0x578200], 0
je 0x4fc4b6
cmp dword [0x578204], 0
je 0x4fc4b6
cmp dword [0x578208], 0
je 0x4fc4b6
cmp dword [0x57820c], 0
je 0x4fc4b6
cmp dword [0x578210], 0
je 0x4fc4b6
cmp dword [0x578214], 0
je 0x4fc4b6
cmp dword [0x5781f8], 0
je 0x4fc4b6
cmp dword [0x5781f4], 0
je 0x4fc4b6
mov byte [0x5aaf68], 1
mov al, byte [0x5aaf68]
lea esp, [ebp - 4]
pop ebx
pop ebp
ret