Function at 0x10224aa0
Capabilities:
Get socket status
Send data
Send data on socket

Disassembly:
sub esp, 0x178
mov ecx, dword [esp + 0x17c]
push ebx
mov ebx, dword [esp + 0x184]
push ebp
push esi
mov eax, dword [ebx]
lea esi, [ebx + 8]
push edi
push esi
push eax
push ecx
call fcn.10224d70
add esp, 0xc
test eax, eax
jne 0x10224d54
mov eax, dword [ebx]
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x88]
mov dword [esp + 0x8c], eax
push 0
push ecx
inc eax
push 0
push eax
mov dword [esp + 0x98], 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x186a0
call sub.WS2_32.dll_select
test eax, eax
jge 0x10224b1e
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x178
ret
jne 0x10224b34
mov eax, dword [ebx + 0x14]
pop edi
inc eax
pop esi
mov dword [ebx + 0x14], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x178
ret
mov edx, dword [ebx + 0x10]
push esi
push edx
push esi
lea eax, [esp + 0x2c]
push str._Msg_s__ld__Msg_s_
push eax
call fcn.1022e8c2
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebx + 0x10]
not ecx
dec ecx
add ecx, eax
push ecx
mov dword [esp + 0x2c], ecx
call fcn.1022ef86
mov ebp, eax
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [esp + 0x38]
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x2c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x38]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov esi, dword [ebx + 4]
dec ecx
mov edi, ecx
mov ecx, dword [ebx + 0x10]
mov eax, ecx
add edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebx + 8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 0
push ecx
push edx
push ebp
push eax
call fcn.102260f0
add esp, 0x28
test eax, eax
push ebp
jne 0x10224be8
call fcn.1022ee9d
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x178
ret
call fcn.1022ee9d
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x14], 0
mov esi, dword [eax + 4]
mov ebp, dword [eax]
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x18c]
mov ecx, 1
mov edx, dword [eax + 0x38]
cmp dword [edx + 0x10], ecx
je 0x10224ce8
mov eax, dword [ebx]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], eax
push 0
push edx
inc eax
push 0
push eax
mov dword [esp + 0x30], 0
call sub.WS2_32.dll_select
test eax, eax
jl 0x10224cef
jne 0x10224c6e
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0x14
mov dword [esp + 0x14], eax
jg 0x10224d0a
jmp 0x10224c04
mov ecx, dword [ebx]
lea eax, [esp + 0x84]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x10224c04
mov edx, dword [ebx]
push 0
push esi
push ebp
push edx
mov dword [esp + 0x24], 0
call sub.WS2_32.dll_send
test eax, eax
jge 0x10224cab
call fcn.1023ccf4
cmp eax, 0x2733
jne 0x10224d25
jmp 0x10224c04
cmp eax, esi
jge 0x10224cb8
sub esi, eax
add ebp, eax
jmp 0x10224c04
test edi, edi
je 0x10224d40
mov ecx, dword [esp + 0x18c]
lea eax, [ebx + 8]
push eax
mov eax, dword [ebx]
push eax
push ecx
call fcn.10224d70
add esp, 0xc
test eax, eax
jne 0x10224d47
mov esi, dword [edi + 4]
mov ebp, dword [edi]
mov edi, dword [edi + 8]
jmp 0x10224c04
mov edx, dword [esp + 0x10]
push edx
jmp 0x10224d4c
mov eax, dword [esp + 0x10]
push eax
call fcn.10226210
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x178
ret
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10226210
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x178
ret
mov edx, dword [esp + 0x10]
push edx
call fcn.10226210
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x178
ret
mov eax, dword [esp + 0x10]
push eax
jmp 0x10224d4c
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10226210
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x178
ret