Function at 0x4dcbf0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
sub esp, 0x320
test edx, edx
je 0x4dcc1b
mov ecx, dword [ebp + 0xc]
xor eax, eax
test ecx, ecx
je 0x4dcc1b
nop dword [eax]
cmp dword [edx + eax*8], 0xffffffff
jne 0x4dcc4f
inc eax
cmp eax, ecx
jb 0x4dcc10
mov ecx, dword [ebp + 0x10]
mov eax, ecx
mov edx, dword [ebp + 0x14]
or eax, edx
je 0x4dcf09
test edx, edx
jg 0x4dcef6
jl 0x4dcc3d
test ecx, ecx
jae 0x4dceeb
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
mov esp, ebp
pop ebp
ret
push ebx
push esi
push edi
xor edi, edi
xor esi, esi
xor edx, edx
mov dword [ebp - 0x118], edi
or ebx, 0xffffffff
mov dword [ebp - 0x21c], esi
xor ecx, ecx
mov dword [ebp - 0x320], edx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], ebx
xor ebx, ebx
mov word [eax + ecx*8 + 6], bx
mov ecx, dword [eax + ecx*8]
mov ebx, dword [ebp - 4]
cmp ecx, 0xffffffff
je 0x4dcd6c
jae 0x4dcd9c
mov ebx, dword [ebp - 8]
movzx ebx, word [eax + ebx*8 + 4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], ebx
test bl, 7
je 0x4dcd69
cmp ecx, eax
mov ebx, ecx
cmovbe ebx, eax
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0xc]
test bl, 1
je 0x4dccf1
xor eax, eax
test edi, edi
je 0x4dccd4
cmp dword [ebp + eax*4 - 0x114], ecx
je 0x4dccd4
inc eax
cmp eax, edi
jb 0x4dccc6
cmp eax, edi
jne 0x4dccf1
cmp edi, 0x40
jae 0x4dccf1
mov dword [ebp + eax*4 - 0x114], ecx
mov edi, dword [ebp - 0x118]
inc edi
mov dword [ebp - 0x118], edi
test bl, 4
je 0x4dcd2b
xor eax, eax
test esi, esi
je 0x4dcd0e
nop dword [eax]
cmp dword [ebp + eax*4 - 0x218], ecx
je 0x4dcd0e
inc eax
cmp eax, esi
jb 0x4dcd00
cmp eax, esi
jne 0x4dcd2b
cmp esi, 0x40
jae 0x4dcd2b
mov dword [ebp + eax*4 - 0x218], ecx
mov esi, dword [ebp - 0x21c]
inc esi
mov dword [ebp - 0x21c], esi
test bl, 2
je 0x4dcd69
xor eax, eax
test edx, edx
je 0x4dcd44
cmp dword [ebp + eax*4 - 0x31c], ecx
je 0x4dcd44
inc eax
cmp eax, edx
jb 0x4dcd36
cmp eax, edx
jne 0x4dcd61
cmp edx, 0x40
jae 0x4dcd61
mov dword [ebp + eax*4 - 0x31c], ecx
mov edx, dword [ebp - 0x320]
inc edx
mov dword [ebp - 0x320], edx
mov ebx, dword [ebp - 4]
mov dword [ebp - 4], ebx
jmp 0x4dcd6c
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x4dcc75
test edi, edi
jne 0x4dcded
test esi, esi
jne 0x4dcded
test edx, edx
jne 0x4dcded
mov ecx, dword [ebp + 0x10]
mov eax, ecx
mov edx, dword [ebp + 0x14]
or eax, edx
mov dword [ebp - 0xc], edx
jne 0x4dcdb1
jmp 0x4dce40
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
jg 0x4dcdd6
jl 0x4dcdbb
test ecx, ecx
jae 0x4dcdcb
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or esi, 0xffffffff
jmp 0x4dce40
test edx, edx
jl 0x4dcde2
jg 0x4dcdd6
cmp ecx, 0xffffffff
jb 0x4dcde2
mov ecx, 0xfffffffe
mov dword [ebp - 0xc], 0
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
jmp 0x4dce40
push dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push dword [ebp + 0x10]
push eax
call fcn.004ec2a0
add esp, 0xc
lea esi, [ebp - 0x320]
lea ecx, [ebp - 0x21c]
push eax
xor eax, eax
cmp dword [ebp - 0x320], eax
cmove esi, eax
cmp dword [ebp - 0x21c], eax
push esi
cmove ecx, eax
xor edi, edi
cmp dword [ebp - 0x118], edi
lea eax, [ebp - 0x118]
push ecx
cmove eax, edi
push eax
lea eax, [ebx + 1]
push eax
call dword [sym.imp.WS2_32.dll_select]
mov esi, eax
test esi, esi
jg 0x4dce62
cmp esi, 0xffffffff
jne 0x4dce59
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
xor ecx, ecx
cmp eax, 0x2714
cmove esi, ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
xor edi, edi
add esi, 6
nop word [eax + eax]
xor eax, eax
mov word [esi], ax
mov eax, dword [esi - 6]
cmp eax, 0xffffffff
je 0x4dced9
lea ecx, [ebp - 0x118]
push ecx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4dce98
test byte [esi - 2], 1
je 0x4dce98
or word [esi], 1
lea eax, [ebp - 0x21c]
push eax
push dword [esi - 6]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4dceb5
test byte [esi - 2], 4
je 0x4dceb5
or word [esi], 4
lea eax, [ebp - 0x320]
push eax
push dword [esi - 6]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4dced2
test byte [esi - 2], 2
je 0x4dced2
or word [esi], 2
cmp word [esi], 0
je 0x4dced9
inc edi
add esi, 8
sub dword [ebp + 0xc], 1
jne 0x4dce70
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
jl 0x4dcf02
jg 0x4dcef6
cmp ecx, 0xffffffff
jb 0x4dcf02
mov ecx, 0xfffffffe
mov dword [ebp - 0xc], 0
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov esp, ebp
pop ebp
ret