Function at 0x499360
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.00403a30
pop ecx
push eax
push str.Cannot_initialize_OLE
lea ecx, [ebp - 8]
call fcn.00401db0
cmp dword [ebp - 8], 0
je 0x4993a1
mov ebx, dword [ebp - 8]
mov edx, dword [0x4a8218]
mov dword [ebx + 0x10], edx
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
call fcn.00402570
cmp dword [ebp - 8], 0
je 0x4993bb
mov ecx, dword [ebp - 8]
call fcn.00401b80
cmp byte [0x4e4d30], 0
je 0x4993cc
mov al, 1
lea esp, [ebp - 4]
pop ebx
pop ebp
ret
cmp byte [0x4e4d38], 0
jne 0x4993ec
push str.ole32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4e4d34], eax
mov byte [0x4e4d38], 1
cmp byte [0x4e4d40], 0
jne 0x49940c
push str.oleaut32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4e4d3c], eax
mov byte [0x4e4d40], 1
cmp dword [0x4e4d34], 0
je 0x4995d6
cmp dword [0x4e4d3c], 0
je 0x4995d6
push str.CoInitialize
push dword [0x4e4d34]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4ce9fc], eax
push str.OleInitialize
push dword [0x4e4d34]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea04], eax
push str.CoCreateInstance
push dword [0x4e4d34]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4ce9f8], eax
push str.CLSIDFromProgID
push dword [0x4e4d34]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4ce9f0], eax
push str.CLSIDFromString
push dword [0x4e4d34]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4ce9f4], eax
push str.GetActiveObject
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea00], eax
push str.SafeArrayCreate
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea0c], eax
push str.SafeArrayDestroy
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea10], eax
push str.SafeArrayGetElement
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea14], eax
push str.SafeArrayPutElement
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea18], eax
push str.SysFreeString
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea1c], eax
push str.SysAllocString
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea20], eax
push str.VariantChangeType
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea24], eax
push str.VariantInit
push dword [0x4e4d3c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4cea08], eax
cmp dword [0x4ce9f8], 0
je 0x4995d6
cmp dword [0x4ce9f0], 0
je 0x4995d6
cmp dword [0x4ce9f4], 0
je 0x4995d6
cmp dword [0x4cea00], 0
je 0x4995d6
cmp dword [0x4cea0c], 0
je 0x4995d6
cmp dword [0x4cea10], 0
je 0x4995d6
cmp dword [0x4cea14], 0
je 0x4995d6
cmp dword [0x4cea18], 0
je 0x4995d6
cmp dword [0x4cea1c], 0
je 0x4995d6
cmp dword [0x4cea20], 0
je 0x4995d6
cmp dword [0x4cea24], 0
je 0x4995d6
cmp dword [0x4cea08], 0
je 0x4995d6
cmp dword [0x4cea04], 0
je 0x4995d6
mov byte [0x4e4d30], 1
mov al, byte [0x4e4d30]
lea esp, [ebp - 4]
pop ebx
pop ebp
ret