Function at 0x470300
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 0x4703f1
cmp dword [esi + 0x20], 0xffffffff
jne 0x47035f
push esi
push ebx
call fcn.00470ae0
add esp, 8
cmp eax, 0xffffffff
jne 0x47035f
cmp dword [ebx + 0x78], 1
jle 0x47034b
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.00470a50
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x14
call dword [0x4f6094]
mov ecx, eax
add esp, 4
mov dword [ebp + 0xc], ecx
test ecx, ecx
jne 0x470388
push eax
push eax
push 0xf
push edi
push ebx
call fcn.004706b0
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 0x4703bd
mov dword [eax + 0x10], ecx
jmp 0x4703df
mov eax, dword [ebx + 0x91a0]
test eax, eax
je 0x4703dc
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 0x47044e
cmp dword [esi + 0x1c], 0xffffffff
jne 0x47040a
push esi
push ebx
call fcn.00470d30
add esp, 8
cmp eax, 0xffffffff
je 0x470338
mov edx, dword [esi + 0x1c]
mov esi, dword [ebx + 0x91b8]
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x44]
test esi, esi
je 0x47043a
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 0x470445
push 0
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x470338
mov eax, dword [edi + 0x54]
cdq
idiv dword [ebx + 0x78]
mov esi, dword [ebx + 4]
cmp eax, 0x1f
jg 0x470470
mov ecx, 0x1f
mov edx, esi
sub ecx, eax
sar edx, cl
test edx, edx
jne 0x470470
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 0x4704c2
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.00471c70
mov eax, dword [edi + 4]
and eax, 0x800003ff
jns 0x4704dc
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.00471c30
lea esi, [edi + 0x24]
push esi
call fcn.00471c70
mov eax, dword [ebp + 8]
add eax, 0x44
push eax
push esi
call fcn.00471c30
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret