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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, dword [edx + 0xc]
mov esi, dword [esp + 0x48]
mov edi, dword [edx + 8]
mov dword [esp], ecx
cmp eax, 0xffffffff
mov dword [esp + 0x2c], eax
je 0x72676a
mov eax, dword [esp + 0x50]
mov ebp, dword [edx + 0x10]
mov ecx, 0x7fffffff
cmp eax, 0x7fffffff
mov dword [esp + 0x20], ebp
cmovb ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x7265d6
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push ebp
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x14]
mov edx, edi
push 1
push esi
call fcn.00725900
add esp, 8
mov eax, dword [esp + 0x14]
cmp eax, 2
je 0x726784
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x726798
mov dword [esp + 0x24], ecx
push 0
push dword [esp + 0x2c]
push dword [esp + 0x54]
push dword [esp + 0x38]
call dword [sym.imp.ws2_32.dll_send]
cmp eax, 0xffffffff
je 0x726630
mov dword [esp + 8], eax
mov byte [esp + 4], 4
jmp 0x726690
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
lea ecx, [esp + 4]
mov byte [esp + 4], 0
mov byte [esp + 7], 0
mov word [esp + 5], 0
mov dword [esp + 8], eax
call fcn.00475840
cmp al, 0xd
jne 0x726690
test ebp, ebp
je 0x726690
mov eax, dword [ebp + 4]
mov edx, dword [ebp]
lock inc dword [eax]
jle 0x7267b3
add edx, 8
lea ecx, [esp + 0x14]
push dword [ebp + 0xc]
push dword [ebp + 8]
push eax
call fcn.004c0030
add esp, 0xc
movzx eax, byte [esp + 0x14]
cmp al, 4
jne 0x726734
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
cmp cl, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
je 0x7267a2
lea ecx, [esp + 0xc]
call fcn.00475840
cmp al, 0xd
jne 0x72675b
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x10]
and ebx, 0x23
xor ebx, 0x2f
mov dword [esp + 0x30], eax
mov ebp, dword [edi + 0x68]
movzx edx, byte [esp + 0x24]
shl edx, 0x10
nop dword [eax + eax]
mov eax, ebp
shr eax, 0x10
cmp byte [esp + 0x24], al
jne 0x7266fc
mov esi, ebp
mov eax, ebp
and esi, ebx
or esi, edx
lock cmpxchg dword [edi + 0x68], esi
mov ebp, eax
jne 0x7266e0
cmp dword [esp + 0x30], 3
mov ebp, dword [esp + 0x20]
jne 0x7265d2
mov ebx, dword [ecx]
mov esi, dword [ecx + 4]
mov ebp, ecx
push ebx
call dword [esi]
add esp, 4
cmp dword [esi + 4], 0
je 0x7265bf
cmp dword [esi + 8], 9
jb 0x7265b0
mov ebx, dword [ebx - 4]
jmp 0x7265b0
lea edx, [esp + 0x15]
lea esi, [esp + 0xd]
mov ecx, dword [edx]
mov edx, dword [edx + 3]
mov dword [esi + 3], edx
mov dword [esi], ecx
mov byte [esp + 0xc], al
lea ecx, [esp + 0xc]
call fcn.00475840
cmp al, 0xd
je 0x7266ba
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp]
movsd qword [eax], xmm0
jmp 0x7267ab
lea ecx, [esp + 0x14]
mov edx, edi
push 1
push esi
call fcn.00725900
add esp, 8
mov eax, dword [esp + 0x14]
cmp eax, 2
jne 0x72678c
mov eax, dword [esp]
mov byte [eax], 5
jmp 0x7267ab
test eax, eax
je 0x7267b5
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp]
mov dword [eax], ebx
mov dword [eax + 4], ecx
jmp 0x7267ab
mov ecx, dword [esp]
mov byte [ecx], 4
mov dword [ecx + 4], eax
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret
ud2
mov ecx, 0x936784
call fcn.007c1fe0
int3