Function at 0x42f35e
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x46f008]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x32c], ecx
push ebx
push esi
push edi
test ecx, ecx
je 0x42f397
xor edi, edi
mov eax, edi
test edx, edx
je 0x42f397
cmp dword [ecx + eax*8], 0xffffffff
jne 0x42f3b3
inc eax
cmp eax, edx
jb 0x42f38c
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0042f1f3
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00450ca6
leave
ret
or dword [ebp - 0x324], 0xffffffff
mov ebx, edi
mov eax, dword [ebp - 0x328]
mov esi, edi
mov edx, edi
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x320], esi
mov dword [ebp - 0x110], edx
xor edx, edx
mov word [ecx + edi*8 + 6], dx
mov ecx, dword [ecx + edi*8]
mov edx, dword [ebp - 0x110]
cmp ecx, 0xffffffff
je 0x42f4f1
jae 0x42f501
mov eax, dword [ebp - 0x32c]
movzx eax, word [eax + edi*8 + 4]
mov dword [ebp - 0x334], eax
test eax, 0x710
je 0x42f4eb
cmp ecx, dword [ebp - 0x324]
mov eax, ecx
cmovbe eax, dword [ebp - 0x324]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x334]
test eax, 0x300
je 0x42f46c
xor eax, eax
test ebx, ebx
je 0x42f449
cmp dword [ebp + eax*4 - 0x214], ecx
je 0x42f449
inc eax
cmp eax, ebx
jb 0x42f43b
cmp eax, ebx
jne 0x42f466
cmp ebx, 0x40
jae 0x42f466
mov dword [ebp + eax*4 - 0x214], ecx
mov ebx, dword [ebp - 0x218]
inc ebx
mov dword [ebp - 0x218], ebx
mov eax, dword [ebp - 0x334]
test al, 0x10
je 0x42f4a7
xor eax, eax
test esi, esi
je 0x42f484
cmp dword [ebp + eax*4 - 0x31c], ecx
je 0x42f484
inc eax
cmp eax, esi
jb 0x42f476
cmp eax, esi
jne 0x42f4a1
cmp esi, 0x40
jae 0x42f4a1
mov dword [ebp + eax*4 - 0x31c], ecx
mov esi, dword [ebp - 0x320]
inc esi
mov dword [ebp - 0x320], esi
mov eax, dword [ebp - 0x334]
test eax, 0x600
je 0x42f4eb
xor eax, eax
test edx, edx
je 0x42f4c2
cmp dword [ebp + eax*4 - 0x10c], ecx
je 0x42f4c2
inc eax
cmp eax, edx
jb 0x42f4b4
cmp eax, edx
jne 0x42f4df
cmp edx, 0x40
jae 0x42f4df
mov dword [ebp + eax*4 - 0x10c], ecx
mov edx, dword [ebp - 0x110]
inc edx
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x328]
inc edi
cmp edi, eax
jae 0x42f514
mov ecx, dword [ebp - 0x32c]
jmp 0x42f3d8
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
jmp 0x42f3a4
test ebx, ebx
jne 0x42f532
test esi, esi
jne 0x42f532
test edx, edx
jne 0x42f532
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0042f1f3
pop ecx
pop ecx
jmp 0x42f5ef
mov eax, dword [ebp + 0xc]
xor ecx, ecx
cmp eax, ecx
jg 0x42f551
jl 0x42f542
cmp dword [ebp + 8], ecx
jae 0x42f546
mov esi, ecx
jmp 0x42f5b0
cmp eax, ecx
jl 0x42f59e
jg 0x42f551
cmp dword [ebp + 8], ecx
jbe 0x42f59e
push ebx
push ecx
push 0x3e8
push eax
push dword [ebp + 8]
call fcn.00452f30
mov esi, ebx
pop ebx
nop
push 0
push 0x3e8
push esi
push ecx
mov ebx, eax
mov edi, edx
call fcn.004531d0
xor ecx, ecx
cmp edi, ecx
jl 0x42f58a
mov edx, accept
jg 0x42f588
cmp ebx, edx
jbe 0x42f58a
mov ebx, edx
mov dword [ebp - 0x340], ebx
mov ebx, dword [ebp - 0x218]
mov dword [ebp - 0x33c], eax
jmp 0x42f5aa
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x33c], ecx
lea esi, [ebp - 0x340]
xor eax, eax
lea edx, [ebp - 0x110]
cmp dword [ebp - 0x110], eax
lea ecx, [ebp - 0x320]
push esi
cmove edx, eax
cmp dword [ebp - 0x320], eax
push edx
cmove ecx, eax
xor edi, edi
test ebx, ebx
lea eax, [ebp - 0x218]
push ecx
cmove eax, edi
push eax
mov eax, dword [ebp - 0x324]
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x42f3a4
mov esi, dword [ebp - 0x32c]
xor ebx, ebx
mov eax, dword [ebp - 0x328]
mov edi, ebx
add esi, 6
xor ecx, ecx
cmp dword [esi - 6], 0xffffffff
mov word [esi], cx
je 0x42f6b5
lea eax, [ebp - 0x218]
push eax
push dword [esi - 6]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x42f651
movzx ecx, word [esi - 2]
mov eax, pe_nt_image_headers32
test eax, ecx
je 0x42f63d
or word [esi], ax
movzx eax, word [esi]
mov edx, 0x300
movzx eax, ax
test edx, ecx
je 0x42f651
or eax, edx
mov word [esi], ax
lea eax, [ebp - 0x320]
push eax
push dword [esi - 6]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x42f66f
test byte [esi - 2], 0x10
je 0x42f66f
or word [esi], 0x10
lea eax, [ebp - 0x110]
push eax
push dword [esi - 6]
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x42f6a9
movzx ecx, word [esi - 2]
mov edx, 0x200
test edx, ecx
je 0x42f693
or word [esi], dx
movzx eax, word [esi]
movzx eax, ax
test ecx, 0x400
je 0x42f6a9
or eax, 0x400
mov word [esi], ax
mov eax, dword [ebp - 0x328]
cmp word [esi], bx
je 0x42f6b5
inc edi
add esi, 8
sub eax, 1
mov dword [ebp - 0x328], eax
jne 0x42f60a
mov eax, edi
jmp 0x42f3a4