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

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x60
mov r8d, dword [rdx + 0x1b8]
xor ebp, ebp
mov rdi, rdx
mov rsi, rcx
test r8d, r8d
je 0x140018ead
cmp r8d, 4
je 0x140018e58
cmp r8d, 6
jne 0x140018e71
movzx eax, word [rdx + 0x1cc]
cmp ax, word [0x1400506b0]
je 0x140018ead
cmp ax, word [0x1400506cc]
je 0x140018ead
movzx eax, word [rdx + 0x1cc]
add rdx, 0x1d0
movzx ecx, al
shr ax, 8
mov qword [rsp + 0x20], rdx
shl cx, 8
lea rdx, str.mDNS_StartQuery_internal:_Warning__Target.type___ld_port___u__Client_forgot_to_initialize_before_calling_mDNS_StartQuery__for_question__s_
movzx r9d, cx
movzx ecx, al
or r9d, ecx
xor ecx, ecx
call fcn.140025bd0
mov dword [rdi + 0x1b8], ebp
mov ecx, dword [rdi + 0x1b8]
test ecx, ecx
jne 0x140018f08
movzx eax, word [0x1400506ec]
mov word [rdi + 0x1cc], ax
mov rax, qword [rdi + 0x1b0]
cmp rax, qword [0x140050698]
je 0x140018f08
cmp rax, qword [0x140050690]
je 0x140018eff
cmp rax, qword [0x1400506a0]
je 0x140018eff
cmp dword [rdi + 0x2dc], ebp
jne 0x140018eff
lea rcx, [rdi + 0x1d0]
call fcn.140001310
test eax, eax
je 0x140018f08
movzx eax, word [0x140050744]
jmp 0x140018f10
mov rcx, rsi
call fcn.140014640
mov word [rdi + 0x1ce], ax
cmp dword [rsi + 0x170], ebp
jne 0x140018f2c
mov eax, 0xfffefff6
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x88], r12
lea r12, [rdi + 0x1d0]
lea rdx, [rdi + 0x2d0]
mov rcx, r12
mov qword [rsp + 0x90], r13
call fcn.140001420
mov ecx, 0x100
cmp ax, cx
jbe 0x140018f86
movzx ecx, word [rdi + 0x2d0]
call fcn.140005540
lea rdx, str.Attempt_to_start_query_with_invalid_qname__s___s_
mov r8, r12
mov r9, rax
xor ecx, ecx
call fcn.140025bd0
mov eax, 0xfffefff3
jmp 0x14001955c
mov rcx, qword [rdi + 0x1b0]
lea rax, [rsi + 0x140]
cmp rcx, qword [0x140050690]
je 0x140018fa6
cmp rcx, qword [0x1400506a0]
jne 0x140018fad
lea rax, [rsi + 0x158]
cmp qword [rax], rbp
je 0x140018ff6
mov rcx, qword [rax]
cmp rcx, rdi
je 0x140018fc2
mov rax, rcx
cmp qword [rcx], rbp
jne 0x140018fb2
cmp qword [rax], rbp
je 0x140018ff6
movzx ecx, word [rdi + 0x2d0]
call fcn.140005540
lea rdx, str.Error__Tried_to_add_a_question__s___s___p_thats_already_in_the_active_list
mov r8, r12
xor ecx, ecx
mov r9, rax
mov qword [rsp + 0x20], rdi
call fcn.140025bd0
mov eax, 0xfffefff5
jmp 0x14001955c
mov qword [rax], rdi
mov rcx, qword [rdi + 0x1b0]
mov qword [rsp + 0x58], r14
test rcx, rcx
je 0x14001906b
cmp rcx, qword [0x140050690]
je 0x14001906b
cmp rcx, qword [0x140050698]
je 0x14001906b
cmp rcx, qword [0x1400506a0]
je 0x14001906b
mov rax, qword [rsi + 0x30b0]
test rax, rax
je 0x140019042
cmp qword [rax + 0x19d8], rcx
je 0x14001906b
mov rax, qword [rax]
test rax, rax
jne 0x140019031
movzx ecx, word [rdi + 0x2d0]
call fcn.140005540
mov r8, qword [rdi + 0x1b0]
lea rdx, str.Note:_InterfaceID__p_for_question__s___s__not_currently_found_in_active_interface_list
mov r9, r12
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.140025bd0
mov rcx, r12
mov qword [rdi], rbp
call fcn.140003f40
mov rcx, r12
mov dword [rdi + 8], eax
call fcn.140003f40
mov r8d, dword [rdi + 8]
mov r9d, eax
mov eax, 0x20d56b39
mov rcx, rsi
mul r9d
shr edx, 6
imul edx, edx, 0x1f3
sub r9d, edx
mov rdx, r12
call fcn.140011250
mov dword [rdi + 0xc], eax
mov eax, dword [rsi + 0xe8]
mov dword [rdi + 0x10], eax
mov ecx, dword [0x140071c90]
mov eax, 0x55555556
add ecx, 2
mov dword [rdi + 0x18], ebp
imul ecx
mov eax, edx
mov rcx, rsi
shr eax, 0x1f
add edx, eax
mov dword [rdi + 0x14], edx
mov eax, dword [rsi + 0x11c]
mov rdx, rdi
mov qword [rdi + 0x20], rbp
mov qword [rdi + 0x28], rbp
mov byte [rdi + 0x134], bpl
mov dword [rdi + 0x1c], eax
mov qword [rdi + 0x30], rbp
mov qword [rdi + 0x38], rbp
call fcn.140031bf0
mov qword [rdi + 0x40], rax
cmp dword [rdi + 0x2e4], ebp
je 0x140019129
mov r9, qword [rdi + 0x1b0]
movzx r8d, word [rdi + 0x2d0]
mov rdx, r12
mov rcx, rsi
call fcn.1400138b0
mov dword [rdi + 0x130], eax
jmp 0x14001912f
mov dword [rdi + 0x130], ebp
mov rdx, rdi
mov rcx, rsi
call fcn.140012af0
mov qword [rdi + 0x50], rbp
mov qword [rdi + 0x118], rbp
mov qword [rdi + 0x120], rbp
mov qword [rdi + 0x48], rax
mov eax, dword [rsi + 0xe8]
mov dword [rdi + 0x12c], ebp
mov qword [rdi + 0x140], rbp
mov dword [rdi + 0x148], ebp
mov dword [rdi + 0x128], eax
mov qword [rdi + 0x150], rbp
mov byte [rdi + 0x164], bpl
mov qword [rdi + 0x168], rbp
mov eax, dword [0x140050728]
mov r14d, 1
mov dword [rdi + 0x170], eax
mov eax, dword [0x14005072c]
mov dword [rdi + 0x174], eax
mov eax, dword [0x140050730]
mov dword [rdi + 0x178], eax
mov eax, dword [0x140050734]
mov dword [rdi + 0x17c], eax
mov eax, dword [0x140050738]
mov dword [rdi + 0x180], eax
movzx eax, word [0x1400506ec]
mov qword [rdi + 0x188], rbp
mov byte [rdi + 0x192], bpl
mov qword [rdi + 0x194], r14
mov dword [rdi + 0x19c], ebp
mov word [rdi + 0x184], ax
mov word [rdi + 0x1a0], bp
mov rax, qword [0x1400507b0]
mov qword [rdi + 0x1a2], rax
mov rax, qword [0x1400507b0]
mov dword [rdi + 0x160], ebp
mov dword [rdi + 0x138], ebp
mov qword [rdi + 0x158], rax
cmp byte [rdi + 0x2ed], bpl
je 0x14001923b
mov rdx, rdi
mov rcx, rsi
mov byte [rdi + 0x135], 3
call fcn.1400147c0
jmp 0x140019242
mov byte [rdi + 0x135], bpl
mov rax, qword [rdi + 0x48]
test rax, rax
je 0x140019253
mov rax, qword [rax + 0x40]
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x60], rbp
mov qword [rdi + 0x78], rbp
mov qword [rdi + 0x90], rbp
mov qword [rdi + 0xa8], rbp
mov qword [rdi + 0xc0], rbp
mov qword [rdi + 0xd8], rbp
mov qword [rdi + 0xf0], rbp
mov qword [rdi + 0x108], rbp
cmp dword [rdi + 0xc], ebp
je 0x1400192c2
cmp dword [0x14006badc], ebp
je 0x1400192c2
movzx ecx, word [rdi + 0x2d0]
call fcn.140005540
mov r8d, dword [rdi + 0xc]
lea rdx, str.mDNS_StartQuery_internal:_Delaying_answering_for__d_ticks_while_cache_stabilizes_for__s___s_
sub r8d, dword [rsi + 0xe8]
mov r9, r12
mov ecx, 3
mov qword [rsp + 0x20], rax
call fcn.140025bd0
mov rax, qword [rdi + 0x1b0]
cmp rax, qword [0x140050690]
je 0x140019540
cmp rax, qword [0x1400506a0]
je 0x140019540
mov rax, qword [rsi + 0x148]
cmp rax, rbp
cmove rax, rdi
mov qword [rsi + 0x148], rax
cmp word [rdi + 0x1ce], bp
je 0x1400194c7
mov rdx, rdi
mov rcx, rsi
mov qword [rsp + 0x50], r15
call fcn.140013120
mov r15d, eax
cmp byte [rdi + 0x2ec], bpl
je 0x14001933d
mov edx, dword [0x140071c90]
mov ecx, r14d
imul edx, r15d
add edx, dword [rsi + 0xe8]
cmovne ecx, edx
mov dword [rdi + 0x138], ecx
mov rcx, qword [rdi + 0x48]
mov qword [rsp + 0x80], rbx
test rcx, rcx
je 0x1400193e1
mov rax, qword [rcx + 0x158]
mov qword [rdi + 0x158], rax
mov rcx, qword [rcx + 0x150]
mov qword [rdi + 0x150], rcx
cmp dword [0x14006badc], ebp
je 0x14001945a
test rcx, rcx
je 0x140019389
movzx eax, word [rcx + 0x24]
lea rbp, [rcx + 0x10]
jmp 0x140019390
movzx eax, word [0x1400506ec]
movzx ecx, al
shr ax, 8
shl cx, 8
movzx edx, al
movzx ebx, cx
movzx ecx, word [rdi + 0x2d0]
or ebx, edx
call fcn.140005540
mov r9, qword [rdi + 0x48]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
lea rdx, str.mDNS_StartQuery_internal:_Duplicate_question__p___p___s___s___Timeout__d__DNS_Server__a:_d
mov r8, rdi
mov ecx, 3
mov qword [rsp + 0x20], r12
call fcn.140025bd0
jmp 0x14001945a
mov rdx, rdi
mov rcx, rsi
call fcn.140013600
mov qword [rdi + 0x150], rax
cmp dword [0x14006badc], ebp
je 0x14001945a
test rax, rax
je 0x14001940a
movzx ecx, word [rax + 0x24]
lea rbp, [rax + 0x10]
jmp 0x140019411
movzx ecx, word [0x1400506ec]
movzx eax, cl
shr cx, 8
shl ax, 8
movzx ebx, ax
movzx eax, cl
movzx ecx, word [rdi + 0x2d0]
or ebx, eax
call fcn.140005540
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbp
lea rdx, str.mDNS_StartQuery_internal:_question__p__s___s__Timeout__d__DNS_Server__a:_d
mov r9, r12
mov r8, rdi
mov ecx, 3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
call fcn.140025bd0
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.140016870
cmp dword [rdi + 0x2d4], 0
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
je 0x1400194f3
cmp qword [rsi + 0x3a80], 0
jne 0x1400194f3
movzx eax, word [rsi + 0x1c]
lea rdx, [rsi + 0x39d0]
mov rcx, rsi
mov word [rsi + 0x3a6a], ax
mov word [rsi + 0x3a6c], ax
lea rax, [0x1400137f0]
mov byte [rsi + 0x3a68], r14b
mov qword [rsi + 0x3a80], r14
mov qword [rsi + 0x3a78], rax
call fcn.140030100
jmp 0x1400194f3
cmp byte [rdi + 0x2ec], bpl
je 0x1400194f3
mov rdx, rdi
mov rcx, rsi
call fcn.140012f20
imul eax, dword [0x140071c90]
add eax, dword [rsi + 0xe8]
cmovne r14d, eax
mov dword [rdi + 0x138], r14d
cmp dword [rdi + 0x138], 0
je 0x140019533
mov r9d, dword [rsi + 0x3c]
mov r8d, dword [rsi + 0x38]
lea eax, [r9 + 1]
cmp r8d, eax
je 0x14001951b
lea rdx, str.SetNextQueryTime:_Lock_not_held__mDNS_busy___ld__mDNS_reentrancy___ld_
xor ecx, ecx
call fcn.140025bd0
mov ecx, dword [rdi + 0x138]
mov eax, dword [rsi + 0x138]
sub eax, ecx
test eax, eax
jle 0x140019533
mov dword [rsi + 0x138], ecx
mov rdx, rdi
mov rcx, rsi
call fcn.14000c790
jmp 0x140019555
mov rax, qword [rsi + 0x160]
cmp rax, rbp
cmove rax, rdi
mov qword [rsi + 0x160], rax
mov r14, qword [rsp + 0x58]
xor eax, eax
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret