Function at 0x420260
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 0x4202ad
cmp dword [ebp + 0xc], 0xffffffff
jne 0x4202ad
cmp dword [ebp + 0x10], 0xffffffff
jne 0x4202ad
mov eax, dword [ebp + 0x14]
push eax
call fcn.00420210
add esp, 4
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
jmp 0x4207fb
cmp dword [ebp + 0x14], 0
jle 0x4202c4
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x18], ecx
call fcn.004249d0
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 0x4203eb
xor edx, edx
jne 0x4202ec
mov dword [ebp - 0x34c], 0
jmp 0x42030b
mov eax, dword [ebp - 0x34c]
add eax, 1
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp - 0x34c]
cmp ecx, dword [ebp - 0x348]
jae 0x42032f
mov edx, dword [ebp - 0x34c]
mov eax, dword [ebp + edx*4 - 0x344]
cmp eax, dword [ebp + 8]
jne 0x42032d
jmp 0x42032f
jmp 0x4202fc
mov ecx, dword [ebp - 0x34c]
cmp ecx, dword [ebp - 0x348]
jne 0x420365
cmp dword [ebp - 0x348], 0x40
jae 0x420365
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 0x4202f0
mov dword [ebp - 0x350], 0
jmp 0x420384
mov eax, dword [ebp - 0x350]
add eax, 1
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
cmp ecx, dword [ebp - 0x238]
jae 0x4203a8
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp + edx*4 - 0x234]
cmp eax, dword [ebp + 8]
jne 0x4203a6
jmp 0x4203a8
jmp 0x420375
mov ecx, dword [ebp - 0x350]
cmp ecx, dword [ebp - 0x238]
jne 0x4203de
cmp dword [ebp - 0x238], 0x40
jae 0x4203de
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 0x420369
mov eax, dword [ebp + 8]
mov dword [ebp - 0x12c], eax
cmp dword [ebp + 0xc], 0xffffffff
je 0x4204ff
xor ecx, ecx
jne 0x4203f5
mov dword [ebp - 0x354], 0
jmp 0x420414
mov edx, dword [ebp - 0x354]
add edx, 1
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x354]
cmp eax, dword [ebp - 0x348]
jae 0x420438
mov ecx, dword [ebp - 0x354]
mov edx, dword [ebp + ecx*4 - 0x344]
cmp edx, dword [ebp + 0xc]
jne 0x420436
jmp 0x420438
jmp 0x420405
mov eax, dword [ebp - 0x354]
cmp eax, dword [ebp - 0x348]
jne 0x42046e
cmp dword [ebp - 0x348], 0x40
jae 0x42046e
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 0x4203f9
mov dword [ebp - 0x358], 0
jmp 0x42048d
mov edx, dword [ebp - 0x358]
add edx, 1
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x238]
jae 0x4204b1
mov ecx, dword [ebp - 0x358]
mov edx, dword [ebp + ecx*4 - 0x234]
cmp edx, dword [ebp + 0xc]
jne 0x4204af
jmp 0x4204b1
jmp 0x42047e
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x238]
jne 0x4204e7
cmp dword [ebp - 0x238], 0x40
jae 0x4204e7
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 0x420472
mov edx, dword [ebp + 0xc]
cmp edx, dword [ebp - 0x12c]
jbe 0x4204ff
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], 0
cmp dword [ebp + 0x10], 0xffffffff
je 0x42061d
xor ecx, ecx
jne 0x420513
mov dword [ebp - 0x35c], 0
jmp 0x420532
mov edx, dword [ebp - 0x35c]
add edx, 1
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x35c]
cmp eax, dword [ebp - 0x128]
jae 0x420556
mov ecx, dword [ebp - 0x35c]
mov edx, dword [ebp + ecx*4 - 0x124]
cmp edx, dword [ebp + 0x10]
jne 0x420554
jmp 0x420556
jmp 0x420523
mov eax, dword [ebp - 0x35c]
cmp eax, dword [ebp - 0x128]
jne 0x42058c
cmp dword [ebp - 0x128], 0x40
jae 0x42058c
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 0x420517
mov dword [ebp - 0x360], 0
jmp 0x4205ab
mov edx, dword [ebp - 0x360]
add edx, 1
mov dword [ebp - 0x360], edx
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp - 0x238]
jae 0x4205cf
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp + ecx*4 - 0x234]
cmp edx, dword [ebp + 0x10]
jne 0x4205cd
jmp 0x4205cf
jmp 0x42059c
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp - 0x238]
jne 0x420605
cmp dword [ebp - 0x238], 0x40
jae 0x420605
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 0x420590
mov edx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0x12c]
jbe 0x42061d
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 0x42065b
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 0x42066f
cmp dword [ebp + 0x14], 0
jne 0x42066f
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x128]
push ecx
lea edx, [ebp - 0x348]
push edx
mov eax, dword [ebp - 0x12c]
add eax, 1
push eax
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0xffffffff
je 0x4206a9
jmp 0x420710
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4206cc
cmp dword [0x46f5ec], 0
jne 0x4206ca
cmp dword [ebp - 0x10], 0x2714
je 0x4206cc
jmp 0x420710
cmp dword [ebp + 0x14], 0
jle 0x420703
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call fcn.004249d0
push edx
push eax
call fcn.00424a10
add esp, 0x10
mov ecx, dword [ebp + 0x14]
sub ecx, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0
jg 0x420703
mov dword [ebp - 0x23c], 0
jmp 0x420710
cmp dword [ebp - 0x23c], 0xffffffff
je 0x420631
cmp dword [ebp - 0x23c], 0
jge 0x420721
or eax, 0xffffffff
jmp 0x4207fb
cmp dword [ebp - 0x23c], 0
jne 0x420731
xor eax, eax
jmp 0x4207fb
mov dword [ebp - 0x14], 0
cmp dword [ebp + 8], 0xffffffff
je 0x420778
lea edx, [ebp - 0x348]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x42075b
mov ecx, dword [ebp - 0x14]
or ecx, 1
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x238]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x420778
mov ecx, dword [ebp - 0x14]
or ecx, 4
mov dword [ebp - 0x14], ecx
cmp dword [ebp + 0xc], 0xffffffff
je 0x4207b8
lea edx, [ebp - 0x348]
push edx
mov eax, dword [ebp + 0xc]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x42079b
mov ecx, dword [ebp - 0x14]
or ecx, 8
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x238]
push edx
mov eax, dword [ebp + 0xc]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4207b8
mov ecx, dword [ebp - 0x14]
or ecx, 4
mov dword [ebp - 0x14], ecx
cmp dword [ebp + 0x10], 0xffffffff
je 0x4207f8
lea edx, [ebp - 0x128]
push edx
mov eax, dword [ebp + 0x10]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4207db
mov ecx, dword [ebp - 0x14]
or ecx, 2
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x238]
push edx
mov eax, dword [ebp + 0x10]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4207f8
mov ecx, dword [ebp - 0x14]
or ecx, 4
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret