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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x188
push esi
push edi
mov edi, ecx
xor edx, edx
mov dword [esp + 0x28], edi
cmp dword [edi + 0x2774], edx
lea eax, [edi + 0x1fec]
mov dword [esp + 0x1c], eax
lea esi, [edi + 0x1ff0]
mov eax, dword [eax]
setne dl
mov dword [esp + 0x2c], eax
call fcn.00428350
mov edx, str.uDNS_SetupDNSConfig
mov ecx, edi
call fcn.00405d90
mov eax, dword [edi + 0x1fec]
test eax, eax
je 0x41ce24
or dword [eax + 0x20], 1
mov dword [eax + 0x12c], 0
mov eax, dword [eax]
test eax, eax
jne 0x41ce10
mov eax, dword [esi]
test eax, eax
je 0x41ce3a
nop word [eax + eax]
or dword [eax + 8], 1
mov eax, dword [eax]
test eax, eax
jne 0x41ce30
mov ecx, edi
call fcn.004326a0
lea eax, [esp + 0x14]
mov dword [esp + 0x18], 0
push eax
push str.SOFTWARENational_InstrumentsNI_ZeroconfDynDNSSetupHostNames
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x20], 0
mov byte [esp + 0x9c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x41ceb4
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
mov edx, 0x43c5ff
push eax
lea eax, [esp + 0x20]
push eax
call fcn.004347e0
test eax, eax
jne 0x41ceb4
mov edx, dword [esp + 0x18]
cmp byte [edx], al
je 0x41ceb4
cmp dword [esp + 0x24], eax
je 0x41ceb4
lea ecx, [esp + 0x90]
mov byte [esp + 0x90], al
call fcn.00401c90
mov eax, dword [esp + 0x14]
test eax, eax
je 0x41cecb
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x18]
mov edx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test eax, eax
je 0x41cee5
push eax
call edx
mov edx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
cmp dword [esi], 0
je 0x41cf18
nop word [eax + eax]
mov ecx, dword [esi]
mov eax, dword [ecx + 8]
test al, 1
je 0x41cf05
mov eax, dword [ecx]
push ecx
mov dword [esi], eax
call edx
add esp, 4
jmp 0x41cf0d
and eax, 0xfffffffd
mov dword [ecx + 8], eax
mov esi, dword [esi]
cmp dword [esi], 0
mov edx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jne 0x41cef0
lea eax, [edi + 0x15c]
mov ecx, 0x1f3
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
nop
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
je 0x41d063
nop
mov esi, dword [eax + 8]
test esi, esi
je 0x41d051
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0
jne 0x41d043
mov eax, dword [esi + 0x40]
test eax, eax
je 0x41cf69
mov eax, dword [eax + 0x118]
jmp 0x41cf6b
xor eax, eax
mov edx, dword [esi + 0x20]
mov ecx, edi
push eax
call fcn.004182f0
test eax, eax
je 0x41d043
cmp eax, dword [esi + 0x28]
je 0x41d043
cmp dword [esi + 0x40], 0
jne 0x41d00c
cmp dword [0x44f480], 0
je 0x41cfb8
mov edx, dword [esi + 0x24]
lea eax, [edi + 0x37]
push eax
add edx, 4
lea ecx, [esi + 4]
call fcn.00401290
push eax
push str.uDNS_SetupDNSConfig:_Purging_Resourcerecord__s
push 3
call fcn.0041dc40
add esp, 0xc
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x2c]
lea eax, [ecx + 1]
cmp edx, eax
je 0x41cfd6
push ecx
push edx
push str.mDNS_PurgeCacheResourceRecord:_Lock_not_held__mDNS_busy___ld__mDNS_reentrancy___ld_
push 0
call fcn.0041dc40
add esp, 0x10
mov ecx, dword [0x44f49c]
mov edx, esi
mov eax, dword [edi + 0xdc]
shl ecx, 4
sub ecx, dword [0x44f49c]
shl ecx, 2
sub eax, ecx
mov dword [esi + 0x44], 4
mov ecx, edi
mov dword [esi + 0x30], eax
mov dword [esi + 0xc], 0
call fcn.0040d480
jmp 0x41d043
cmp dword [0x44f480], 0
je 0x41d037
mov edx, dword [esi + 0x24]
lea eax, [edi + 0x37]
push eax
add edx, 4
lea ecx, [esi + 4]
call fcn.00401290
push eax
push str.uDNS_SetupDNSConfig:_Purging_Reconfirming_Resourcerecord__s
push 3
call fcn.0041dc40
add esp, 0xc
sub esp, 8
mov edx, esi
mov ecx, edi
call fcn.0041c880
mov esi, dword [esi]
test esi, esi
jne 0x41cf50
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x41cf40
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, 4
sub ecx, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
jne 0x41cf30
mov esi, dword [edi + 0x130]
test esi, esi
je 0x41d169
nop dword [eax]
cmp word [esi + 0x132], 0
je 0x41d15f
cmp dword [esi + 0x38], 0
jne 0x41d15f
mov edx, esi
mov ecx, edi
call fcn.00417fb0
xor eax, eax
mov edx, esi
mov ecx, edi
mov word [esi + 0xd6], ax
call fcn.00418400
cmp dword [esi + 0xc8], eax
je 0x41d123
push eax
mov edx, esi
mov ecx, edi
call fcn.0041cd30
cmp dword [esi + 0x248], 0
mov byte [esi + 0xd8], 0
je 0x41d0ee
cmp dword [esi + 0xb4], 0
jne 0x41d15f
push 1
mov edx, esi
mov ecx, edi
call fcn.00411d90
mov eax, dword [esi]
mov dword [esp + 0x10], eax
test eax, eax
je 0x41d15f
cmp dword [eax + 0x38], esi
jne 0x41d117
push 1
mov edx, eax
mov ecx, edi
call fcn.00411d90
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x41d103
jmp 0x41d15f
mov ecx, dword [esi]
test ecx, ecx
je 0x41d15f
nop dword [eax]
cmp dword [ecx + 0x38], esi
jne 0x41d159
mov eax, dword [esi + 0xcc]
mov dword [ecx + 0xcc], eax
mov eax, dword [esi + 0xd0]
mov dword [ecx + 0xd0], eax
mov eax, dword [esi + 0xc8]
mov dword [ecx + 0xc8], eax
mov ecx, dword [ecx]
test ecx, ecx
jne 0x41d130
mov esi, dword [esi]
test esi, esi
jne 0x41d090
mov esi, dword [esp + 0x1c]
cmp dword [esi], 0
je 0x41d342
mov edx, dword [esi]
mov dword [esp + 0x10], edx
mov eax, dword [edx + 0x20]
test al, 1
je 0x41d32d
lea eax, [edi + 0x15c]
mov ecx, 0x1f3
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
nop word [eax + eax]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
je 0x41d2f9
nop
mov esi, dword [eax + 8]
test esi, esi
je 0x41d2e7
nop dword [eax + eax]
cmp dword [esi + 0x1c], 0
jne 0x41d2d9
mov ecx, dword [esi + 0x28]
cmp ecx, edx
jne 0x41d2d9
mov edi, dword [esi + 0x40]
test edi, edi
je 0x41d29b
mov ecx, dword [edi + 0xc8]
lea eax, [edx + 8]
push eax
test ecx, ecx
jne 0x41d22a
mov cx, word [edi + 0x234]
call fcn.004010c0
mov edx, dword [esi + 0x24]
lea ecx, [esi + 4]
push eax
lea eax, [edi + 0x134]
add edx, 4
push eax
mov eax, dword [esp + 0x34]
add eax, 0x37
push eax
call fcn.00401290
push eax
push str.uDNS_SetupDNSConfig:_Cache_Record__s_match:_Active_question__s___s__with_DNSServer_Address_NULL__Server_to_be_deleted__a
push 0
call fcn.0041dc40
add esp, 0x18
jmp 0x41d268
lea eax, [ecx + 8]
mov cx, word [edi + 0x234]
push eax
call fcn.004010c0
mov edx, dword [esi + 0x24]
lea ecx, [esi + 4]
push eax
lea eax, [edi + 0x134]
add edx, 4
push eax
mov eax, dword [esp + 0x38]
add eax, 0x37
push eax
call fcn.00401290
push eax
push str.uDNS_SetupDNSConfig:_Cache_Record__s_match:_Active_question__s___s__DNSServer_Address__a__Server_to_be_deleted__a
push 0
call fcn.0041dc40
add esp, 0x1c
mov eax, dword [edi + 0xc8]
cmp eax, dword [esp + 0x10]
jne 0x41d296
mov eax, dword [0x43d9ec]
mov dword [edi + 0xcc], eax
mov eax, dword [0x43d9f0]
mov dword [edi + 0xd0], eax
mov dword [edi + 0xc8], 0
jmp 0x41d2be
mov dword [esi + 0x28], eax
jmp 0x41d2c5
cmp dword [0x44f480], 0
je 0x41d2be
lea eax, [edx + 8]
push eax
lea eax, [ecx + 8]
push eax
push dword [esi + 0x20]
push str.uDNS_SetupDNSConfig:_Cache_Record__s_has_no_Active_question__Records_DNSServer_Address__a__Server_to_be_deleted__a
push 3
call fcn.0041dc40
add esp, 0x14
mov dword [esi + 0x28], 0
mov edi, dword [esp + 0x28]
sub esp, 8
mov edx, esi
mov ecx, edi
call fcn.0041c880
mov edx, dword [esp + 0x10]
mov esi, dword [esi]
test esi, esi
jne 0x41d1c0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x41d1b0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, 4
sub ecx, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
jne 0x41d1a0
mov esi, dword [esp + 0x1c]
push edx
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
dec byte [0x44f484]
jmp 0x41d339
and eax, 0xfffffffd
mov dword [edx + 0x20], eax
mov esi, dword [esi]
mov dword [esp + 0x1c], esi
cmp dword [esi], 0
jne 0x41d176
xor ecx, ecx
cmp dword [esp + 0x2c], ecx
setne cl
xor eax, eax
cmp dword [edi + 0x1fec], eax
setne al
cmp eax, ecx
je 0x41d44e
xor eax, eax
lea ecx, [edi + 0x15c]
mov edx, 0x1f3
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x41d401
mov esi, dword [ecx + 8]
test esi, esi
je 0x41d3f3
cmp dword [esi + 0x1c], 0
jne 0x41d3e9
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x2c]
lea eax, [ecx + 1]
cmp edx, eax
je 0x41d3ac
push ecx
push edx
push str.mDNS_PurgeCacheResourceRecord:_Lock_not_held__mDNS_busy___ld__mDNS_reentrancy___ld_
push 0
call fcn.0041dc40
add esp, 0x10
mov ecx, dword [0x44f49c]
mov edx, esi
mov eax, dword [edi + 0xdc]
shl ecx, 4
sub ecx, dword [0x44f49c]
shl ecx, 2
sub eax, ecx
mov dword [esi + 0x44], 4
mov ecx, edi
mov dword [esi + 0x30], eax
mov dword [esi + 0xc], 0
call fcn.0040d480
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
mov esi, dword [esi]
test esi, esi
jne 0x41d388
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x41d381
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
add ecx, 4
sub edx, 1
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], edx
jne 0x41d373
cmp dword [0x44f480], 0
je 0x41d447
cmp dword [edi + 0x1fec], 0
mov ecx, str.No_DNS_servers
push eax
mov eax, str.DNS_server_became
cmove eax, ecx
push eax
push str.uDNS_SetupDNSConfig:__s_available__purged__d_unicast_DNS_records_from_cache
push 3
call fcn.0041dc40
add esp, 0x10
mov ecx, edi
call fcn.0041a8b0
lea esi, [edi + 0x25fc]
push esi
lea eax, [esp + 0x94]
push eax
call fcn.004018b0
test eax, eax
jne 0x41d4bf
cmp byte [esi], al
je 0x41d473
mov edx, esi
mov ecx, edi
call fcn.00422c90
lea ecx, [esp + 0x90]
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0x3f
ja 0x41d49f
test al, al
je 0x41d5c5
movzx eax, al
inc eax
add ecx, eax
lea eax, [esp + 0x190]
cmp ecx, eax
jb 0x41d480
mov byte [esi], 0
cmp byte [esi], 0
je 0x41d4bf
mov edx, 1
mov ecx, esi
call fcn.00432230
sub esp, 8
mov edx, esi
mov ecx, edi
call fcn.00422b60
mov eax, dword [edi + 0x2c]
mov ecx, dword [edi + 0x30]
dec eax
mov dword [edi + 0x2c], eax
cmp eax, ecx
je 0x41d4e3
push ecx
push eax
push str.uDNS_SetupDNSConfig
push str._s:_mDNS_Unlock:_Locking_failure__mDNS_busy___ld____mDNS_reentrancy___ld_
push 0
call fcn.0041dc40
add esp, 0x14
cmp dword [edi + 0x2c], 0
jne 0x41d51d
mov ecx, edi
call fcn.00405eb0
cmp dword [edi + 0xdc], 0
mov dword [edi + 0xe4], eax
jne 0x41d513
push str.uDNS_SetupDNSConfig
push str._s:_mDNS_Unlock:_ERROR__m__timenow_aready_zero
push 0
call fcn.0041dc40
add esp, 0xc
mov dword [edi + 0xdc], 0
mov eax, dword [0x43d998]
lea edx, [esp + 0x70]
movups xmm0, xmmword [0x43d988]
mov dword [esp + 0x60], eax
mov ecx, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x80], eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x34]
movaps xmmword [esp + 0x54], xmm0
movaps xmmword [esp + 0x74], xmm0
push eax
movaps xmmword [esp + 0x38], xmm0
mov dword [esp + 0x58], 4
mov dword [esp + 0x78], 4
call fcn.00432a70
test eax, eax
jne 0x41d5f9
mov ecx, dword [esp + 0x74]
cmp cl, 0xa9
jne 0x41d582
cmp ch, 0xfe
je 0x41d5f9
xor edx, edx
lea eax, [esp + 0x50]
cmp dword [esp + 0x54], edx
cmove eax, edx
lea edx, [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
or eax, dword [esp + 0x3c]
or eax, dword [esp + 0x40]
or eax, dword [esp + 0x44]
neg eax
sbb eax, eax
and eax, edx
lea edx, [esp + 0x74]
push eax
xor eax, eax
test ecx, ecx
mov ecx, edi
cmove edx, eax
call fcn.00422de0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x90]
sub cx, ax
inc cx
movzx eax, cx
mov ecx, pe_nt_image_headers32
cmp ax, cx
ja 0x41d49f
push eax
lea eax, [esp + 0x94]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x41d4a2
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.00422de0
cmp byte [esi], 0
je 0x41d617
mov edx, 1
mov ecx, esi
call fcn.00432230
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret