Function at 0x100026d0
Capabilities:
Check for time delay via gettickcount
Get socket status
Send data
Send data on socket

Disassembly:
mov edx, dword [ecx + 0x7d2cc]
mov eax, dword [ecx + 0x7d2c8]
sub esp, 0x13c
cmp edx, eax
push ebx
push ebp
push esi
push edi
jae 0x100026bd
mov ebx, dword [ecx + 0x7d2e4]
mov esi, 1
inc ebx
mov eax, ebx
mov dword [ecx + 0x7d2e4], ebx
cmp eax, esi
jle 0x100025cf
cmp eax, 0x1e
jl 0x100026bd
mov edi, dword [ecx + 0x2a8]
mov dword [esp + 0x48], esi
mov dword [esp + 0x24], esi
lea eax, [esp + 0x24]
xor esi, esi
push eax
lea ecx, [esp + 0x4c]
push esi
push ecx
push esi
push esi
mov dword [esp + 0x28], 0x82020476
mov word [esp + 0x2c], 0x69
mov word [esp + 0x2e], 8
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x2800
mov dword [esp + 0x60], edi
mov dword [esp + 0x3c], esi
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
je 0x100026bd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [sym.imp.WS2_32.dll_send]
push esi
lea edx, [esp + 0x18]
push 0x10
push edx
push edi
mov dword [esp + 0x20], eax
call ebp
cmp eax, 0xffffffff
je 0x100026bd
mov ebx, dword [sym.imp.USER32.dll_PeekMessageA]
add esi, eax
cmp esi, 0x10
jge 0x100026bd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x10]
cmp eax, 0x1388
jae 0x100026bd
push 1
push 0
push 0
lea eax, [esp + 0x38]
push 0
push eax
call ebx
test eax, eax
je 0x1000269e
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
push 0
push 0
lea eax, [esp + 0x38]
push 0
push eax
call ebx
test eax, eax
jne 0x10002675
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x10
push 0
sub ecx, esi
lea edx, [esp + esi + 0x18]
push ecx
push edx
push edi
call ebp
cmp eax, 0xffffffff
jne 0x1000264a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13c
ret
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x18]
push eax
call dword [0x100053f0]
mov ecx, dword [esi + 0x7d2cc]
mov edx, dword [esi + 0x7d2c8]
cmp ecx, edx
jb 0x10002813
mov edi, dword [esi + 0x7d2c0]
mov ecx, dword [esi + 0x7d2c4]
cmp edi, ecx
jge 0x1000275f
mov eax, dword [esi + 0x18]
lea edx, [ecx + esi + 0x2c0]
push 0x2800
push edx
push eax
call dword [0x10005474]
test eax, eax
je 0x1000275c
mov edi, dword [esi + 0x7d2c4]
mov edx, dword [esi + 0x7d2d0]
add edi, 0x2800
add edx, 0x2800
mov dword [esi + 0x7d2c4], edi
mov eax, dword [esi + 0x7d2c4]
xor edi, edi
cmp eax, 0x7d000
mov dword [esi + 0x7d2d0], edx
jl 0x10002756
mov dword [esi + 0x7d2c4], edi
mov dword [esi + 0x7d2e0], edi
pop edi
pop esi
ret
jne 0x100027c8
mov ecx, dword [esi + 0x7d2e0]
xor edi, edi
mov dword [esi + ecx*4 + 0x7d2d4], eax
mov edx, dword [esi + 0x7d2e0]
inc edx
mov eax, edx
mov dword [esi + 0x7d2e0], edx
cmp eax, 3
jne 0x1000278a
mov dword [esi + 0x7d2e0], edi
mov eax, dword [esi + 0x7d2d4]
mov ecx, dword [esi + 0x7d2d8]
cmp eax, ecx
jne 0x1000275c
cmp eax, dword [esi + 0x7d2dc]
jne 0x1000275c
mov edx, dword [esi + 8]
push 0x64
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, esi
call fcn.10002400
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
push esi
push edi
push eax
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
ret
sub edi, ecx
cmp edi, 0x2800
jbe 0x100027d7
mov edi, 0x2800
mov edx, dword [esi + 0x7d2c4]
mov ecx, dword [esi + 0x18]
push edi
lea eax, [edx + esi + 0x2c0]
push eax
push ecx
call dword [0x10005474]
test eax, eax
je 0x1000275c
mov eax, dword [esi + 0x7d2c4]
mov edx, dword [esi + 0x7d2d0]
add eax, edi
add edx, edi
mov dword [esi + 0x7d2c4], eax
jmp 0x1000273b
mov edx, dword [esi + 0x7d2c4]
mov ecx, dword [esi + 0x18]
push 0x2800
lea eax, [edx + esi + 0x2c0]
push eax
push ecx
call dword [0x10005474]
test eax, eax
je 0x1000275c
mov edi, dword [esi + 0x7d2c4]
mov edx, dword [esi + 0x7d2d0]
add edi, 0x2800
add edx, 0x2800
mov eax, edi
mov dword [esi + 0x7d2c4], edi
cmp eax, 0x7d000
mov dword [esi + 0x7d2d0], edx
jl 0x1000286f
mov dword [esi + 0x7d2c4], 0
mov ecx, esi
pop edi
pop esi
jmp 0x10002590