Function at 0x140018e40
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 0x140018ebd
cmp r8d, 4
je 0x140018e68
cmp r8d, 6
jne 0x140018e81
movzx eax, word [rdx + 0x1cc]
cmp ax, word [0x1400506b0]
je 0x140018ebd
cmp ax, word [0x1400506cc]
je 0x140018ebd
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.140025be0
mov dword [rdi + 0x1b8], ebp
mov ecx, dword [rdi + 0x1b8]
test ecx, ecx
jne 0x140018f18
movzx eax, word [0x1400506ec]
mov word [rdi + 0x1cc], ax
mov rax, qword [rdi + 0x1b0]
cmp rax, qword [0x140050698]
je 0x140018f18
cmp rax, qword [0x140050690]
je 0x140018f0f
cmp rax, qword [0x1400506a0]
je 0x140018f0f
cmp dword [rdi + 0x2dc], ebp
jne 0x140018f0f
lea rcx, [rdi + 0x1d0]
call fcn.140001310
test eax, eax
je 0x140018f18
movzx eax, word [0x140050744]
jmp 0x140018f20
mov rcx, rsi
call fcn.140014650
mov word [rdi + 0x1ce], ax
cmp dword [rsi + 0x170], ebp
jne 0x140018f3c
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 0x140018f96
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.140025be0
mov eax, 0xfffefff3
jmp 0x14001956c
mov rcx, qword [rdi + 0x1b0]
lea rax, [rsi + 0x140]
cmp rcx, qword [0x140050690]
je 0x140018fb6
cmp rcx, qword [0x1400506a0]
jne 0x140018fbd
lea rax, [rsi + 0x158]
cmp qword [rax], rbp
je 0x140019006
mov rcx, qword [rax]
cmp rcx, rdi
je 0x140018fd2
mov rax, rcx
cmp qword [rcx], rbp
jne 0x140018fc2
cmp qword [rax], rbp
je 0x140019006
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.140025be0
mov eax, 0xfffefff5
jmp 0x14001956c
mov qword [rax], rdi
mov rcx, qword [rdi + 0x1b0]
mov qword [rsp + 0x58], r14
test rcx, rcx
je 0x14001907b
cmp rcx, qword [0x140050690]
je 0x14001907b
cmp rcx, qword [0x140050698]
je 0x14001907b
cmp rcx, qword [0x1400506a0]
je 0x14001907b
mov rax, qword [rsi + 0x30b0]
test rax, rax
je 0x140019052
cmp qword [rax + 0x19d8], rcx
je 0x14001907b
mov rax, qword [rax]
test rax, rax
jne 0x140019041
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.140025be0
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.140011260
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.140031a60
mov qword [rdi + 0x40], rax
cmp dword [rdi + 0x2e4], ebp
je 0x140019139
mov r9, qword [rdi + 0x1b0]
movzx r8d, word [rdi + 0x2d0]
mov rdx, r12
mov rcx, rsi
call fcn.1400138c0
mov dword [rdi + 0x130], eax
jmp 0x14001913f
mov dword [rdi + 0x130], ebp
mov rdx, rdi
mov rcx, rsi
call fcn.140012b00
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 0x14001924b
mov rdx, rdi
mov rcx, rsi
mov byte [rdi + 0x135], 3
call fcn.1400147d0
jmp 0x140019252
mov byte [rdi + 0x135], bpl
mov rax, qword [rdi + 0x48]
test rax, rax
je 0x140019263
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 0x1400192d2
cmp dword [0x14006badc], ebp
je 0x1400192d2
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.140025be0
mov rax, qword [rdi + 0x1b0]
cmp rax, qword [0x140050690]
je 0x140019550
cmp rax, qword [0x1400506a0]
je 0x140019550
mov rax, qword [rsi + 0x148]
cmp rax, rbp
cmove rax, rdi
mov qword [rsi + 0x148], rax
cmp word [rdi + 0x1ce], bp
je 0x1400194d7
mov rdx, rdi
mov rcx, rsi
mov qword [rsp + 0x50], r15
call fcn.140013130
mov r15d, eax
cmp byte [rdi + 0x2ec], bpl
je 0x14001934d
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 0x1400193f1
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 0x14001946a
test rcx, rcx
je 0x140019399
movzx eax, word [rcx + 0x24]
lea rbp, [rcx + 0x10]
jmp 0x1400193a0
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.140025be0
jmp 0x14001946a
mov rdx, rdi
mov rcx, rsi
call fcn.140013610
mov qword [rdi + 0x150], rax
cmp dword [0x14006badc], ebp
je 0x14001946a
test rax, rax
je 0x14001941a
movzx ecx, word [rax + 0x24]
lea rbp, [rax + 0x10]
jmp 0x140019421
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.140025be0
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.140016880
cmp dword [rdi + 0x2d4], 0
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
je 0x140019503
cmp qword [rsi + 0x3a80], 0
jne 0x140019503
movzx eax, word [rsi + 0x1c]
lea rdx, [rsi + 0x39d0]
mov rcx, rsi
mov word [rsi + 0x3a6a], ax
mov word [rsi + 0x3a6c], ax
lea rax, [0x140013800]
mov byte [rsi + 0x3a68], r14b
mov qword [rsi + 0x3a80], r14
mov qword [rsi + 0x3a78], rax
call fcn.14002ff70
jmp 0x140019503
cmp byte [rdi + 0x2ec], bpl
je 0x140019503
mov rdx, rdi
mov rcx, rsi
call fcn.140012f30
imul eax, dword [0x140071c90]
add eax, dword [rsi + 0xe8]
cmovne r14d, eax
mov dword [rdi + 0x138], r14d
cmp dword [rdi + 0x138], 0
je 0x140019543
mov r9d, dword [rsi + 0x3c]
mov r8d, dword [rsi + 0x38]
lea eax, [r9 + 1]
cmp r8d, eax
je 0x14001952b
lea rdx, str.SetNextQueryTime:_Lock_not_held__mDNS_busy___ld__mDNS_reentrancy___ld_
xor ecx, ecx
call fcn.140025be0
mov ecx, dword [rdi + 0x138]
mov eax, dword [rsi + 0x138]
sub eax, ecx
test eax, eax
jle 0x140019543
mov dword [rsi + 0x138], ecx
mov rdx, rdi
mov rcx, rsi
call fcn.14000c7a0
jmp 0x140019565
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