Function at 0x435320
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x330
mov eax, dword [0x5d21e8]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov edx, 1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x330], eax
push ebx
lea eax, [ecx + 8]
xor ebx, ebx
push esi
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x328], eax
mov al, byte [eax]
mov dword [ebp - 0x320], esi
mov esi, dword [ecx + 0x18]
push edi
xor edi, edi
movzx eax, al
test esi, esi
mov dword [ebp - 0x32c], esi
mov dword [ebp - 8], edi
cmovne edx, eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x31c], edx
mov edx, dword [ecx + 0x10]
cmp edx, esi
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x31c]
cmovae edx, esi
mov esi, dword [ecx + 0x14]
xor ecx, ecx
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0xc], ebx
test al, al
jne 0x43541b
cmp ebx, 0x40
jae 0x43541b
mov eax, dword [ebp - 0x324]
mov dword [ebp + ebx*8 - 0x208], eax
mov dword [ebp + ebx*8 - 0x20c], edx
mov edi, dword [ebp - 8]
add edi, edx
mov dword [ebp - 8], edi
cmp esi, dword [ebp - 0x328]
je 0x435407
lea eax, [edx + ecx]
mov ecx, dword [ebp - 0x32c]
cmp eax, ecx
jae 0x435407
mov ebx, dword [ebp - 0xc]
sub ecx, eax
mov dword [ebp - 0x318], eax
mov eax, esi
add esi, 8
mov edx, dword [eax + 4]
cmp edx, ecx
mov eax, dword [eax]
cmovae edx, ecx
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x31c]
inc ebx
mov ecx, dword [ebp - 0x318]
jmp 0x43539b
mov ebx, dword [ebp - 0xc]
mov al, 1
mov ecx, dword [ebp - 0x318]
inc ebx
mov dword [ebp - 0x31c], eax
jmp 0x43539b
mov eax, dword [ebp - 0x330]
mov esi, dword [ebp - 0x320]
mov cl, byte [eax + 4]
mov eax, dword [eax]
mov byte [ebp - 0x311], cl
mov dword [ebp - 0x318], eax
cmp eax, 0xffffffff
jne 0x435460
call fcn.0052c940
mov dword [esi], 0x2719
mov dword [esi + 4], eax
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005329db
mov esp, ebp
pop ebp
ret 0x10
test edi, edi
jne 0x435472
test cl, 0x10
je 0x435472
call fcn.0052c940
mov dword [esi], edi
jmp 0x435448
mov edi, dword [ebp - 0x318]
lea eax, [ebp - 0x20c]
push esi
push dword [ebp + 0x10]
push ebx
push eax
push edi
call fcn.00446ef0
add esp, 0x14
test eax, eax
jns 0x43544d
mov al, byte [ebp - 0x311]
and al, 1
mov byte [ebp - 0x311], al
nop
test al, al
jne 0x43544b
call fcn.0052c940
cmp dword [esi + 4], eax
jne 0x4354b6
cmp dword [esi], 0x2733
je 0x4354c8
call fcn.0052c940
cmp dword [esi + 4], eax
jne 0x43544b
cmp dword [esi], 0x4d5
jne 0x43544b
push 0
mov dword [ebp - 0x30c], edi
mov dword [ebp - 0x310], 1
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 0
push 0
lea eax, [ebp - 0x310]
push eax
push 0
lea eax, [edi + 1]
push eax
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x320], eax
call fcn.0052c940
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi], eax
mov eax, dword [ebp - 0x320]
mov dword [esi + 4], edi
test eax, eax
jne 0x435529
call fcn.0052c940
mov dword [esi], 0
mov dword [esi + 4], eax
jmp 0x435543
jle 0x43553b
call fcn.0052c940
mov dword [esi], 0
mov dword [esi + 4], eax
jmp 0x435543
test eax, eax
js 0x43544b
mov edi, dword [ebp - 0x318]
lea eax, [ebp - 0x20c]
push esi
push dword [ebp + 0x10]
push ebx
push eax
push edi
call fcn.00446ef0
add esp, 0x14
test eax, eax
jns 0x43544d
mov al, byte [ebp - 0x311]
jmp 0x4354a0