Function at 0x462b8a
Capabilities:
Get socket status
Print debug messages
Send data
Send data on socket

Disassembly:
sub esp, 0x120
mov eax, dword [0x4af040]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ecx, dword [esp + 0x134]
mov eax, dword [edi + 0x170]
test eax, eax
je 0x462bc3
push ecx
push eax
mov ecx, edi
call fcn.004637b6
jmp 0x462db5
mov edx, dword [edi + 0x118]
xor esi, esi
mov ebx, edx
mov ebp, esi
lea eax, [ebx + 1]
mov dword [esp + 0x14], eax
mov al, byte [ebx]
inc ebx
test al, al
jne 0x462bd6
sub ebx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
test edx, edx
je 0x462dd0
jmp 0x462c66
mov eax, dword [edi + 0x120]
lea ecx, [esp + 0x18]
push ecx
push esi
lea ecx, [esp + 0x28]
mov dword [esp + 0x2c], eax
push ecx
push esi
inc eax
mov dword [esp + 0x30], 1
push eax
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x462d49
test eax, eax
je 0x462cf1
lea eax, [esp + 0x20]
push eax
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x462c66
mov eax, dword [edi + 0x118]
push esi
push ebx
add eax, ebp
push eax
push dword [edi + 0x120]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x462c9c
test eax, eax
je 0x462c9c
sub ebx, eax
add ebp, eax
test ebx, ebx
jg 0x462bf6
push dword [edi + 0x118]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x462db5
mov ecx, dword [edi + 0x120]
cmp dword [esp + esi*4 + 0x24], ecx
je 0x462d9b
inc esi
cmp esi, eax
jb 0x462c88
jmp 0x462db5
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x462cda
mov eax, dword [edi + 0x120]
cmp dword [esp + esi*4 + 0x24], eax
je 0x462cb7
inc esi
cmp esi, ecx
jb 0x462caa
jmp 0x462cda
lea eax, [ecx - 1]
cmp esi, eax
jae 0x462cd5
lea edx, [esp + 0x28]
mov eax, dword [edx + esi*4]
mov dword [esp + esi*4 + 0x24], eax
inc esi
mov ecx, dword [esp + 0x20]
lea eax, [ecx - 1]
cmp esi, eax
jb 0x462cc2
dec ecx
mov dword [esp + 0x20], ecx
push 0x66
lea ecx, [esp + 0x18]
call fcn.0045f7e8
push 0x4ac194
mov eax, ecx
jmp 0x462de5
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x462d2f
mov eax, dword [edi + 0x120]
cmp dword [esp + esi*4 + 0x24], eax
je 0x462d0c
inc esi
cmp esi, ecx
jb 0x462cff
jmp 0x462d2f
lea eax, [ecx - 1]
cmp esi, eax
jae 0x462d2a
lea edx, [esp + 0x28]
mov eax, dword [edx + esi*4]
mov dword [esp + esi*4 + 0x24], eax
inc esi
mov ecx, dword [esp + 0x20]
lea eax, [ecx - 1]
cmp esi, eax
jb 0x462d17
dec ecx
mov dword [esp + 0x20], ecx
push 0x192
lea ecx, [esp + 0x18]
call fcn.0045f7e8
push 0x4ac194
mov eax, ecx
jmp 0x462de5
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x462d87
mov eax, dword [edi + 0x120]
cmp dword [esp + esi*4 + 0x24], eax
je 0x462d64
inc esi
cmp esi, ecx
jb 0x462d57
jmp 0x462d87
lea eax, [ecx - 1]
cmp esi, eax
jae 0x462d82
lea edx, [esp + 0x28]
mov eax, dword [edx + esi*4]
mov dword [esp + esi*4 + 0x24], eax
inc esi
mov ecx, dword [esp + 0x20]
lea eax, [ecx - 1]
cmp esi, eax
jb 0x462d6f
dec ecx
mov dword [esp + 0x20], ecx
push 0x6d
lea ecx, [esp + 0x18]
call fcn.0045f7e8
push 0x4ac194
mov eax, ecx
jmp 0x462de5
dec eax
cmp esi, eax
jae 0x462db5
lea ecx, [esp + 0x28]
mov eax, dword [ecx + esi*4]
mov dword [esp + esi*4 + 0x24], eax
inc esi
mov eax, dword [esp + 0x20]
dec eax
cmp esi, eax
jb 0x462da4
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046f100
add esp, 0x120
ret 4
push 0x19b
lea ecx, [esp + 0x18]
call fcn.0045f7e8
push 0x4ac194
mov eax, ecx
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3