Function at 0x476dc0
Capabilities:
Get socket status
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x270
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x144]
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x260]
mov cl, byte [eax]
mov byte [ebp - 0x265], cl
add dword [ebp - 0x260], 1
cmp byte [ebp - 0x265], 0
jne 0x476dfc
mov edx, dword [ebp - 0x260]
sub edx, dword [ebp - 0x264]
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x25c]
cmp dword [eax + 0x144], 0
jne 0x476e8e
mov dword [ebp - 0x240], 0x19b
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x23c], ecx
push 0x4aec94
lea edx, [ebp - 0x23c]
push edx
call sub.MSVCR90.dll__CxxThrowException
cmp dword [ebp - 0x118], 0
jle 0x4771ab
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x234], 0
jmp 0x476eca
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
cmp ecx, dword [ebp - 0x230]
jae 0x476ef7
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp + edx*4 - 0x22c]
cmp ecx, dword [eax + 0x14c]
jne 0x476ef5
jmp 0x476ef7
jmp 0x476ebb
mov edx, dword [ebp - 0x234]
cmp edx, dword [ebp - 0x230]
jne 0x476f36
cmp dword [ebp - 0x230], 0x40
jae 0x476f36
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x14c]
mov dword [ebp + eax*4 - 0x22c], edx
mov eax, dword [ebp - 0x230]
add eax, 1
mov dword [ebp - 0x230], eax
xor ecx, ecx
jne 0x476eaf
cmp dword [ebp - 0x114], 0
je 0x476fda
mov dword [ebp - 0x238], 0
jmp 0x476f66
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
mov eax, dword [ebp - 0x238]
cmp eax, dword [ebp - 0x110]
jae 0x476f93
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp + ecx*4 - 0x10c]
cmp eax, dword [edx + 0x14c]
jne 0x476f91
jmp 0x476f93
jmp 0x476f57
mov ecx, dword [ebp - 0x238]
cmp ecx, dword [ebp - 0x110]
jne 0x476fd2
cmp dword [ebp - 0x110], 0x40
jae 0x476fd2
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x14c]
mov dword [ebp + edx*4 - 0x10c], ecx
mov edx, dword [ebp - 0x110]
add edx, 1
mov dword [ebp - 0x110], edx
xor eax, eax
jne 0x476f4b
lea ecx, [ebp - 0x120]
push ecx
push 0
lea edx, [ebp - 0x230]
push edx
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x14c]
add edx, 1
push edx
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x47704b
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x248], 0x6d
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x244], eax
push 0x4aec94
lea ecx, [ebp - 0x244]
push ecx
call sub.MSVCR90.dll__CxxThrowException
cmp dword [ebp - 4], 0
jne 0x47708c
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x250], 0x192
mov edx, dword [ebp - 0x250]
mov dword [ebp - 0x24c], edx
push 0x4aec94
lea eax, [ebp - 0x24c]
push eax
call sub.MSVCR90.dll__CxxThrowException
lea ecx, [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x14c]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x4770d7
cmp dword [ebp - 0x114], 0
je 0x4771a6
lea ecx, [ebp - 0x110]
push ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x14c]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4771a6
mov dword [ebp - 0x114], 0
mov ecx, dword [ebp - 0x118]
push ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x144]
add eax, dword [ebp - 0x124]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040a020
add esp, 0xc
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0040b460
add esp, 8
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0
je 0x47713d
cmp dword [ebp - 0x270], 2
je 0x47715f
cmp dword [ebp - 0x270], 3
je 0x47715d
jmp 0x47716b
mov ecx, dword [ebp - 0x118]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x124]
add edx, dword [ebp - 4]
mov dword [ebp - 0x124], edx
jmp 0x4771a6
jmp 0x4771a6
mov dword [ebp - 0x114], 1
jmp 0x4771a6
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x258], 0x19e
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x254], eax
push 0x4aec94
lea ecx, [ebp - 0x254]
push ecx
call sub.MSVCR90.dll__CxxThrowException
jmp 0x476e8e
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x110], 0
mov esp, ebp
pop ebp
ret 8