Function at 0x404855
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
xor eax, eax
mov ax, word [0x5537f4]
mov ecx, dword [ebp + 8]
and ecx, 0xffff
cmp eax, ecx
jg 0x404881
mov eax, 0xfffffc15
jmp 0x404c41
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
mov eax, dword [eax + 0x57f084]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
jmp 0x404c16
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
mov dword [eax + 0x57feb0], 0
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
mov dword [eax + 0x57fdac], 0
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
cmp dword [eax + 0x57fca8], 0x40
jae 0x40493c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov edx, ecx
shl ecx, 6
sub ecx, edx
lea ecx, [edx + ecx*4]
shl ecx, 4
mov ecx, dword [ecx + 0x57fca8]
mov edx, dword [ebp + 8]
mov ebx, edx
shl edx, 6
sub edx, ebx
lea edx, [ebx + edx*4]
shl edx, 4
mov dword [edx + ecx*4 + 0x57fcac], eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
inc dword [eax + 0x57fca8]
push 0x553800
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xe30
push eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xd2c
push eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xc28
push eax
push 0
call sub.WSOCK32.dll_select
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xc28
push eax
mov eax, dword [ebp - 4]
push eax
call sub.WSOCK32.dll___WSAFDIsSet
mov dword [ebp - 8], eax
jmp 0x404c39
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
mov dword [eax + 0x57feb0], 0
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
mov dword [eax + 0x57fca8], 0
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
cmp dword [eax + 0x57fdac], 0x40
jae 0x404a5c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov edx, ecx
shl ecx, 6
sub ecx, edx
lea ecx, [edx + ecx*4]
shl ecx, 4
mov ecx, dword [ecx + 0x57fdac]
mov edx, dword [ebp + 8]
mov ebx, edx
shl edx, 6
sub edx, ebx
lea edx, [ebx + edx*4]
shl edx, 4
mov dword [edx + ecx*4 + 0x57fdb0], eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
inc dword [eax + 0x57fdac]
push 0x553800
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xe30
push eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xd2c
push eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xc28
push eax
push 0
call sub.WSOCK32.dll_select
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xd2c
push eax
mov eax, dword [ebp - 4]
push eax
call sub.WSOCK32.dll___WSAFDIsSet
mov dword [ebp - 8], eax
jmp 0x404c39
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
mov dword [eax + 0x57fca8], 0
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
mov dword [eax + 0x57fdac], 0
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
cmp dword [eax + 0x57feb0], 0x40
jae 0x404b7c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov edx, ecx
shl ecx, 6
sub ecx, edx
lea ecx, [edx + ecx*4]
shl ecx, 4
mov ecx, dword [ecx + 0x57feb0]
mov edx, dword [ebp + 8]
mov ebx, edx
shl edx, 6
sub edx, ebx
lea edx, [ebx + edx*4]
shl edx, 4
mov dword [edx + ecx*4 + 0x57feb4], eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
inc dword [eax + 0x57feb0]
push 0x553800
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xe30
push eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xd2c
push eax
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xc28
push eax
push 0
call sub.WSOCK32.dll_select
mov eax, dword [ebp + 8]
mov ecx, eax
shl eax, 6
sub eax, ecx
lea eax, [ecx + eax*4]
shl eax, 4
add eax, 0x57f080
add eax, 0xe30
push eax
mov eax, dword [ebp - 4]
push eax
call sub.WSOCK32.dll___WSAFDIsSet
mov dword [ebp - 8], eax
jmp 0x404c39
mov dword [ebp - 8], 0xfffffc14
jmp 0x404c39
cmp dword [ebp - 0xc], 1
je 0x4048a5
cmp dword [ebp - 0xc], 2
je 0x4049c5
cmp dword [ebp - 0xc], 3
je 0x404ae5
jmp 0x404c05
mov eax, dword [ebp - 8]
jmp 0x404c41
pop edi
pop esi
pop ebx
leave
ret