Function at 0x4829d0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x31c
mov edx, dword [esp + 0x320]
push ebp
xor ebp, ebp
cmp edx, ebp
mov dword [esp + 4], ebp
je 0x482a02
mov ecx, dword [esp + 0x328]
xor eax, eax
cmp ecx, ebp
jbe 0x482a02
cmp dword [edx + eax*8], 0xffffffff
jne 0x482a1a
add eax, 1
cmp eax, ecx
jb 0x4829f5
mov eax, dword [esp + 0x32c]
push eax
call fcn.004826c0
add esp, 4
pop ebp
add esp, 0x31c
ret
mov eax, dword [esp + 0x32c]
cmp eax, ebp
jle 0x482a29
mov dword [esp + 4], eax
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
xor esi, esi
mov dword [esp + 0x124], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x228], esi
mov dword [esp + 0x14], 0xffffffff
lea esp, [esp]
mov ecx, dword [edx + ebp*8]
cmp ecx, 0xffffffff
mov word [edx + ebp*8 + 6], 0
je 0x482b31
movzx edx, word [edx + ebp*8 + 4]
test dl, 7
je 0x482b2a
cmp ecx, dword [esp + 0x14]
jbe 0x482a7b
mov dword [esp + 0x14], ecx
test dl, 1
je 0x482ab7
xor eax, eax
test ebx, ebx
jbe 0x482a96
cmp dword [esp + eax*4 + 0x128], ecx
je 0x482a96
add eax, 1
cmp eax, ebx
jb 0x482a86
cmp eax, ebx
jne 0x482ab7
cmp ebx, 0x40
jae 0x482ab7
mov dword [esp + eax*4 + 0x128], ecx
mov ebx, dword [esp + 0x124]
add ebx, 1
mov dword [esp + 0x124], ebx
test dl, 4
je 0x482ae7
xor eax, eax
test edi, edi
jbe 0x482acf
cmp dword [esp + eax*4 + 0x24], ecx
je 0x482acf
add eax, 1
cmp eax, edi
jb 0x482ac2
cmp eax, edi
jne 0x482ae7
cmp edi, 0x40
jae 0x482ae7
mov dword [esp + eax*4 + 0x24], ecx
mov edi, dword [esp + 0x20]
add edi, 1
mov dword [esp + 0x20], edi
test dl, 2
je 0x482b23
xor eax, eax
test esi, esi
jbe 0x482b02
cmp dword [esp + eax*4 + 0x22c], ecx
je 0x482b02
add eax, 1
cmp eax, esi
jb 0x482af2
cmp eax, esi
jne 0x482b23
cmp esi, 0x40
jae 0x482b23
mov dword [esp + eax*4 + 0x22c], ecx
mov esi, dword [esp + 0x228]
add esi, 1
mov dword [esp + 0x228], esi
mov eax, dword [esp + 0x338]
mov edx, dword [esp + 0x330]
add ebp, 1
cmp ebp, dword [esp + 0x334]
jb 0x482a50
xor edx, edx
cmp ebx, edx
jne 0x482b63
cmp edi, edx
jne 0x482b63
cmp esi, edx
jne 0x482b63
push eax
call fcn.004826c0
add esp, 4
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x31c
ret
xor ecx, ecx
cmp eax, edx
setl cl
lea ebp, [esp + 0x18]
sub ecx, 1
and ecx, ebp
cmp eax, edx
jle 0x482ba2
mov eax, 0x10624dd3
imul dword [esp + 0x10]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
imul eax, eax, 0x3e8
sub edx, eax
imul edx, edx, 0x3e8
jmp 0x482ba8
jne 0x482bac
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
push ecx
neg esi
sbb esi, esi
lea ecx, [esp + 0x22c]
and esi, ecx
mov ecx, dword [esp + 0x18]
neg edi
sbb edi, edi
lea edx, [esp + 0x24]
and edi, edx
push esi
neg ebx
sbb ebx, ebx
lea eax, [esp + 0x12c]
push edi
and ebx, eax
push ebx
add ecx, 1
push ecx
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jge 0x482bf4
pop edi
pop esi
pop ebx
or eax, 0xffffffff
pop ebp
add esp, 0x31c
ret
jne 0x482c03
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x31c
ret
mov esi, dword [esp + 0x330]
mov edi, dword [esp + 0x334]
xor ebx, ebx
add esi, 6
jmp 0x482c20
mov eax, dword [esi - 6]
cmp eax, 0xffffffff
mov word [esi], 0
je 0x482c7b
lea edx, [esp + 0x124]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x482c43
or word [esi], 1
mov ecx, dword [esi - 6]
lea eax, [esp + 0x20]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x482c59
or word [esi], 4
mov eax, dword [esi - 6]
lea edx, [esp + 0x228]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x482c72
or word [esi], 2
cmp word [esi], 0
je 0x482c7b
add ebx, 1
add esi, 8
sub edi, 1
jne 0x482c20
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
add esp, 0x31c
ret