Function at 0x436320
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x360
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
cmp dword [ebp + 8], 0xffffffff
jne 0x43636d
cmp dword [ebp + 0xc], 0xffffffff
jne 0x43636d
cmp dword [ebp + 0x10], 0xffffffff
jne 0x43636d
mov eax, dword [ebp + 0x14]
push eax
call fcn.004362d0
add esp, 4
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
jmp 0x4368d3
cmp dword [ebp + 0x14], 0
jle 0x436384
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x18], ecx
call fcn.00444cc0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x12c], 0xffffffff
mov dword [ebp - 0x348], 0
cmp dword [ebp + 8], 0xffffffff
je 0x4364ab
xor edx, edx
jne 0x4363ac
mov dword [ebp - 0x34c], 0
jmp 0x4363cb
mov eax, dword [ebp - 0x34c]
add eax, 1
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp - 0x34c]
cmp ecx, dword [ebp - 0x348]
jae 0x4363ef
mov edx, dword [ebp - 0x34c]
mov eax, dword [ebp + edx*4 - 0x344]
cmp eax, dword [ebp + 8]
jne 0x4363ed
jmp 0x4363ef
jmp 0x4363bc
mov ecx, dword [ebp - 0x34c]
cmp ecx, dword [ebp - 0x348]
jne 0x436425
cmp dword [ebp - 0x348], 0x40
jae 0x436425
mov edx, dword [ebp - 0x34c]
mov eax, dword [ebp + 8]
mov dword [ebp + edx*4 - 0x344], eax
mov ecx, dword [ebp - 0x348]
add ecx, 1
mov dword [ebp - 0x348], ecx
xor edx, edx
jne 0x4363b0
mov dword [ebp - 0x350], 0
jmp 0x436444
mov eax, dword [ebp - 0x350]
add eax, 1
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
cmp ecx, dword [ebp - 0x238]
jae 0x436468
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp + edx*4 - 0x234]
cmp eax, dword [ebp + 8]
jne 0x436466
jmp 0x436468
jmp 0x436435
mov ecx, dword [ebp - 0x350]
cmp ecx, dword [ebp - 0x238]
jne 0x43649e
cmp dword [ebp - 0x238], 0x40
jae 0x43649e
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp + 8]
mov dword [ebp + edx*4 - 0x234], eax
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
xor edx, edx
jne 0x436429
mov eax, dword [ebp + 8]
mov dword [ebp - 0x12c], eax
cmp dword [ebp + 0xc], 0xffffffff
je 0x4365bf
xor ecx, ecx
jne 0x4364b5
mov dword [ebp - 0x354], 0
jmp 0x4364d4
mov edx, dword [ebp - 0x354]
add edx, 1
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x354]
cmp eax, dword [ebp - 0x348]
jae 0x4364f8
mov ecx, dword [ebp - 0x354]
mov edx, dword [ebp + ecx*4 - 0x344]
cmp edx, dword [ebp + 0xc]
jne 0x4364f6
jmp 0x4364f8
jmp 0x4364c5
mov eax, dword [ebp - 0x354]
cmp eax, dword [ebp - 0x348]
jne 0x43652e
cmp dword [ebp - 0x348], 0x40
jae 0x43652e
mov ecx, dword [ebp - 0x354]
mov edx, dword [ebp + 0xc]
mov dword [ebp + ecx*4 - 0x344], edx
mov eax, dword [ebp - 0x348]
add eax, 1
mov dword [ebp - 0x348], eax
xor ecx, ecx
jne 0x4364b9
mov dword [ebp - 0x358], 0
jmp 0x43654d
mov edx, dword [ebp - 0x358]
add edx, 1
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x238]
jae 0x436571
mov ecx, dword [ebp - 0x358]
mov edx, dword [ebp + ecx*4 - 0x234]
cmp edx, dword [ebp + 0xc]
jne 0x43656f
jmp 0x436571
jmp 0x43653e
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x238]
jne 0x4365a7
cmp dword [ebp - 0x238], 0x40
jae 0x4365a7
mov ecx, dword [ebp - 0x358]
mov edx, dword [ebp + 0xc]
mov dword [ebp + ecx*4 - 0x234], edx
mov eax, dword [ebp - 0x238]
add eax, 1
mov dword [ebp - 0x238], eax
xor ecx, ecx
jne 0x436532
mov edx, dword [ebp + 0xc]
cmp edx, dword [ebp - 0x12c]
jbe 0x4365bf
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], 0
cmp dword [ebp + 0x10], 0xffffffff
je 0x4366dd
xor ecx, ecx
jne 0x4365d3
mov dword [ebp - 0x35c], 0
jmp 0x4365f2
mov edx, dword [ebp - 0x35c]
add edx, 1
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x35c]
cmp eax, dword [ebp - 0x128]
jae 0x436616
mov ecx, dword [ebp - 0x35c]
mov edx, dword [ebp + ecx*4 - 0x124]
cmp edx, dword [ebp + 0x10]
jne 0x436614
jmp 0x436616
jmp 0x4365e3
mov eax, dword [ebp - 0x35c]
cmp eax, dword [ebp - 0x128]
jne 0x43664c
cmp dword [ebp - 0x128], 0x40
jae 0x43664c
mov ecx, dword [ebp - 0x35c]
mov edx, dword [ebp + 0x10]
mov dword [ebp + ecx*4 - 0x124], edx
mov eax, dword [ebp - 0x128]
add eax, 1
mov dword [ebp - 0x128], eax
xor ecx, ecx
jne 0x4365d7
mov dword [ebp - 0x360], 0
jmp 0x43666b
mov edx, dword [ebp - 0x360]
add edx, 1
mov dword [ebp - 0x360], edx
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp - 0x238]
jae 0x43668f
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + ecx*4 - 0x234]
cmp edx, dword [ebp + 0x10]
jne 0x43668d
jmp 0x43668f
jmp 0x43665c
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp - 0x238]
jne 0x4366c5
cmp dword [ebp - 0x238], 0x40
jae 0x4366c5
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + 0x10]
mov dword [ebp + ecx*4 - 0x234], edx
mov eax, dword [ebp - 0x238]
add eax, 1
mov dword [ebp - 0x238], eax
xor ecx, ecx
jne 0x436650
mov edx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0x12c]
jbe 0x4366dd
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x12c], eax
xor ecx, ecx
cmp dword [ebp + 0x14], 0
setl cl
sub ecx, 1
lea edx, [ebp - 0xc]
and ecx, edx
mov dword [ebp - 4], ecx
cmp dword [ebp + 0x14], 0
jle 0x43671b
mov eax, dword [ebp - 0x18]
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
cdq
mov ecx, 0x3e8
idiv ecx
imul edx, edx, 0x3e8
mov dword [ebp - 8], edx
jmp 0x43672f
cmp dword [ebp + 0x14], 0
jne 0x43672f
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x238]
push eax
mov ecx, dword [ebp - 0x128]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x128]
and ecx, edx
push ecx
mov eax, dword [ebp - 0x348]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x348]
and eax, ecx
push eax
mov edx, dword [ebp - 0x12c]
add edx, 1
push edx
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0xffffffff
je 0x436781
jmp 0x4367e8
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4367a4
cmp dword [0x62c86c], 0
jne 0x4367a2
cmp dword [ebp - 0x10], 0x2714
je 0x4367a4
jmp 0x4367e8
cmp dword [ebp + 0x14], 0
jle 0x4367db
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00444cc0
push edx
push eax
call fcn.00444d00
add esp, 0x10
mov edx, dword [ebp + 0x14]
sub edx, eax
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0
jg 0x4367db
mov dword [ebp - 0x23c], 0
jmp 0x4367e8
cmp dword [ebp - 0x23c], 0xffffffff
je 0x4366f1
cmp dword [ebp - 0x23c], 0
jge 0x4367f9
or eax, 0xffffffff
jmp 0x4368d3
cmp dword [ebp - 0x23c], 0
jne 0x436809
xor eax, eax
jmp 0x4368d3
mov dword [ebp - 0x14], 0
cmp dword [ebp + 8], 0xffffffff
je 0x436850
lea eax, [ebp - 0x348]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x436833
mov edx, dword [ebp - 0x14]
or edx, 1
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x238]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x436850
mov edx, dword [ebp - 0x14]
or edx, 4
mov dword [ebp - 0x14], edx
cmp dword [ebp + 0xc], 0xffffffff
je 0x436890
lea eax, [ebp - 0x348]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x436873
mov edx, dword [ebp - 0x14]
or edx, 8
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x238]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x436890
mov edx, dword [ebp - 0x14]
or edx, 4
mov dword [ebp - 0x14], edx
cmp dword [ebp + 0x10], 0xffffffff
je 0x4368d0
lea eax, [ebp - 0x128]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4368b3
mov edx, dword [ebp - 0x14]
or edx, 2
mov dword [ebp - 0x14], edx
lea eax, [ebp - 0x238]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4368d0
mov edx, dword [ebp - 0x14]
or edx, 4
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret