Function at 0x42b610
Capabilities:
Link many functions at runtime

Disassembly:
push esi
mov esi, ecx
push str.CoreFoundation.dll
mov dword [esi], vtable.CFUtil.0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esi + 0x98], eax
test eax, eax
je 0x42b8a9
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CFDataGetLength
push eax
call edi
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x98]
push str.CFStringCreateWithCString
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFRelease
push ecx
mov dword [esi + 0x10], eax
call edi
mov edx, dword [esi + 0x98]
push str.CFGetTypeID
push edx
mov dword [esi + 0x14], eax
call edi
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x98]
push str.CFStringGetTypeID
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFStringGetLength
push ecx
mov dword [esi + 0x1c], eax
call edi
mov edx, dword [esi + 0x98]
push str.CFStringGetCString
push edx
mov dword [esi + 0x20], eax
call edi
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x98]
push str.CFDictionaryCreateMutable
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFDataCreate
push ecx
mov dword [esi + 0x28], eax
call edi
mov edx, dword [esi + 0x98]
push str.__CFStringMakeConstantString
push edx
mov dword [esi + 0x2c], eax
call edi
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x98]
push str.CFDictionarySetValue
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFDictionaryGetValue
push ecx
mov dword [esi + 0x34], eax
call edi
mov edx, dword [esi + 0x98]
push str.CFURLCreateWithFileSystemPath
push edx
mov dword [esi + 0x38], eax
call edi
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x98]
push str.CFBooleanGetValue
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFBooleanGetTypeID
push ecx
mov dword [esi + 0x40], eax
call edi
mov edx, dword [esi + 0x98]
push str.CFNumberGetValue
push edx
mov dword [esi + 0x44], eax
call edi
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x98]
push str.CFNumberGetTypeID
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFDictionaryGetTypeID
push ecx
mov dword [esi + 0x4c], eax
call edi
mov edx, dword [esi + 0x98]
push str.CFPropertyListCreateXMLData
push edx
mov dword [esi + 0x50], eax
call edi
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x98]
push str.CFDataGetBytePtr
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFArrayCreateMutable
push ecx
mov dword [esi + 0x58], eax
call edi
mov edx, dword [esi + 0x98]
push str.CFArrayAppendValue
push edx
mov dword [esi + 0x5c], eax
call edi
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x98]
push str.CFDictionaryAddValue
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFNumberCreate
push ecx
mov dword [esi + 0x64], eax
call edi
mov edx, dword [esi + 0x98]
push str.CFDataGetTypeID
push edx
mov dword [esi + 0x68], eax
call edi
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x98]
push str.CFPropertyListCreateWithData
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFPropertyListCreateData
push ecx
mov dword [esi + 0x70], eax
call edi
mov edx, dword [esi + 0x98]
push str.CFArrayGetTypeID
push edx
mov dword [esi + 0x74], eax
call edi
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x98]
push str.CFArrayGetCount
push eax
call edi
mov ecx, dword [esi + 0x98]
push str.CFArrayGetValueAtIndex
push ecx
mov dword [esi + 0x7c], eax
call edi
mov edx, dword [esi + 0x98]
push str.kCFTypeArrayCallBacks
push edx
mov dword [esi + 0x80], eax
call edi
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x98]
push str.kCFTypeDictionaryKeyCallBacks
push eax
call edi
mov dword [esi + 0x88], eax
push str.kCFTypeDictionaryValueCallBacks
mov ecx, dword [esi + 0x98]
push ecx
call edi
mov edx, dword [esi + 0x98]
push str.kCFBooleanTrue
push edx
mov dword [esi + 0x8c], eax
call edi
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x98]
push str.kCFBooleanFalse
push eax
call edi
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x94], eax
mov edx, dword [ecx]
mov dword [esi + 4], edx
mov eax, dword [eax]
mov dword [esi + 8], eax
pop edi
mov eax, esi
pop esi
ret