Function at 0x408a50
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov eax, 0x1154
call fcn.00458680
mov eax, dword [esp + 0x1160]
push ebx
push ebp
mov ebp, dword [esp + 0x1164]
push esi
xor ebx, ebx
push edi
push ebx
push 2
mov byte [ebp], bl
push 2
mov byte [eax], bl
call dword [sym.imp.WS2_32.dll_socket]
push 0x89
mov esi, eax
mov word [esp + 0x50], 2
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esp + 0x1168]
mov word [esp + 0x4e], ax
mov al, 0x41
lea edx, [esp + 0x4c]
push 0x10
mov byte [esp + 0x23], al
mov byte [esp + 0x24], al
mov byte [esp + 0x25], al
mov byte [esp + 0x26], al
mov byte [esp + 0x27], al
mov byte [esp + 0x28], al
mov byte [esp + 0x29], al
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x2c], al
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], al
mov byte [esp + 0x2f], al
mov byte [esp + 0x30], al
mov byte [esp + 0x31], al
mov byte [esp + 0x32], al
mov byte [esp + 0x33], al
mov byte [esp + 0x34], al
mov byte [esp + 0x35], al
mov byte [esp + 0x36], al
mov byte [esp + 0x37], al
mov byte [esp + 0x38], al
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x3c], al
mov byte [esp + 0x3d], al
mov byte [esp + 0x3e], al
mov byte [esp + 0x3f], al
mov byte [esp + 0x40], al
push edx
push ebx
lea eax, [esp + 0x1c]
push 0x32
push eax
mov dword [esp + 0x64], ecx
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], bl
mov byte [esp + 0x27], bl
mov byte [esp + 0x28], bl
mov byte [esp + 0x29], 1
mov byte [esp + 0x2a], bl
mov byte [esp + 0x2b], bl
mov byte [esp + 0x2c], bl
mov byte [esp + 0x2d], bl
mov byte [esp + 0x2e], bl
mov byte [esp + 0x2f], bl
mov byte [esp + 0x30], 0x20
mov byte [esp + 0x31], 0x43
mov byte [esp + 0x32], 0x4b
mov byte [esp + 0x51], bl
mov byte [esp + 0x52], bl
mov byte [esp + 0x53], 0x21
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], 1
push esi
call dword [sym.imp.WS2_32.dll_sendto]
push 0x32
mov edi, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, ebx
jle 0x408cab
mov cl, byte [0x494b70]
xor eax, eax
mov byte [esp + 0x160], cl
mov ecx, 0x400
lea edi, [esp + 0x161]
lea edx, [esp + 0x44]
rep stosd dword es:[edi], eax
push edx
push ebx
lea eax, [esp + 0x64]
push ebx
push eax
push 0x40
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 0xc8
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], 1
call dword [sym.imp.WS2_32.dll_select]
cmp eax, ebx
je 0x408cab
jl 0x408cab
lea ecx, [esp + 0x5c]
push ecx
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x408cab
push ebx
lea edx, [esp + 0x164]
push 0x1000
push edx
push esi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x408cab
movsx eax, byte [esp + 0x198]
xor ecx, ecx
xor edx, edx
lea eax, [eax + eax*8]
mov cl, byte [esp + eax*2 + 0x19e]
mov dl, byte [esp + eax*2 + 0x19d]
lea eax, [esp + eax*2 + 0x199]
push ecx
push edx
xor ecx, ecx
mov cl, byte [eax + 3]
xor edx, edx
mov dl, byte [eax + 2]
push ecx
push edx
xor ecx, ecx
mov cl, byte [eax + 1]
xor edx, edx
mov dl, byte [eax]
push ecx
push edx
push str._02x_02x_02x_02x_02x_02x
push ebp
call fcn.004585a3
mov al, byte [esp + 0x1b8]
add esp, 0x20
cmp al, bl
jle 0x408c94
mov edi, dword [esp + 0x1170]
lea eax, [esp + 0x199]
push 0xf
push eax
push edi
call fcn.00459160
add esp, 0xc
mov byte [edi + 0xf], bl
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1154
ret
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1154
ret