Function at 0x47ac90
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 0x47ad81
cmp dword [esi + 0x20], 0xffffffff
jne 0x47acef
push esi
push ebx
call fcn.0047b470
add esp, 8
cmp eax, 0xffffffff
jne 0x47acef
cmp dword [ebx + 0x78], 1
jle 0x47acdb
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.0047b3e0
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 0x47ad18
push eax
push eax
push 0xf
push edi
push ebx
call fcn.0047b040
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 0x47ad4d
mov dword [eax + 0x10], ecx
jmp 0x47ad6f
mov eax, dword [ebx + 0x91a0]
test eax, eax
je 0x47ad6c
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 0x47adde
cmp dword [esi + 0x1c], 0xffffffff
jne 0x47ad9a
push esi
push ebx
call fcn.0047b6c0
add esp, 8
cmp eax, 0xffffffff
je 0x47acc8
mov edx, dword [esi + 0x1c]
mov esi, dword [ebx + 0x91b8]
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x44]
test esi, esi
je 0x47adca
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 0x47add5
push 0
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x47acc8
mov eax, dword [edi + 0x54]
cdq
idiv dword [ebx + 0x78]
mov esi, dword [ebx + 4]
cmp eax, 0x1f
jg 0x47ae00
mov ecx, 0x1f
mov edx, esi
sub ecx, eax
sar edx, cl
test edx, edx
jne 0x47ae00
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 0x47ae52
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.0047c600
mov eax, dword [edi + 4]
and eax, 0x800003ff
jns 0x47ae6c
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.0047c5c0
lea esi, [edi + 0x24]
push esi
call fcn.0047c600
mov eax, dword [ebp + 8]
add eax, 0x44
push eax
push esi
call fcn.0047c5c0
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret