Function at 0x10001104
Capabilities:
Accept command line arguments
Allocate thread local storage
Query environment variable

Disassembly:
jmp 0x1007a17e
sub esp, 0x408
mov eax, dword [0x101844f8]
xor eax, esp
mov dword [esp + 0x404], eax
cmp byte [0x1018733e], 0
jne 0x1007a5dc
cmp byte [0x1018733d], 0
jne 0x1007a5dc
mov byte [0x1018733d], 1
call sym.CoreFoundation.dll__NS_pthread_main_np
test eax, eax
jne 0x1007a1c8
call dword [sym.imp.KERNEL32.dll_DebugBreak]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
push ebx
push ebp
push esi
push edi
call sym.CoreFoundation.dll__NS_pthread_self
mov dword [sym.CoreFoundation.dll__CFMainPThread], eax
call fcn.1000157d
call fcn.1000277f
xor ebx, ebx
mov byte [0x10187374], 1
mov esi, ebx
mov eax, dword [esi + 0x10178f70]
test eax, eax
je 0x1007a1ff
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
pop ecx
jmp 0x1007a201
mov eax, ebx
mov dword [esi + 0x10178f74], eax
add esi, 8
cmp esi, 0xd0
jb 0x1007a1eb
call fcn.100031b1
push 0x10102e14
push fcn.10102dd6
call dword [0x1018cbe8]
push fcn.10001cfd
call dword [0x1018cbec]
mov esi, 0x1000
mov byte [sym.CoreFoundation.dll_kCFUseCollectableAllocator], bl
push esi
push ebx
push 0x10188378
call fcn.101331af
push esi
push ebx
push 0x10187378
call fcn.101331af
push str.__NSCFType
push ebx
call fcn.10001091
add esp, 0x2c
mov ecx, 0x1018737c
mov eax, dword [0x10187378]
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x10188378
jl 0x1007a268
push 0x1014918c
call sym.CoreFoundation.dll__CFRuntimeRegisterClass
mov dword [0x1018937c], eax
mov dword [esp], 0x101491b8
call sym.CoreFoundation.dll__CFRuntimeRegisterClass
mov dword [0x10189380], eax
call fcn.1000295f
mov esi, dword [0x1018cc20]
mov edi, str.__NSCFConstantString
mov dword [esp], 0x10189a68
push sym.CoreFoundation.dll___CFConstantStringClassReference
push edi
push str.__NSCFConstantString0
call esi
pop ecx
push eax
call dword [0x1018cbe4]
push eax
call dword [0x1018cbf4]
push edi
call esi
push str.__NSCFString
push 7
pop edi
push edi
mov dword [sym.CoreFoundation.dll___CFConstantStringClassReferencePtr], eax
call fcn.10001091
push str.NSNull
push 0x10
pop esi
push esi
call fcn.10001091
push str.__NSCFSet
push 0x11
call fcn.10001091
push str.__NSCFDictionary
push 0x12
call fcn.10001091
push str.__NSCFArray
push 0x13
call fcn.10001091
add esp, 0x40
push str.__NSCFData
push 0x14
call fcn.10001091
push str.__NSCFBoolean
push 0x15
call fcn.10001091
push str.__NSCFNumber
push 0x16
call fcn.10001091
call fcn.10002ab3
call sym.CoreFoundation.dll_CFBagGetTypeID
push 0x101491e4
push 0xa002
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call fcn.100029a0
push 0x28
push eax
mov dword [0x1018938c], eax
call fcn.10002761
add esp, 0x2c
mov dword [0x10189388], ebx
mov dword [0x10189378], edi
call fcn.10002743
mov dword [0x10189378], esi
call fcn.10001942
call sym.CoreFoundation.dll_CFSetGetTypeID
call sym.CoreFoundation.dll_CFDictionaryGetTypeID
call fcn.10002dbf
call fcn.1000197e
call fcn.10002b94
call fcn.10002ed2
call fcn.100022ac
call fcn.10002257
call fcn.10002851
call fcn.100030fd
call fcn.10002b3f
call fcn.100024e1
call fcn.1000208b
call fcn.1000291e
call fcn.10002004
call fcn.10001a32
call fcn.10003256
call fcn.1000334b
call fcn.10001406
call fcn.1000185c
call fcn.1000125d
call fcn.10001dfc
call fcn.1000232e
call fcn.100010f5
call fcn.100015c8
push str.NSURL
call sym.CoreFoundation.dll_CFURLGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
push str.__NSCFTimer
call sym.CoreFoundation.dll_CFRunLoopTimerGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
push str.__NSCFAttributedString
call sym.CoreFoundation.dll_CFAttributedStringGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
push str.__NSCFLocale
call sym.CoreFoundation.dll_CFLocaleGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
push str.__NSCFCalendar
call sym.CoreFoundation.dll_CFCalendarGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
push str.__NSCFError
call sym.CoreFoundation.dll_CFErrorGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
push str.__NSCFCharacterSet
call sym.CoreFoundation.dll_CFCharacterSetGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
push str.__NSCFInputStream
call sym.CoreFoundation.dll_CFReadStreamGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
push str.__NSCFOutputStream
call sym.CoreFoundation.dll_CFWriteStreamGetTypeID
push eax
call fcn.10001091
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [esp + 0x10]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov eax, 0x100
cmp ecx, eax
jg 0x1007a4cd
lea esi, [esp + 0x14]
jmp 0x1007a4e0
mov eax, ecx
shl eax, 2
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
pop ecx
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, ebx
test ecx, ecx
jle 0x1007a51b
cmp dword [ebp + edi*4], 0
je 0x1007a516
push dword [ebp + edi*4]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
push eax
push dword [ebp + edi*4]
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call sym.CoreFoundation.dll_CFStringCreateWithCharacters
add esp, 0x10
mov dword [esi + ebx*4], eax
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x1007a516
inc ebx
inc edi
cmp edi, ecx
jl 0x1007a4e6
push sym.CoreFoundation.dll_kCFTypeArrayCallBacks
push ebx
push esi
push dword [sym.CoreFoundation.dll_kCFAllocatorSystemDefault]
call sym.CoreFoundation.dll_CFArrayCreate
mov dword [sym.CoreFoundation.dll___CFArgStuff], eax
add esp, 0x10
lea eax, [esp + 0x14]
cmp esi, eax
je 0x1007a545
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
push ebp
call dword [sym.imp.KERNEL32.dll_LocalFree]
call sym.CoreFoundation.dll__CFProcessPath
mov eax, dword [0x1018c824]
mov dword [eax], sym.CoreFoundation.dll__CFAutoreleasePoolPush
mov eax, dword [0x1018c814]
mov dword [eax], sym.CoreFoundation.dll__CFAutoreleasePoolPop
call sym.CoreFoundation.dll___CFStringInitializeSystemEncoding
mov eax, dword [0x10189378]
mov ecx, 0x100
cmp eax, ecx
cmovl eax, ecx
mov dword [0x10189378], eax
call fcn.10001929
push str.NSZombieEnabled
call fcn.10002a0e
pop ecx
pop edi
pop esi
pop ebp
pop ebx
test eax, eax
je 0x1007a5a7
mov al, byte [eax]
cmp al, 0x59
je 0x1007a5a2
cmp al, 0x79
jne 0x1007a5a7
call fcn.10001b95
push str.NSDeallocateZombies
call fcn.10002a0e
pop ecx
test eax, eax
je 0x1007a5c7
mov al, byte [eax]
cmp al, 0x59
je 0x1007a5c0
cmp al, 0x79
jne 0x1007a5c7
mov byte [0x10187376], 0xff
mov byte [0x10187374], 0
mov byte [0x1018733d], 0
mov byte [0x1018733e], 1
mov ecx, dword [esp + 0x404]
xor ecx, esp
call fcn.1000234c
add esp, 0x408
ret