Function at 0x40adf0
Capabilities:
Get socket status
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov ebx, dword [esp + 0x80]
mov eax, dword [ebx + 0x3c]
cmp eax, 0xffffffff
je 0x40ae1a
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00405490
test eax, eax
jne 0x40b560
mov eax, dword [ebx + 0x84]
test eax, eax
jne 0x40b4d5
mov eax, dword [ebx + 0x80]
test eax, eax
jne 0x40b287
mov dword [esp], ebx
call fcn.0040a720
test eax, eax
js 0x40b560
mov dword [esp], 0
lea edi, [esp + 0x50]
mov ebp, 1
call fcn.0040cea0
mov byte [ebx + 0x10], 0xf
mov dword [esp + 0x2c], 0
jmp 0x40aea3
test esi, esi
je 0x40ae99
mov eax, dword [esi]
test eax, eax
jne 0x40ae99
mov esi, dword [esi + 4]
test esi, esi
jne 0x40ae99
mov dword [esp + 4], 0
mov dword [esp], edi
call sub.cygwin1.dll_gettimeofday
mov dword [esp], edi
call fcn.0040ddd0
cmp byte [ebx + 0x10], 0x10
je 0x40b2e0
mov eax, dword [ebx + 0xa8]
mov edx, dword [ebx + 0xac]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov eax, dword [ebx + 0xb0]
mov edx, dword [ebx + 0xb4]
mov dword [esp + 4], 0
mov dword [esp], edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
call sub.cygwin1.dll_gettimeofday
mov dword [esp], edi
call fcn.0040dcf0
mov dword [esp + 0x10], eax
mov esi, eax
lea eax, [esp + 0x48]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0xa4]
add eax, 1
mov dword [esp], eax
call sub.cygwin1.dll_select
test eax, eax
js 0x40b020
je 0x40ae81
mov ecx, dword [ebx + 0x64]
mov edx, ebp
mov eax, ecx
shl edx, cl
shr eax, 5
test dword [esp + eax*4 + 0x40], edx
je 0x40af56
cmp byte [ebx + 0x10], 0xa
je 0x40afb4
mov dword [esp], ebx
call fcn.0040a860
test eax, eax
js 0x40afa0
mov ecx, dword [ebx + 0x64]
mov eax, ebp
mov edx, ecx
shl eax, cl
shr edx, 5
not eax
and dword [esp + edx*4 + 0x40], eax
mov ecx, dword [ebx + 0x60]
mov edx, ebp
mov eax, ecx
shl edx, cl
shr eax, 5
test dword [esp + eax*4 + 0x40], edx
jne 0x40afc6
movzx eax, byte [ebx + 0x10]
cmp al, 0xa
je 0x40aff0
cmp al, 2
jne 0x40ae70
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x40b050
lea eax, [esp + 0x48]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00402f30
test eax, eax
jns 0x40ae70
nop
mov eax, ebx
call fcn.0040a5e0
mov eax, 0xffffffff
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebx + 0x60]
mov edx, ebp
mov eax, ecx
shl edx, cl
shr eax, 5
test dword [esp + eax*4 + 0x40], edx
je 0x40aff0
mov dword [esp], ebx
call fcn.0040a9e0
test eax, eax
js 0x40afa0
mov ecx, dword [ebx + 0x60]
mov eax, ebp
mov edx, ecx
shl eax, cl
shr edx, 5
not eax
and dword [esp + edx*4 + 0x40], eax
movzx eax, byte [ebx + 0x10]
cmp al, 0xa
jne 0x40af74
lea esi, [esi]
mov ecx, dword [ebx + 0x68]
mov edx, ebp
mov eax, ecx
shl edx, cl
shr eax, 5
test dword [esp + eax*4 + 0x40], edx
jne 0x40b070
mov eax, dword [esp + 0x2c]
cmp dword [ebx + 0x120], eax
jne 0x40ae70
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
jmp 0x40b0bf
call sub.cygwin1.dll___errno
cmp dword [eax], 4
je 0x40ae70
mov eax, ebx
call fcn.0040a5e0
mov dword [0x41cb64], 0x76
mov eax, 0xffffffff
jmp 0x40afac
lea eax, [esp + 0x40]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00403200
test eax, eax
jns 0x40ae70
jmp 0x40afa0
mov eax, dword [ebx + 0xc]
mov dword [esp], ebx
call dword [eax + 8]
test eax, eax
js 0x40afa0
mov dword [esp], eax
mov dword [esp + 0x30], eax
call fcn.0040ccb0
test eax, eax
mov ecx, dword [esp + 0x30]
je 0x40b3f2
mov ecx, dword [ebx + 0x68]
mov edx, ebp
mov eax, ecx
shl edx, cl
shr eax, 5
not edx
and dword [esp + eax*4 + 0x40], edx
mov eax, dword [ebx + 0x120]
cmp dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
jne 0x40b57f
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
je 0x40b1e0
mov eax, ecx
mov edx, ebp
shr eax, 5
shl edx, cl
not edx
and dword [ebx + eax*4 + 0xa8], edx
mov dword [esp], ecx
call sub.cygwin1.dll_close
mov dword [ebx + 0x68], 0xffffffff
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.00402ea0
test eax, eax
jne 0x40afa0
mov dword [esp], ebx
call fcn.004032b0
test eax, eax
js 0x40afa0
lea eax, [esp + 0x58]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.cygwin1.dll_gettimeofday
test eax, eax
js 0x40b390
fld qword [ebx + 0xc0]
mov dword [ebx + 0xe8], 0
mov dword [ebx + 0xe4], 0
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x40b480
jne 0x40b480
fstp st(0)
fld qword [ebx + 0xc8]
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x40b3a0
jne 0x40b3a0
fstp st(0)
mov edx, dword [ebx + 0x30]
test edx, edx
jne 0x40b330
mov dword [ebx + 0xd8], 0
mov dword [ebx + 0xb8], 0
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x40b1b2
mov dword [esp], ebx
call fcn.00403350
test eax, eax
js 0x40afa0
mov dword [esp + 4], 2
mov dword [esp], ebx
call fcn.00402ea0
test eax, eax
jne 0x40afa0
mov ecx, dword [esp + 0x30]
movzx eax, byte [ebx + 0x10]
mov dword [esp + 0x2c], ecx
jmp 0x40af74
mov ecx, dword [ebx + 0x78]
test ecx, ecx
jne 0x40b1ff
mov eax, dword [ebx + 0x164]
mov edx, dword [eax + 0x24]
test edx, edx
jne 0x40b1ff
mov eax, dword [eax + 4]
test eax, eax
je 0x40b0e5
mov ecx, dword [ebx + 0x64]
mov edx, ebp
mov eax, ecx
shl edx, cl
shr eax, 5
not edx
and dword [ebx + eax*4 + 0xa8], edx
mov dword [esp], ecx
call sub.cygwin1.dll_close
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x64], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x164]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040d490
test eax, eax
js 0x40b588
mov edx, eax
mov ecx, eax
mov dword [ebx + 0x64], eax
shr edx, 5
mov dword [esp + 0x2c], edx
mov edx, ebp
shl edx, cl
mov ecx, edx
mov edx, dword [esp + 0x2c]
or dword [ebx + edx*4 + 0xa8], ecx
cmp eax, dword [ebx + 0xa4]
jle 0x40b0e5
mov dword [ebx + 0xa4], eax
jmp 0x40b0e5
mov dword [esp + 8], str.iperf_3.1.5
mov dword [esp + 4], 0x416714
mov dword [esp], ebx
call fcn.004054b0
mov dword [esp + 8], 0x416718
mov dword [esp + 4], 0x416620
mov dword [esp], ebx
call fcn.004054b0
call fcn.0040cfc0
mov dword [esp + 4], 0x416714
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.004054b0
mov dword [esp], ebx
call fcn.00407b40
jmp 0x40ae36
mov eax, ebx
call fcn.0040a5e0
mov ecx, dword [ebx + 0x84]
test ecx, ecx
je 0x40b301
mov dword [esp], ebx
call fcn.00405370
test eax, eax
js 0x40afa7
mov dword [esp], ebx
call fcn.00407b40
xor eax, eax
cmp dword [ebx + 0x40], 0xffffffff
je 0x40afac
mov dword [esp], ebx
call fcn.004054a0
test eax, eax
setne al
add esp, 0x6c
movzx eax, al
pop ebx
neg eax
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x58]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.cygwin1.dll_gettimeofday
test eax, eax
js 0x40b390
mov dword [ebx + 0xb8], 1
mov eax, 0xf4240
mov dword [esp + 0x14], 0
imul dword [ebx + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x40a670
mov dword [esp + 0xc], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x10], edx
mov dword [esp], eax
call fcn.0040dbc0
test eax, eax
mov dword [ebx + 0xd8], eax
jne 0x40b19b
mov dword [0x41cb64], 0x65
jmp 0x40afa0
fnstcw word [esp + 0x3e]
fmul dword [0x41671c]
movzx eax, word [esp + 0x3e]
mov dword [esp + 0x14], 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x40a5b0
mov ah, 0xc
mov word [esp + 0x3c], ax
lea eax, [esp + 0x58]
fldcw word [esp + 0x3c]
fistp qword [esp + 0xc]
fldcw word [esp + 0x3e]
mov dword [esp], eax
call fcn.0040dbc0
test eax, eax
mov dword [ebx + 0xe8], eax
jne 0x40b17c
jmp 0x40b390
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.00404cf0
test eax, eax
mov dword [esp + 0x34], eax
je 0x40afa0
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x38], eax
mov eax, ecx
jne 0x40b541
shr eax, 5
mov edx, ebp
shl edx, cl
or dword [ebx + eax*4 + 0xa8], edx
cmp ecx, dword [ebx + 0xa4]
jle 0x40b56a
mov dword [ebx + 0xa4], ecx
mov eax, dword [ebx + 0xc]
cmp dword [eax], 2
jne 0x40b56a
mov eax, dword [esp + 0x38]
test eax, eax
je 0x40b56a
mov eax, dword [ebx + 0x16c]
add dword [esp + 0x2c], 1
test eax, eax
je 0x40b099
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
call eax
jmp 0x40b099
fnstcw word [esp + 0x3e]
fmul dword [0x41671c]
movzx eax, word [esp + 0x3e]
mov dword [esp + 0x14], 1
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x40a580
mov ah, 0xc
mov word [esp + 0x3c], ax
lea eax, [esp + 0x58]
fldcw word [esp + 0x3c]
fistp qword [esp + 0xc]
fldcw word [esp + 0x3e]
mov dword [esp], eax
call fcn.0040dbc0
test eax, eax
mov dword [ebx + 0xe4], eax
jne 0x40b160
jmp 0x40b390
mov dword [esp], ebx
call fcn.00405290
test eax, eax
js 0x40b560
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x40ae28
mov dword [esp], str.iperf_3.1.5
call fcn.004109e0
mov dword [esp + 4], str.version
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x180]
mov dword [esp], eax
call fcn.00410540
call fcn.0040cfc0
mov dword [esp], eax
call fcn.004109e0
mov dword [esp + 4], str.system_info
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x180]
mov dword [esp], eax
call fcn.00410540
jmp 0x40ae36
shr eax, 5
mov edx, ebp
shl edx, cl
or dword [ebx + eax*4 + 0xb0], edx
cmp ecx, dword [ebx + 0xa4]
jle 0x40b43f
jmp 0x40b439
mov eax, 0xfffffffe
jmp 0x40afac
mov dword [esp + 4], 1
mov dword [esp], ecx
call fcn.0040d9a0
jmp 0x40b457
movzx eax, byte [ebx + 0x10]
jmp 0x40af74
mov eax, ebx
call fcn.0040a5e0
mov dword [0x41cb64], 0x66
mov eax, 0xffffffff
jmp 0x40afac