Function at 0x10075924
Capabilities:
Check for time delay via queryperformancecounter
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4c
lea eax, [esp + 0x18]
push ebx
push ebp
mov ebp, dword [esp + 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ebx, dword [esp + 0x58]
xor ecx, ecx
mov eax, dword [ebx + 0x28]
cmp dword [eax + 8], ecx
je 0x10075954
mov eax, dword [ebx + 0x28]
mov dword [eax + 8], ecx
push 2
pop eax
jmp 0x10075e62
cmp byte [ebp + 0x24], cl
je 0x1007595e
mov byte [ebp + 0x24], cl
jmp 0x1007594c
push esi
push edi
mov dword [esp + 0x18], ecx
call sym.CoreFoundation.dll__NS_pthread_main_np
push 4
pop edi
test eax, eax
je 0x1007599f
push edi
call sym.CoreFoundation.dll__CFGetTSD
pop ecx
test eax, eax
jne 0x1007599f
call sym.CoreFoundation.dll_CFRunLoopGetMain
cmp eax, ebx
jne 0x1007599f
push dword [ebp + 0x20]
push dword [ebx + 0x34]
call sym.CoreFoundation.dll_CFSetContainsValue
pop ecx
pop ecx
test al, al
je 0x1007599f
call dword [sym.imp.libdispatch.dll__dispatch_get_main_queue_handle_4CF]
mov dword [esp + 0x18], eax
and dword [esp + 0x14], 0
push 0x10
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movsd xmm1, qword [esp + 0x6c]
xorps xmm0, xmm0
comisd xmm0, xmm1
mov esi, eax
pop ecx
mov dword [esp + 0x24], esi
jb 0x100759cf
and dword [esi + 8], 0
and dword [esi + 0xc], 0
jmp 0x10075ad7
movsd xmm0, qword [0x10148fd0]
comisd xmm0, xmm1
jb 0x10075acc
push 2
push 2
call dword [sym.imp.libdispatch.dll_dispatch_get_global_queue]
push eax
push 0
push 0
push dword [sym.imp.libdispatch.dll__dispatch_source_type_timer]
call dword [sym.imp.libdispatch.dll_dispatch_source_create]
push eax
mov dword [esp + 0x30], eax
call dword [sym.imp.libdispatch.dll_dispatch_retain]
mov eax, dword [esp + 0x30]
push ebx
mov dword [esi], eax
call sym.CoreFoundation.dll_CFRetain
movsd xmm0, qword [esp + 0x88]
add esp, 0x18
mov dword [esi + 4], eax
movsd qword [esp], xmm0
call fcn.10001839
add eax, dword [esp + 0x30]
push esi
adc edx, dword [esp + 0x38]
push dword [esp + 0x20]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
call dword [sym.imp.libdispatch.dll_dispatch_set_context]
push 0x10076124
push dword [esp + 0x28]
call dword [sym.imp.libdispatch.dll_dispatch_source_set_event_handler_f]
push 0x1007613f
push dword [esp + 0x30]
call dword [sym.imp.libdispatch.dll_dispatch_source_set_cancel_handler_f]
movsd xmm0, qword [esp + 0x88]
add esp, 0x20
mulsd xmm0, qword [0x1013e408]
push 0
push 0
mulsd xmm0, qword [0x1013e408]
push 0xffffffffffffffff
push 0xffffffffffffffff
addsd xmm0, qword [0x101445a8]
call fcn.100026ee
push 0
push 0x3e8
push edx
push eax
call fcn.10002243
push edx
push eax
push 0
push 0
call dword [sym.imp.libdispatch.dll_dispatch_time]
add esp, 0x10
push edx
push eax
push dword [esp + 0x2c]
call dword [sym.imp.libdispatch.dll_dispatch_source_set_timer]
push dword [esp + 0x30]
call dword [sym.imp.libdispatch.dll_dispatch_resume]
add esp, 0x20
jmp 0x10075ad7
or dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], getpeername
mov byte [esp + 0x12], 1
mov eax, dword [ebp + 0x3c]
and dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x28]
mov byte [esp + 0x13], 0
mov dword [eax + 0xc], 0
mov eax, dword [ebp + 0x40]
test al, 2
je 0x10075b0d
push 2
push ebp
push ebx
call fcn.100744fa
mov eax, dword [ebp + 0x40]
add esp, 0xc
test al, 4
je 0x10075b1c
push edi
push ebp
push ebx
call fcn.100744fa
add esp, 0xc
push ebp
push ebx
call fcn.100742f2
push dword [esp + 0x78]
push ebp
push ebx
call fcn.100747a6
add esp, 0x14
mov byte [esp + 0x60], al
test al, al
je 0x10075b46
push ebp
push ebx
call fcn.100742f2
pop ecx
pop ecx
xor ecx, ecx
jmp 0x10075b52
xor ecx, ecx
cmp dword [esi + 8], ecx
jne 0x10075b59
cmp dword [esi + 0xc], ecx
jne 0x10075b59
mov byte [esp + 0x11], 1
jmp 0x10075b5d
mov byte [esp + 0x11], cl
cmp dword [esp + 0x18], 0
je 0x10075b89
cmp byte [esp + 0x12], 0
jne 0x10075b89
push ecx
lea eax, [esp + 0x24]
push eax
push ecx
push ecx
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.10076245
add esp, 0x18
test al, al
jne 0x10075c30
cmp byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
jne 0x10075ba7
test byte [ebp + 0x40], 0x20
je 0x10075ba7
push 0x20
push ebp
push ebx
call fcn.100744fa
add esp, 0xc
push dword [esp + 0x1c]
or byte [ebx + 4], 2
push dword [esp + 0x1c]
call fcn.100737d6
lea edi, [ebp + 8]
push edi
call sym.CoreFoundation.dll__NS_pthread_mutex_unlock
lea esi, [ebx + 8]
push esi
call sym.CoreFoundation.dll__NS_pthread_mutex_unlock
lea eax, [esp + 0x23]
push eax
lea eax, [esp + 0x34]
push eax
push dword [ebp + 0x48]
xor eax, eax
cmp byte [esp + 0x2d], al
setne al
dec eax
push eax
push 0
push dword [esp + 0x40]
call fcn.10076245
push esi
call sym.CoreFoundation.dll__NS_pthread_mutex_lock
push edi
call sym.CoreFoundation.dll__NS_pthread_mutex_lock
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.1007388b
mov eax, dword [ebx + 0x28]
add esp, 0x38
mov dword [eax + 0xc], 0x57414b45
and byte [ebx + 4], 0xfd
cmp byte [esp + 0x11], 0
jne 0x10075c30
test byte [ebp + 0x40], 0x40
je 0x10075c30
push 0x40
push ebp
push ebx
call fcn.100744fa
add esp, 0xc
cmp byte [esp + 0x13], 0
lea esi, [ebp + 8]
mov eax, dword [ebx + 0x28]
mov dword [eax + 0xc], 0x57414b45
je 0x10075cd8
push esi
call sym.CoreFoundation.dll__NS_pthread_mutex_unlock
lea edi, [ebx + 8]
push edi
call sym.CoreFoundation.dll__NS_pthread_mutex_unlock
mov eax, dword [ebp + 0x4c]
pop ecx
pop ecx
test eax, eax
je 0x10075c64
call eax
jmp 0x10075c90
push 3
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x10075c90
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push edi
call sym.CoreFoundation.dll__NS_pthread_mutex_lock
push esi
call sym.CoreFoundation.dll__NS_pthread_mutex_lock
or byte [ebx + 4], 2
push esi
mov byte [esp + 0x6c], 1
call sym.CoreFoundation.dll__NS_pthread_mutex_unlock
push edi
call sym.CoreFoundation.dll__NS_pthread_mutex_unlock
xor ecx, ecx
lea eax, [esp + 0x30]
push ecx
push eax
push ecx
push ecx
push ecx
push dword [esp + 0x40]
call fcn.10076245
push edi
call sym.CoreFoundation.dll__NS_pthread_mutex_lock
push esi
call sym.CoreFoundation.dll__NS_pthread_mutex_lock
add esp, 0x30
and byte [ebx + 4], 0xfd
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10075dbb
cmp eax, dword [ebx + 0x20]
jne 0x10075cf7
push dword [ebx + 0x20]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x10075dbb
cmp eax, dword [ebp + 0x44]
jne 0x10075d2d
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push dword [esp + 0x34]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.10074eaa
add esp, 0x10
test al, al
jne 0x10075dbb
push ebp
call fcn.1007340b
pop ecx
jmp 0x10075dbb
cmp eax, dword [esp + 0x18]
jne 0x10075d84
push esi
call sym.CoreFoundation.dll__NS_pthread_mutex_unlock
lea edi, [ebx + 8]
push edi
call sym.CoreFoundation.dll__NS_pthread_mutex_unlock
push 0
push 6
push 4
call sym.CoreFoundation.dll__CFSetTSD
call sym.CoreFoundation.dll__CFAutoreleasePoolPush
mov esi, eax
call dword [sym.imp.libdispatch.dll__dispatch_main_queue_callback_4CF]
push esi
call sym.CoreFoundation.dll__CFAutoreleasePoolPop
push 0
push 0
push 4
call sym.CoreFoundation.dll__CFSetTSD
push edi
call sym.CoreFoundation.dll__NS_pthread_mutex_lock
lea eax, [ebp + 8]
push eax
call sym.CoreFoundation.dll__NS_pthread_mutex_lock
add esp, 0x2c
mov byte [esp + 0x12], 1
jmp 0x10075db6
cmp dword [ebp + 0x38], 0
je 0x10075d97
push eax
push dword [ebp + 0x38]
call sym.CoreFoundation.dll_CFDictionaryGetValue
pop ecx
pop ecx
jmp 0x10075d99
xor eax, eax
test eax, eax
je 0x10075dbb
push eax
push ebp
push ebx
call fcn.100746c4
add esp, 0xc
test al, al
jne 0x10075db6
cmp byte [esp + 0x60], al
mov byte [esp + 0x60], al
je 0x10075dbb
mov byte [esp + 0x60], 1
push ebp
push ebx
call fcn.100742f2
cmp byte [esp + 0x68], 0
pop ecx
pop ecx
je 0x10075dd2
cmp byte [esp + 0x70], 0
jne 0x10075e1e
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0xc]
cmp eax, dword [esp + 0x3c]
jl 0x10075e3a
jg 0x10075df5
mov eax, dword [esi + 8]
cmp eax, dword [esp + 0x38]
jb 0x10075e3a
mov eax, dword [ebx + 0x28]
xor ecx, ecx
cmp dword [eax + 8], ecx
jne 0x10075e32
cmp byte [ebp + 0x24], cl
jne 0x10075e2b
push dword [esp + 0x74]
push ebp
push ebx
call fcn.1007543b
add esp, 0xc
test al, al
jne 0x10075e26
push 4
pop edi
jmp 0x10075adc
mov esi, dword [esp + 0x24]
push 4
jmp 0x10075e3c
xor ebx, ebx
inc ebx
jmp 0x10075e3d
mov byte [ebp + 0x24], cl
push 2
jmp 0x10075e3c
mov eax, dword [ebx + 0x28]
mov dword [eax + 8], ecx
jmp 0x10075e2e
push 3
pop ebx
mov ebp, dword [esp + 0x14]
test ebp, ebp
je 0x10075e56
push ebp
call dword [sym.imp.libdispatch.dll_dispatch_source_cancel]
push ebp
call dword [sym.imp.libdispatch.dll_dispatch_release]
pop ecx
jmp 0x10075e5d
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
pop edi
mov eax, ebx
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret