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

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push esi
push edi
mov edi, dword [esp + 0x24]
mov al, byte [edi + 4]
lea ebx, [edi + 4]
mov byte [esp + 0x24], al
mov eax, dword [edi + 0x78]
mov dword [esp + 0x10], ebx
lea ecx, [ebp + 0x1fc0]
mov dword [esp + 0x18], 0
cmp eax, 2
je 0x1010efb1
cmp eax, 3
je 0x1010efb1
mov eax, dword [ecx]
test eax, eax
je 0x1010ef80
mov edi, edi
cmp eax, edi
je 0x1010effc
mov ecx, eax
mov eax, dword [ecx]
test eax, eax
jne 0x1010ef70
mov eax, dword [ebp + 0x1fc4]
lea ecx, [ebp + 0x1fc4]
mov dword [esp + 0x20], ecx
test eax, eax
je 0x1010f2db
cmp eax, edi
je 0x1010f2c6
mov ecx, eax
mov eax, dword [ecx]
test eax, eax
jne 0x1010ef98
mov dword [esp + 0x20], ecx
jmp 0x1010f2db
mov ecx, dword [edi + 0x20]
push ecx
call fcn.1011aa40
xor edx, edx
mov ecx, 0x1f3
div ecx
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x10]
push eax
push ecx
push edx
lea edx, [ebp + 0x10f4]
push edx
call fcn.101098a0
add esp, 0x14
test eax, eax
je 0x1010f6ba
lea ecx, [eax + 8]
mov eax, dword [ecx]
test eax, eax
je 0x1010effc
lea esp, [esp]
cmp eax, edi
je 0x1010effc
mov ecx, eax
mov eax, dword [ecx]
test eax, eax
jne 0x1010eff0
cmp dword [ecx], 0
mov dword [esp + 0x20], ecx
je 0x1010ef80
cmp dword [esp + 0x28], 2
jne 0x1010f0c4
mov esi, dword [ebp + 0x1fc4]
test esi, esi
je 0x1010f2db
mov eax, dword [esi + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x1010f0b5
mov al, byte [esi + 4]
mov cl, byte [ebx]
lea edx, [esi + 4]
cmp al, cl
je 0x1010f050
mov bl, al
or bl, cl
cmp bl, 0x12
je 0x1010f04c
cmp al, 1
je 0x1010f04c
cmp cl, 1
jne 0x1010f0b1
mov ebx, dword [esp + 0x10]
mov cx, word [esi + 6]
cmp cx, word [edi + 6]
jne 0x1010f0b5
mov ax, word [esi + 8]
cmp ax, word [edi + 8]
jne 0x1010f0b5
mov ecx, dword [esi + 0x14]
cmp ecx, dword [edi + 0x14]
jne 0x1010f0b5
mov ax, word [esi + 0x10]
cmp ax, word [edi + 0x10]
jne 0x1010f0b5
mov ecx, dword [esi + 0x18]
cmp ecx, dword [edi + 0x18]
jne 0x1010f0b5
mov eax, dword [edi + 0x24]
push fcn.101187c0
add eax, 4
push eax
push edx
call fcn.101196d0
add esp, 0xc
test eax, eax
je 0x1010f0b5
mov ecx, dword [edi + 0x20]
mov edx, dword [esi + 0x20]
push ecx
push edx
call fcn.101187c0
add esp, 8
test eax, eax
je 0x1010f0b5
mov byte [esi + 0x7d], 0xff
jmp 0x1010f0b5
mov ebx, dword [esp + 0x10]
mov esi, dword [esi]
test esi, esi
jne 0x1010f022
jmp 0x1010f2db
cmp dword [ebp + 0x1fc4], 0
lea ebx, [ebp + 0x1fc4]
mov dword [esp + 0x14], ebx
je 0x1010f2db
jmp 0x1010f0e0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [edi + 0x1c]
jne 0x1010f178
mov edx, dword [esp + 0x10]
mov cl, byte [eax + 4]
mov dl, byte [edx]
lea esi, [eax + 4]
cmp cl, dl
je 0x1010f115
mov bl, cl
or bl, dl
cmp bl, 0x12
je 0x1010f111
cmp cl, 1
je 0x1010f111
cmp dl, 1
jne 0x1010f174
mov ebx, dword [esp + 0x14]
mov cx, word [eax + 6]
cmp cx, word [edi + 6]
jne 0x1010f178
mov dx, word [eax + 8]
cmp dx, word [edi + 8]
jne 0x1010f178
mov ecx, dword [eax + 0x14]
cmp ecx, dword [edi + 0x14]
jne 0x1010f178
mov dx, word [eax + 0x10]
cmp dx, word [edi + 0x10]
jne 0x1010f178
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x18]
jne 0x1010f178
mov ecx, dword [edi + 0x24]
push fcn.101187c0
add ecx, 4
push ecx
push esi
call fcn.101196d0
add esp, 0xc
test eax, eax
je 0x1010f178
mov edx, dword [edi + 0x20]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x20]
push edx
push ecx
call fcn.101187c0
add esp, 8
test eax, eax
jne 0x1010f187
jmp 0x1010f178
mov ebx, dword [esp + 0x14]
mov ebx, dword [ebx]
cmp dword [ebx], 0
mov dword [esp + 0x14], ebx
jne 0x1010f0e0
mov esi, dword [ebx]
test esi, esi
je 0x1010f2db
mov edx, dword [esi]
mov dword [ebx], edx
mov eax, dword [edi + 0x78]
cmp eax, 2
je 0x1010f1aa
cmp eax, 3
je 0x1010f1aa
mov eax, dword [edi]
mov dword [esi], eax
mov dword [edi], esi
jmp 0x1010f1e9
push esi
lea ecx, [ebp + 0x10f4]
push ecx
push ebp
mov dword [esi], 0
call fcn.10109a40
add esp, 0xc
test eax, eax
jne 0x1010f1e9
mov eax, dword [esi + 0x24]
lea edx, [ebp + 0x37]
push edx
add eax, 4
push eax
lea ecx, [esi + 4]
push ecx
call fcn.1011bef0
push eax
push str.mDNS_Deregister_internal:_ERROR___cannot_insert__s
push 0
call fcn.1011dd40
add esp, 0x18
mov edx, dword [esp + 0x10]
movzx eax, byte [edx]
mov byte [esi + 4], al
movzx ecx, byte [edi + 0x7d]
mov byte [esi + 0x7d], cl
mov dl, byte [edi + 0x7e]
mov byte [esi + 0x7e], dl
movzx eax, byte [edi + 0x7f]
mov byte [esi + 0x7f], al
movzx ecx, byte [edi + 0x80]
mov byte [esi + 0x80], cl
mov edx, dword [edi + 0x88]
mov dword [esi + 0x88], edx
movzx eax, byte [edi + 0x82]
mov byte [esi + 0x82], al
mov ecx, dword [edi + 0x8c]
mov dword [esi + 0x8c], ecx
mov edx, dword [edi + 0x94]
mov dword [esi + 0x94], edx
mov eax, dword [edi + 0x98]
mov dword [esi + 0x98], eax
mov ecx, dword [edi + 0x9c]
mov dword [esi + 0x9c], ecx
mov edx, dword [edi + 0xa0]
mov dword [esi + 0xa0], edx
mov eax, dword [edi + 0xa4]
mov dword [esi + 0xa4], eax
mov ecx, dword [edi + 0xb4]
mov dword [esi + 0xb4], ecx
mov edx, dword [edi + 0xb8]
mov dword [esi + 0xb8], edx
mov eax, dword [edi + 0xbc]
mov dword [esi + 0xbc], eax
mov ecx, dword [edi + 0xc0]
mov dword [esi + 0xc0], ecx
mov edx, dword [edi + 0xe8]
mov dword [esi + 0xe8], edx
mov eax, dword [edi + 0xdc]
mov dword [esi + 0xdc], eax
mov byte [edi + 0x80], 0
jmp 0x1010f2d7
cmp dword [ecx], 0
mov dword [esp + 0x20], ecx
je 0x1010f2db
mov dword [esp + 0x18], 1
mov byte [edi + 0x7f], 0
mov ecx, dword [esp + 0x20]
xor esi, esi
cmp dword [ecx], esi
jne 0x1010f31e
cmp dword [esp + 0x28], 3
je 0x1010f311
mov edx, dword [edi + 0x24]
mov eax, dword [esp + 0x10]
add ebp, 0x37
push ebp
add edx, 4
push edx
push eax
call fcn.1011bef0
push eax
push edi
push str.mDNS_Deregister_internal:_Record__p_not_found_in_list__s
push esi
call fcn.1011dd40
add esp, 0x1c
pop edi
pop esi
pop ebp
mov eax, 0xfffefffb
pop ebx
add esp, 0xc
ret
mov ecx, dword [edi + 0x1c]
cmp ecx, dword [0x1019b31c]
jne 0x1010f3ea
cmp byte [edi + 0x46], 0
jne 0x1010f3ea
mov edx, dword [edi + 0x20]
push edx
call fcn.10118810
add esp, 4
test eax, eax
jne 0x1010f3ea
cmp byte [edi + 0x7f], al
je 0x1010f38b
mov eax, dword [edi + 0xf8]
cmp eax, esi
je 0x1010f369
push eax
call fcn.1011f5e0
add esp, 4
mov dword [edi + 0xf8], esi
mov eax, dword [esp + 0x10]
push edi
mov byte [eax], 1
push ebp
mov byte [ebp + 0x114], 1
call fcn.10121620
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov cx, word [0x1019b41c]
mov word [edi + 0xec], cx
cmp dword [edi + 0x134], esi
je 0x1010f3b7
lea edx, [edi + 0xfc]
push edx
push ebp
call fcn.1011ea40
add esp, 8
mov dword [edi + 0x134], esi
mov eax, dword [edi + 0xf4]
cmp eax, esi
je 0x1010f3d1
push eax
push ebp
call fcn.1010e2d0
add esp, 8
mov dword [edi + 0xf4], esi
mov eax, dword [edi + 0xf8]
cmp eax, esi
je 0x1010f3ea
push eax
call fcn.1011f5e0
add esp, 4
mov dword [edi + 0xf8], esi
mov al, byte [esp + 0x24]
test al, al
jne 0x1010f418
mov ecx, dword [edi + 0x24]
mov ebx, dword [esp + 0x10]
lea eax, [ebp + 0x37]
push eax
add ecx, 4
push ecx
push ebx
call fcn.1011bef0
push eax
push str.mDNS_Deregister_internal:__s_already_marked_kDNSRecordTypeUnregistered
push esi
call fcn.1011dd40
add esp, 0x18
jmp 0x1010f451
cmp al, 1
jne 0x1010f44d
mov edx, dword [edi + 0x24]
mov eax, dword [esp + 0x10]
add ebp, 0x37
push ebp
add edx, 4
push edx
push eax
call fcn.1011bef0
push eax
push str.mDNS_Deregister_internal:__s_already_marked_kDNSRecordTypeDeregistering
push esi
call fcn.1011dd40
add esp, 0x18
pop edi
pop esi
pop ebp
mov eax, 0xfffefffb
pop ebx
add esp, 0xc
ret
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 0x4a]
cmp eax, esi
jne 0x1010f62b
cmp byte [esp + 0x24], 8
jne 0x1010f47a
cmp byte [edi + 0x7f], 0
jne 0x1010f62b
cmp byte [edi + 0x80], 0
jne 0x1010f62b
cmp dword [esp + 0x18], esi
jne 0x1010f4aa
mov eax, dword [edi + 0x78]
cmp eax, 2
je 0x1010f48d
cmp eax, 3
jne 0x1010f4aa
push edi
lea ecx, [ebp + 0x10f4]
push ecx
push ebp
call fcn.10109ad0
add esp, 0xc
cmp dword [eax + 0x14], edi
jne 0x1010f4c2
mov edx, dword [edi]
mov dword [eax + 0x14], edx
jmp 0x1010f4c2
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
cmp dword [ebp + 0x1fc8], edi
jne 0x1010f4c2
mov edx, dword [edi]
mov dword [ebp + 0x1fc8], edx
cmp dword [ebp + 0x1fcc], edi
jne 0x1010f4d2
mov eax, dword [edi]
mov dword [ebp + 0x1fcc], eax
mov dword [edi], esi
mov byte [ebx], 0
cmp dword [edi + 0xc4], esi
je 0x1010f4ec
push ebp
mov esi, edi
call fcn.1010a6b0
add esp, 4
xor esi, esi
cmp dword [esp + 0x28], 2
je 0x1010f58a
inc dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x2c]
cmp ecx, eax
je 0x1010f519
push eax
push ecx
push str.mDNS_Deregister_internal
push str._s:_Locking_Failure__mDNS_busy___ld____mDNS_reentrancy___ld_
push esi
call fcn.1011dd40
add esp, 0x14
cmp dword [0x101f5150], esi
je 0x1010f542
mov edx, dword [edi + 0x24]
lea ecx, [ebp + 0x37]
push ecx
add edx, 4
push edx
push ebx
call fcn.1011bef0
push eax
push str.mDNS_Deregister_internal:_mStatus_MemFree_for__s
push 3
call fcn.1011dd40
add esp, 0x18
mov eax, dword [edi + 0x3c]
cmp eax, esi
je 0x1010f555
push 0xfffeff00
push edi
push ebp
call eax
add esp, 0xc
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
cmp eax, ecx
je 0x1010f574
push ecx
push eax
push str.mDNS_Deregister_internal
push str._s:_Unlocking_Failure__mDNS_busy___ld____mDNS_reentrancy___ld_
push esi
call fcn.1011dd40
add esp, 0x14
dec dword [ebp + 0x30]
push ebp
call fcn.1010e140
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov esi, ebp
call fcn.1010a650
inc dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x2c]
cmp ecx, eax
je 0x1010f5b4
push eax
push ecx
push str.mDNS_Deregister_internal
push str._s:_Locking_Failure__mDNS_busy___ld____mDNS_reentrancy___ld_
push 0
call fcn.1011dd40
add esp, 0x14
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x1010f5c7
push 0xfffefff4
push edi
push ebp
call eax
add esp, 0xc
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
cmp eax, ecx
je 0x1010f5e7
push ecx
push eax
push str.mDNS_Deregister_internal
push str._s:_Unlocking_Failure__mDNS_busy___ld____mDNS_reentrancy___ld_
push 0
call fcn.1011dd40
add esp, 0x14
mov eax, dword [ebp + 0x1fc4]
dec dword [ebp + 0x30]
test eax, eax
je 0x1010f6b1
cmp byte [eax + 0x7d], 0xff
je 0x1010f602
mov eax, dword [eax]
jmp 0x1010f614
push 2
push eax
push ebp
call fcn.1010ef30
mov eax, dword [ebp + 0x1fc4]
add esp, 0xc
test eax, eax
jne 0x1010f5f8
push ebp
call fcn.1010e140
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov byte [ebx], 1
mov dword [edi + 0xc], esi
cmp eax, esi
je 0x1010f63c
mov eax, 0x12
jmp 0x1010f64a
xor eax, eax
cmp dword [esp + 0x28], 1
setne al
lea eax, [eax + eax + 1]
mov byte [edi + 0x7e], al
mov eax, dword [0x101c2c08]
add eax, eax
mov dword [edi + 0xb4], eax
mov ecx, dword [ebp + 0xdc]
sub ecx, eax
mov dword [edi + 0xb8], ecx
mov ecx, dword [ebp + 0xdc]
mov byte [ebp + 0x114], 1
mov esi, dword [0x101c2c08]
mov eax, 0x66666667
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0xfc]
sub edx, eax
sub edx, ecx
js 0x1010f6b1
mov eax, 0x66666667
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
mov dword [ebp + 0xfc], eax
push ebp
call fcn.1010e140
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret