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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
imul esi, dword [edi + 0x58], 0x58
add esi, dword [ebx + 0x74]
cmp dword [edi + 0x60], 0
mov dword [ebp + 8], esi
je 0x47aba1
cmp dword [esi + 0x20], 0xffffffff
jne 0x47ab0f
push esi
push ebx
call fcn.0047b290
add esp, 8
cmp eax, 0xffffffff
jne 0x47ab0f
cmp dword [ebx + 0x78], 1
jle 0x47aafb
mov ecx, dword [edi + 0x58]
mov eax, dword [edi + 0x5c]
mov dword [eax + ecx*8], 1
push dword [ebp + 0x10]
push edi
push ebx
call fcn.0047b200
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x14
call dword [0x501144]
mov ecx, eax
add esp, 4
mov dword [ebp + 0xc], ecx
test ecx, ecx
jne 0x47ab38
push eax
push eax
push 0xf
push edi
push ebx
call fcn.0047ae60
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
mov eax, dword [edi + 0x3c]
mov dword [ecx], eax
mov eax, dword [edi + 0x40]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edi
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x47ab6d
mov dword [eax + 0x10], ecx
jmp 0x47ab8f
mov eax, dword [ebx + 0x91a0]
test eax, eax
je 0x47ab8c
push 1
push 1
push dword [esi + 0x20]
push dword [ebx + 0x91a4]
call eax
mov ecx, dword [ebp + 0xc]
add esp, 0x10
mov dword [esi + 0x38], ecx
mov eax, dword [esi + 0x40]
mov dword [esi + 0x3c], ecx
mov edx, dword [edi + 0x58]
mov ecx, dword [edi + 0x5c]
mov dword [ecx + edx*8 + 4], eax
jmp 0x47abfe
cmp dword [esi + 0x1c], 0xffffffff
jne 0x47abba
push esi
push ebx
call fcn.0047b4e0
add esp, 8
cmp eax, 0xffffffff
je 0x47aae8
mov edx, dword [esi + 0x1c]
mov esi, dword [ebx + 0x91b8]
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x44]
test esi, esi
je 0x47abea
push dword [ebx + 0x91bc]
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
push 1
push eax
mov dword [ebp - 8], ecx
mov eax, dword [esi + 0x10]
push edx
call eax
add esp, 0x10
jmp 0x47abf5
push 0
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x47aae8
mov eax, dword [edi + 0x54]
cdq
idiv dword [ebx + 0x78]
mov esi, dword [ebx + 4]
cmp eax, 0x1f
jg 0x47ac20
mov ecx, 0x1f
mov edx, esi
sub ecx, eax
sar edx, cl
test edx, edx
jne 0x47ac20
mov ecx, eax
shl esi, cl
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov eax, dword [ecx + 4]
mov dword [edi + 8], eax
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [edi + 4]
add edx, eax
imul eax, eax, 0x3e8
mov dword [edi + 4], edx
sub esi, eax
imul ecx, esi, 0x3e8
add ecx, dword [edi + 8]
mov dword [edi + 8], ecx
cmp ecx, 0xf4240
jl 0x47ac72
lea eax, [edx + 1]
mov dword [edi + 4], eax
lea eax, [ecx - 0xf4240]
mov dword [edi + 8], eax
lea esi, [edi + 0x18]
push esi
call fcn.0047c420
mov eax, dword [edi + 4]
and eax, 0x800003ff
jns 0x47ac8c
dec eax
or eax, 0xfffffc00
inc eax
lea eax, [eax + eax*2]
lea eax, [eax + 0x1868]
lea eax, [ebx + eax*4]
push eax
push esi
call fcn.0047c3e0
lea esi, [edi + 0x24]
push esi
call fcn.0047c420
mov eax, dword [ebp + 8]
add eax, 0x44
push eax
push esi
call fcn.0047c3e0
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret