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

Disassembly:
sub esp, 0x104
mov eax, dword [0x80100c]
xor eax, esp
mov dword [esp + 0x100], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov ebx, dword [eax]
mov eax, dword [esp + 0x110]
add eax, 0xfffffffd
push edi
cmp eax, 4
ja case.0x4788d1.4
jmp dword [eax*4 + 0x478b94]
lea eax, [esi + 0x15c]
call fcn.004785c0
movzx ecx, word [esi + 0x40]
movzx edi, ax
lea eax, [ecx + 1]
and eax, 0xffff
cmp eax, edi
jne 0x4788ff
mov dword [esi + 0x18], 0
jmp 0x478916
cmp ecx, edi
jne 0x47899f
push edi
push 0x74fcc0
push ebx
call fcn.00463b80
add esp, 0xc
mov word [esi + 0x40], di
lea edi, [esi + 0x160]
mov eax, 4
mov ecx, edi
call fcn.00478570
mov ax, word [esi + 0x40]
mov ecx, edi
call fcn.00478590
mov ecx, dword [esi + 0x148]
mov eax, dword [edi]
push ecx
mov ecx, dword [esi + 0x14]
lea edx, [esi + 0xc8]
push edx
push 0
push 4
push eax
push ecx
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jl 0x478ac6
mov eax, dword [esi + 0x154]
xor ecx, ecx
add eax, 4
cmp dword [esi + 0x14c], eax
setl cl
add esi, 0x38
push esi
lea ecx, [ecx + ecx + 1]
mov dword [esi - 0x38], ecx
call fcn.0056680d
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.005635df
add esp, 0x104
ret
push eax
push edi
push 0x74fc80
push ebx
call fcn.00463b80
add esp, 0x10
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.005635df
add esp, 0x104
ret
xor edx, edx
lea edi, [esi + 0x160]
lea eax, [edx + 4]
mov ecx, edi
mov word [esi + 0x40], dx
mov dword [esi + 0x18], edx
call fcn.00478570
mov ax, word [esi + 0x40]
mov ecx, edi
call fcn.00478590
mov eax, dword [esi + 0x148]
mov edx, dword [edi]
push eax
mov eax, dword [esi + 0x14]
lea ecx, [esi + 0xc8]
push ecx
push 0
push 4
push edx
push eax
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jge 0x478a1f
push 0x100
lea ecx, [esp + 0x10]
push ecx
jmp 0x478ad0
mov dword [esi], 1
add esi, 0x38
push esi
call fcn.0056680d
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.005635df
add esp, 0x104
ret
movzx edx, word [esi + 0x40]
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
push eax
inc edx
and edx, 0xffff
push edx
push 0x74fc4c
push ebx
call fcn.00463b80
mov eax, dword [esi + 0x18]
add esp, 0x10
cmp eax, dword [esi + 0x20]
jle 0x478a9b
pop edi
mov dword [esi + 8], 0xffffff9d
mov dword [esi], 3
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.005635df
add esp, 0x104
ret
mov ecx, dword [esi + 0x148]
mov eax, dword [esi + 0x160]
push ecx
mov ecx, dword [esi + 0x14]
lea edx, [esi + 0xc8]
push edx
push 0
push 4
push eax
push ecx
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jge 0x478b4a
push 0x100
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.00491d10
push eax
push 0x74def4
push ebx
call fcn.00463c60
add esp, 0x18
pop edi
pop esi
mov eax, 0x37
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.005635df
add esp, 0x104
ret
lea edi, [esi + 0x160]
mov eax, 5
mov ecx, edi
call fcn.00478570
mov ax, word [esi + 0x40]
mov ecx, edi
call fcn.00478590
mov eax, dword [esi + 0x148]
mov edx, dword [edi]
push eax
mov eax, dword [esi + 0x14]
lea ecx, [esi + 0xc8]
push ecx
push 0
push 4
push edx
push eax
call dword [sym.imp.WS2_32.dll_sendto]
mov dword [esi], 3
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.005635df
add esp, 0x104
ret
push 0x74fc34
push 0x74def4
push ebx
call fcn.00463c60
mov ecx, dword [esp + 0x118]
add esp, 0xc
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 0x47
call fcn.005635df
add esp, 0x104
ret