Function at 0x1000160e
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jmp 0x1005ac41
sub esp, 0x74
cmp dword [esp + 0x7c], 0
je 0x1005afc5
cmp dword [esp + 0x80], 0
je 0x1005afc5
cmp dword [esp + 0x84], 0
je 0x1005afc5
push ebx
push ebp
push esi
push edi
push dword [esp + 0x8c]
call fcn.10059d3c
mov ebp, dword [esp + 0x8c]
mov esi, eax
cmp esi, 0x10176b18
mov dword [esp + 0x3c], esi
sete byte [esp + 0x17]
xor eax, eax
mov edi, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov ebx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
lea eax, [ebp + 8]
push eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], eax
call sym.CoreFoundation.dll___CFSpinLock
pop ecx
pop ecx
cmp esi, 0x10176b18
je 0x1005acfa
push esi
push dword [ebp + 0x1c]
lea eax, [esp + 0x58]
push eax
call fcn.1000145b
mov esi, eax
lea edi, [esp + 0x4c]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x4c], ebx
je 0x1005acf8
mov eax, dword [esp + 0x18]
push eax
call sym.CoreFoundation.dll___CFSpinUnlock
jmp 0x1005afbc
mov edi, ebx
mov eax, dword [ebp + 0x10]
and dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
test eax, eax
jle 0x1005ae7d
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [ebp + 0xc]
lea esi, [ecx + eax]
cmp dword [esi + 4], 0
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x24], edx
jb 0x1005ae57
ja 0x1005ad38
cmp dword [esi], 0
jbe 0x1005ae57
cmp byte [esp + 0x13], 0
jne 0x1005ad4c
mov eax, dword [esp + 0x38]
cmp eax, dword [esi + 8]
jne 0x1005ae57
cmp dword [esp + 0x90], 0x10176b28
je 0x1005ad94
mov al, byte [ebp + 4]
and al, 2
jne 0x1005ad6d
cmp dword [esp + 0x90], ecx
jne 0x1005ae57
test al, al
je 0x1005ad94
test ecx, ecx
je 0x1005ae57
push dword [esp + 0x90]
push ecx
call sym.CoreFoundation.dll_CFEqual
pop ecx
pop ecx
test al, al
je 0x1005ae57
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x94], edx
je 0x1005adae
cmp dword [esp + 0x94], 0x10176b38
jne 0x1005ae57
test byte [ebp + 4], 2
je 0x1005add6
test ebx, ebx
jne 0x1005adc9
mov eax, dword [esp + 0x18]
shl eax, 3
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
pop ecx
mov ebx, eax
mov ecx, dword [esi]
mov dword [ebx + edi*8], ecx
mov ecx, dword [esi + 4]
mov dword [ebx + edi*8 + 4], ecx
inc edi
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x1005adec
push dword [esp + 0x18]
call fcn.10001415
pop ecx
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x30]
mov ecx, dword [esi + 0x14]
mov dword [eax + edx*4], ecx
inc edx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x30], edx
test ecx, ecx
je 0x1005ae27
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x1005ae1b
push dword [esp + 0x18]
call fcn.10001415
pop ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x34]
mov dword [eax + edx*4], ecx
inc edx
mov dword [esp + 0x34], edx
cmp dword [esi + 0xc], 0
je 0x1005ae3c
test byte [ebp + 4], 2
je 0x1005ae3c
push dword [esi + 0xc]
call sym.CoreFoundation.dll_CFRelease
pop ecx
push 0x20
push 0
push esi
call fcn.101331af
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, dword [ebp + 0x18]
jae 0x1005ae5b
mov dword [ebp + 0x18], eax
jmp 0x1005ae5b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
inc eax
add ecx, 0x20
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], ecx
cmp eax, dword [esp + 0x18]
jl 0x1005ad13
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edi
lea eax, [ebp + 8]
push eax
call sym.CoreFoundation.dll___CFSpinUnlock
pop ecx
test ebx, ebx
je 0x1005af57
push sym.CoreFoundation.dll_kCFTypeArrayCallBacks
push edi
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call sym.CoreFoundation.dll_CFArrayCreateMutable
add esp, 0xc
mov ebx, eax
test edi, edi
jle 0x1005aee0
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
push edi
push 4
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call sym.CoreFoundation.dll_CFNumberCreate
mov esi, eax
push esi
push ebx
call sym.CoreFoundation.dll_CFArrayAppendValue
push esi
call sym.CoreFoundation.dll_CFRelease
add esp, 0x18
add edi, 8
sub ebp, 1
jne 0x1005aeb1
mov ebp, dword [esp + 0x88]
push str.method
call sym.CoreFoundation.dll___CFStringMakeConstantString
mov dword [esp + 0x1c], eax
mov dword [esp], str.tokens
call sym.CoreFoundation.dll___CFStringMakeConstantString
mov dword [esp + 0x20], eax
mov dword [esp], str.register
call sym.CoreFoundation.dll___CFStringMakeConstantString
mov dword [esp], sym.CoreFoundation.dll_kCFTypeDictionaryValueCallBacks
push sym.CoreFoundation.dll_kCFTypeDictionaryKeyCallBacks
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push 2
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x4c], ebx
push eax
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call sym.CoreFoundation.dll_CFDictionaryCreate
push ebx
mov esi, eax
call sym.CoreFoundation.dll_CFRelease
push esi
push ebp
call fcn.100596f1
push esi
call sym.CoreFoundation.dll_CFRelease
push dword [esp + 0x50]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x2c
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x1005af67
test ecx, ecx
je 0x1005afbd
mov edx, dword [esp + 0x30]
and dword [esp + 0x64], 0
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x7c], eax
mov eax, dword [0x1018cc40]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
push eax
push 0
push 0xfffffffffffffffe
mov dword [esp + 0x80], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x78], 0x10059b75
mov dword [esp + 0x7c], 0x10176b88
call dword [0x1018c80c]
pop ecx
pop ecx
push eax
call dword [0x1018c7e8]
pop ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
call dword [sym.imp.KERNEL32.dll_DebugBreak]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3