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

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movzx eax, byte [0x14008edbc]
xor r15d, r15d
mov r13, r9
inc eax
mov r12, r8
mov r14, rcx
lea rbx, [rcx + 0x30d0]
mov edi, r15d
cmp eax, 0x40
jle 0x14002f23d
lea r8d, [r15 + 0x40]
lea rdx, str.mDNS_AddDNSServer:_DNS_server_limit_of__d_reached__not_adding_this_server
xor ecx, ecx
call fcn.140025be0
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [rsp + 0x60], rbp
mov ebp, dword [rsp + 0x88]
mov qword [rsp + 0x68], rsi
test rdx, rdx
lea rsi, [0x140050a52]
cmovne rsi, rdx
cmp dword [0x14006badc], edi
je 0x14002f284
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r8
lea rdx, str.mDNS_AddDNSServer:_Adding__a_for__s__InterfaceID__p__scoped__d
mov r8, r13
mov r9, rsi
mov ecx, 3
call fcn.140025be0
mov r9d, dword [r14 + 0x3c]
mov r8d, dword [r14 + 0x38]
lea eax, [r9 + 1]
cmp r8d, eax
je 0x14002f2a3
lea rdx, str.mDNS_AddDNSServer:_Lock_not_held__mDNS_busy___ld__mDNS_reentrancy___ld_
xor ecx, ecx
call fcn.140025be0
cmp qword [rbx], rdi
je 0x14002f322
nop dword [rax + rax]
mov rcx, qword [rbx]
cmp dword [rcx + 0x138], ebp
jne 0x14002f30d
cmp qword [rcx + 8], r12
jne 0x14002f30d
cmp dword [rcx + 0x2c], 3
je 0x14002f30d
add rcx, 0x10
mov rdx, r13
call fcn.140001120
test eax, eax
je 0x14002f30d
mov rcx, qword [rbx]
movzx eax, word [rsp + 0x80]
cmp word [rcx + 0x24], ax
jne 0x14002f30d
add rcx, 0x34
mov rdx, rsi
call fcn.140001240
test eax, eax
je 0x14002f30d
mov rax, qword [rbx]
and dword [rax + 0x28], 0xfffffffe
mov rdi, qword [rbx]
mov rax, qword [rdi]
mov qword [rbx], rax
mov qword [rdi], r15
jmp 0x14002f310
mov rbx, qword [rbx]
cmp qword [rbx], r15
jne 0x14002f2b0
test rdi, rdi
je 0x14002f322
mov qword [rbx], rdi
jmp 0x14002f416
mov ecx, 0x148
call fcn.140025cf0
mov qword [rbx], rax
test rax, rax
jne 0x14002f347
lea rdx, str.Error:_mDNS_AddDNSServer___malloc
xor ecx, ecx
call fcn.140025be0
jmp 0x14002f416
inc byte [0x14008edbc]
mov rax, qword [rbx]
mov dword [rax + 0x138], ebp
mov rax, qword [rbx]
mov qword [rax + 8], r12
mov eax, dword [r13]
mov rcx, qword [rbx]
mov dword [rcx + 0x10], eax
mov eax, dword [r13 + 4]
mov dword [rcx + 0x14], eax
mov eax, dword [r13 + 8]
mov dword [rcx + 0x18], eax
mov eax, dword [r13 + 0xc]
mov dword [rcx + 0x1c], eax
mov eax, dword [r13 + 0x10]
mov dword [rcx + 0x20], eax
mov rcx, qword [rbx]
movzx eax, word [rsp + 0x80]
mov word [rcx + 0x24], ax
mov rax, qword [rbx]
mov dword [rax + 0x28], 2
mov rax, qword [rbx]
mov dword [rax + 0x2c], 1
mov eax, dword [0x140071c90]
mov edx, dword [r14 + 0xe8]
lea ecx, [rax + rax*2]
mov rax, qword [rbx]
sub edx, ecx
mov dword [rax + 0x30], edx
mov rcx, qword [rbx]
mov eax, dword [rsp + 0x90]
mov dword [rcx + 0x13c], eax
mov rcx, qword [rbx]
mov eax, dword [rsp + 0x98]
mov dword [rcx + 0x140], eax
lea rdx, [rsi + 0x100]
mov rcx, rsi
call fcn.140001420
mov ecx, 0x100
cmp ax, cx
mov rcx, qword [rbx]
ja 0x14002f40c
movzx r8d, ax
add rcx, 0x34
mov rdx, rsi
call fcn.140025ca0
jmp 0x14002f410
mov byte [rcx + 0x34], r15b
mov rcx, qword [rbx]
mov qword [rcx], r15
mov rcx, qword [rbx]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov dword [rcx + 0x134], r15d
mov rax, qword [rbx]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret