Function at 0x4ca470
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x4ca565
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
cmp eax, 0xffffffff
je 0x4ca56f
mov edx, ecx
xor edx, eax
cmp edx, 0x12345678
jne 0x4ca56f
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x4ca4af
mov dword [eax], 0
mov eax, dword [ebp + 4]
test eax, eax
je 0x4ca592
nop word [eax + eax]
mov ebx, eax
mov eax, dword [eax]
cmp eax, ebp
je 0x4ca4cc
test eax, eax
jne 0x4ca4c0
test eax, eax
je 0x4ca588
mov dword [esp], 0x1c
call sub.msvcrt.dll_malloc
test eax, eax
je 0x4ca668
movaps xmm0, xmmword [0x5ae350]
mov esi, eax
movups xmmword [eax], xmm0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [esp], esi
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], 0
call fcn.004cd240
mov eax, dword [ebp + 8]
mov ecx, 0x1c
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], eax
nop
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_send]
sub esp, 0x10
mov ecx, dword [esp + 0x20]
mov edi, eax
test eax, eax
js 0x4ca677
cmp ecx, edi
jb 0x4ca677
add esi, edi
sub ecx, edi
jne 0x4ca520
jmp 0x4ca6c3
mov dword [esp + 4], str.dnssd_clientstub_DNSServiceRefDeallocate_called_with_NULL_DNSServiceRef
jmp 0x4ca583
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov dword [esp + 4], str.dnssd_clientstub_DNSServiceRefDeallocate_called_with_invalid_DNSServiceRef__p__08X__08X
call fcn.004c9fc0
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 4
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov esi, dword [ebp]
mov edx, ecx
xor edx, eax
cmp edx, 0x12345678
jne 0x4ca640
mov dword [ebp], 0
mov dword [ebp + 4], 0
mov dword [ebp + 8], 0xffffffff
mov dword [ebp + 0xc], 0xdddddddd
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x2c], 0
mov dword [ebp + 0x28], 0
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x4ca630
nop dword [eax]
mov edi, dword [eax]
mov dword [esp], eax
call fcn.00537860
test edi, edi
mov eax, edi
jne 0x4ca620
mov dword [esp], ebp
call fcn.00537860
jmp 0x4ca659
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov dword [esp + 4], str.dnssd_clientstub_attempt_to_dispose_invalid_DNSServiceRef__p__08X__08X
call fcn.004c9fc0
test esi, esi
mov ebp, esi
jne 0x4ca5b0
jmp 0x4ca588
mov dword [esp + 4], str.dnssd_clientstub_create_hdr:_malloc_failed
call fcn.004c9fc0
jmp 0x4ca6cf
test edi, edi
js 0x4ca684
mov eax, 0x5ae78d
xor esi, esi
jmp 0x4ca69e
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
mov ecx, esi
mov esi, eax
call ecx
mov dword [esp], eax
call fcn.004cd010
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.dnssd_clientstub_write_all__d__failed__ld__ld__d__s
mov dword [esp + 8], ecx
call fcn.004c9fc0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00537860
mov eax, dword [ebp]
mov dword [ebx], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov edx, ecx
xor edx, eax
cmp edx, 0x12345678
jne 0x4ca75d
mov dword [ebp], 0
mov dword [ebp + 4], 0
mov dword [ebp + 8], 0xffffffff
mov dword [ebp + 0xc], 0xdddddddd
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x2c], 0
mov dword [ebp + 0x28], 0
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x4ca750
nop word [eax + eax]
mov esi, dword [eax]
mov dword [esp], eax
call fcn.00537860
test esi, esi
mov eax, esi
jne 0x4ca740
mov dword [esp], ebp
call fcn.00537860
jmp 0x4ca588
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov dword [esp + 4], str.dnssd_clientstub_attempt_to_dispose_invalid_DNSServiceRef__p__08X__08X
jmp 0x4ca583