Function at 0x403610
Capabilities:
Link many functions at runtime

Disassembly:
mov eax, dword [esi + 8]
push ebx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CFDictionaryCreateMutable
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x40872c], eax
test eax, eax
jne 0x403642
call ebx
push eax
push str._4_nGetProcAddress_CFDictionaryCreateMutable_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov ecx, dword [esi + 8]
push str.CFDictionarySetValue
push ecx
call edi
mov dword [0x408404], eax
test eax, eax
jne 0x403666
call ebx
push eax
push str._4_nGetProcAddress_CFDictionarySetValue_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov edx, dword [esi + 8]
push str.CFDictionaryGetValue
push edx
call edi
mov dword [0x4086e8], eax
test eax, eax
jne 0x40368a
call ebx
push eax
push str._4_nGetProcAddress_CFDictionaryGetValue_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov eax, dword [esi + 8]
push str.CFDictionaryRetainCallBack
push eax
call edi
mov ecx, dword [esi + 8]
push str.CFDictionaryReleaseCallBack
push ecx
mov dword [0x4086ec], eax
call edi
mov edx, dword [esi + 8]
push str.CFDictionaryCopyDescriptionCallBack
push edx
mov dword [0x40840c], eax
call edi
mov dword [0x408738], eax
mov eax, dword [esi + 8]
push str.CFDictionaryEqualCallBack
push eax
call edi
mov ecx, dword [esi + 8]
push str.CFDictionaryHashCallBack
push ecx
mov dword [0x4086c8], eax
call edi
mov edx, dword [esi + 8]
push str.CFStringCreateWithCString
push edx
mov dword [0x40871c], eax
call edi
mov dword [0x4086a8], eax
test eax, eax
jne 0x4036fe
call ebx
push eax
push str._4_nGetProcAddress_CFStringCreateWithCString_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov eax, dword [esi + 8]
push str.CFGetTypeID
push eax
call edi
mov dword [0x408708], eax
test eax, eax
jne 0x403722
call ebx
push eax
push str._4_nGetProcAddress_CFGetTypeID_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov ecx, dword [esi + 8]
push str.CFStringGetCString
push ecx
call edi
mov dword [0x4086a0], eax
test eax, eax
jne 0x403746
call ebx
push eax
push str._4_nGetProcAddress_CFStringGetCString_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov edx, dword [esi + 8]
push str.CFNumberCreate
push edx
call edi
mov dword [0x4086a4], eax
test eax, eax
jne 0x40376a
call ebx
push eax
push str._4_nGetProcAddress_CFNumberCreate_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov eax, dword [esi + 8]
push str.CFNumberGetValue
push eax
call edi
mov dword [0x4086cc], eax
test eax, eax
jne 0x40378e
call ebx
push eax
push str._4_nGetProcAddress_CFNumberGetValue_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov ecx, dword [esi + 8]
push str.CFRunLoopRun
push ecx
call edi
mov dword [0x408720], eax
test eax, eax
jne 0x4037b2
call ebx
push eax
push str._4_nGetProcAddress_CFRunLoopRun_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov edx, dword [esi + 8]
push str.CFShow
push edx
call edi
mov dword [0x408728], eax
test eax, eax
jne 0x4037d6
call ebx
push eax
push str._4_nGetProcAddress_CFShow_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov eax, dword [esi + 8]
push str.CFErrorCopyDescription
push eax
call edi
mov dword [0x4086c4], eax
test eax, eax
jne 0x4037fa
call ebx
push eax
push str._4_nGetProcAddress_CFErrorCopyDescription_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov ecx, dword [esi + 8]
push str.CFErrorGetCode
push ecx
call edi
mov dword [0x408410], eax
test eax, eax
jne 0x40381e
call ebx
push eax
push str._4_nGetProcAddress_CFErrorGetCode_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov edx, dword [esi + 8]
push str.kCFAllocatorDefault
push edx
call edi
mov dword [0x408714], eax
test eax, eax
jne 0x403842
call ebx
push eax
push str._4_nGetProcAddress_kCFAllocatorDefault_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov eax, dword [esi + 8]
push str.kCFTypeDictionaryKeyCallBacks
push eax
call edi
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [0x4086d4], edx
mov edx, dword [eax + 0xc]
mov dword [0x4086d0], ecx
mov ecx, dword [eax + 8]
mov dword [0x4086dc], edx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [0x4086d8], ecx
mov dword [0x4086e0], edx
mov dword [0x4086e4], eax
test ecx, ecx
jne 0x403895
call ebx
push eax
push str._4_nGetProcAddress_kCFTypeDictionaryKeyCallBacks_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov ecx, dword [esi + 8]
push str.kCFCopyStringDictionaryKeyCallBacks
push ecx
call edi
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [0x4086ac], edx
mov edx, dword [eax + 0xc]
mov dword [0x4086b0], ecx
mov ecx, dword [eax + 8]
mov dword [0x4086b8], edx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [0x4086b4], ecx
mov dword [0x4086bc], edx
mov dword [0x4086c0], eax
test ecx, ecx
jne 0x4038e8
call ebx
push eax
push str._4_nGetProcAddress_kCFCopyStringDictionaryKeyCallBacks_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
mov ecx, dword [esi + 8]
push str.kCFTypeDictionaryValueCallBacks
push ecx
call edi
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [0x4086f4], edx
mov edx, dword [eax + 0xc]
mov dword [0x4086f8], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov dword [0x4086fc], ecx
mov dword [0x408700], edx
mov dword [0x408704], eax
test ecx, ecx
jne 0x403932
call ebx
push eax
push str._4_nGetProcAddress_kCFTypeDictionaryValueCallBacks_Failed__GetLastError:_d_
call fcn.00401290
add esp, 8
pop edi
pop ebx
ret