Function at 0x48acc0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x31c
mov edx, dword [ebp + 8]
push esi
xor esi, esi
mov dword [ebp - 8], esi
cmp edx, esi
je 0x48aceb
mov ecx, dword [ebp + 0xc]
xor eax, eax
cmp ecx, esi
jbe 0x48aceb
nop
cmp dword [edx + eax*8], 0xffffffff
jne 0x48ad15
inc eax
cmp eax, ecx
jb 0x48ace0
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x48ad0e
jge 0x48ad07
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
cmp eax, esi
jle 0x48ad1f
mov dword [ebp - 8], eax
push ebx
push edi
xor ebx, ebx
xor edi, edi
xor eax, eax
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x31c], esi
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 4], eax
xor ecx, ecx
mov word [edx + eax*8 + 6], cx
mov ecx, dword [edx + eax*8]
cmp ecx, 0xffffffff
je 0x48ae21
movzx edx, word [edx + eax*8 + 4]
test edx, 0x710
je 0x48ae1b
cmp ecx, dword [ebp - 0x10]
jbe 0x48ad6f
mov dword [ebp - 0x10], ecx
test edx, 0x300
je 0x48adab
xor eax, eax
test ebx, ebx
jbe 0x48ad8e
lea ecx, [ecx]
cmp dword [ebp + eax*4 - 0x110], ecx
je 0x48ad8e
inc eax
cmp eax, ebx
jb 0x48ad80
cmp eax, ebx
jne 0x48adab
cmp ebx, 0x40
jae 0x48adab
mov dword [ebp + eax*4 - 0x110], ecx
mov ebx, dword [ebp - 0x114]
inc ebx
mov dword [ebp - 0x114], ebx
test dl, 0x10
je 0x48ade1
xor eax, eax
test edi, edi
jbe 0x48adc4
cmp dword [ebp + eax*4 - 0x214], ecx
je 0x48adc4
inc eax
cmp eax, edi
jb 0x48adb6
cmp eax, edi
jne 0x48ade1
cmp edi, 0x40
jae 0x48ade1
mov dword [ebp + eax*4 - 0x214], ecx
mov edi, dword [ebp - 0x218]
inc edi
mov dword [ebp - 0x218], edi
test edx, 0x600
je 0x48ae1b
xor eax, eax
test esi, esi
jbe 0x48adfe
nop
cmp dword [ebp + eax*4 - 0x318], ecx
je 0x48adfe
inc eax
cmp eax, esi
jb 0x48adf0
cmp eax, esi
jne 0x48ae1b
cmp esi, 0x40
jae 0x48ae1b
mov dword [ebp + eax*4 - 0x318], ecx
mov esi, dword [ebp - 0x31c]
inc esi
mov dword [ebp - 0x31c], esi
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebp + 0xc]
jb 0x48ad43
test ebx, ebx
jne 0x48ae68
test edi, edi
jne 0x48ae68
test esi, esi
jne 0x48ae68
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x48ae5f
jge 0x48ae58
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
pop edi
pop ebx
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
xor edx, edx
test ecx, ecx
setl dl
lea eax, [ebp - 0xc]
dec edx
and edx, eax
xor eax, eax
cmp ecx, eax
mov dword [ebp - 4], edx
jle 0x48aeab
mov ecx, dword [ebp - 8]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xc], eax
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
mov dword [ebp - 8], ecx
jmp 0x48aeb3
jne 0x48aeb3
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
neg esi
sbb esi, esi
lea edx, [ebp - 0x31c]
and esi, edx
mov edx, dword [ebp - 0x10]
neg edi
sbb edi, edi
push ecx
lea eax, [ebp - 0x218]
and edi, eax
push esi
neg ebx
sbb ebx, ebx
lea ecx, [ebp - 0x114]
push edi
and ebx, ecx
push ebx
inc edx
push edx
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jl 0x48ae4e
je 0x48ae5f
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
xor ebx, ebx
add esi, 6
xor eax, eax
mov word [esi], ax
mov eax, dword [esi - 6]
cmp eax, 0xffffffff
je 0x48af63
lea ecx, [ebp - 0x114]
push ecx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48af28
mov edx, 0x300
or word [esi], dx
mov ecx, dword [esi - 6]
lea eax, [ebp - 0x218]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48af40
or word [esi], 0x10
mov eax, dword [esi - 6]
lea edx, [ebp - 0x31c]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48af5c
mov ecx, 0x400
or word [esi], cx
cmp word [esi], 0
je 0x48af63
inc ebx
add esi, 8
sub edi, 1
jne 0x48af02
pop edi
mov eax, ebx
pop ebx
pop esi
mov esp, ebp
pop ebp
ret