Function at 0x4774a0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x358
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0x354]
add ecx, 4
call fcn.0044c920
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x32c], 0
jmp 0x4774fc
mov eax, dword [ebp - 0x32c]
add eax, 1
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x32c]
cmp ecx, dword [ebp - 0x114]
jae 0x477777
mov edx, dword [ebp - 0x32c]
push edx
mov ecx, dword [ebp - 0x354]
add ecx, 4
call fcn.00477a30
mov eax, dword [eax]
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x330]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x330]
call dword [edx]
test eax, eax
je 0x47755e
mov eax, dword [ebp - 0x330]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x330]
call dword [edx]
mov ecx, eax
call sym.MANAGER.exe_public:_int___thiscall_WireTap::CoIoDescriptor::id_void_const
mov dword [ebp - 0x358], eax
jmp 0x477568
mov dword [ebp - 0x358], 0xffffffff
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 0xffffffff
jne 0x4775c3
mov ecx, dword [ebp - 0x330]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x330]
call dword [edx + 0x10]
mov eax, dword [ebp - 0x330]
push eax
mov ecx, dword [ebp - 0x354]
call fcn.004773d0
mov ecx, dword [ebp - 0x32c]
sub ecx, 1
mov dword [ebp - 0x32c], ecx
mov edx, dword [ebp - 0x114]
sub edx, 1
mov dword [ebp - 0x114], edx
jmp 0x4774ed
mov ecx, dword [ebp - 0x330]
call fcn.004779a0
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x338]
and eax, 1
je 0x47765e
mov dword [ebp - 0x33c], 0
jmp 0x4775fa
mov ecx, dword [ebp - 0x33c]
add ecx, 1
mov dword [ebp - 0x33c], ecx
mov edx, dword [ebp - 0x33c]
cmp edx, dword [ebp - 0x220]
jae 0x477621
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp + eax*4 - 0x21c]
cmp ecx, dword [ebp - 0x334]
jne 0x47761f
jmp 0x477621
jmp 0x4775eb
mov edx, dword [ebp - 0x33c]
cmp edx, dword [ebp - 0x220]
jne 0x47765a
cmp dword [ebp - 0x220], 0x40
jae 0x47765a
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x334]
mov dword [ebp + eax*4 - 0x21c], ecx
mov edx, dword [ebp - 0x220]
add edx, 1
mov dword [ebp - 0x220], edx
xor eax, eax
jne 0x4775df
mov ecx, dword [ebp - 0x338]
and ecx, 2
je 0x4776e8
mov dword [ebp - 0x340], 0
jmp 0x477684
mov edx, dword [ebp - 0x340]
add edx, 1
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x328]
jae 0x4776ab
mov ecx, dword [ebp - 0x340]
mov edx, dword [ebp + ecx*4 - 0x324]
cmp edx, dword [ebp - 0x334]
jne 0x4776a9
jmp 0x4776ab
jmp 0x477675
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x328]
jne 0x4776e4
cmp dword [ebp - 0x328], 0x40
jae 0x4776e4
mov ecx, dword [ebp - 0x340]
mov edx, dword [ebp - 0x334]
mov dword [ebp + ecx*4 - 0x324], edx
mov eax, dword [ebp - 0x328]
add eax, 1
mov dword [ebp - 0x328], eax
xor ecx, ecx
jne 0x477669
mov edx, dword [ebp - 0x338]
and edx, 4
je 0x477772
mov dword [ebp - 0x344], 0
jmp 0x47770e
mov eax, dword [ebp - 0x344]
add eax, 1
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x344]
cmp ecx, dword [ebp - 0x110]
jae 0x477735
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp + edx*4 - 0x10c]
cmp eax, dword [ebp - 0x334]
jne 0x477733
jmp 0x477735
jmp 0x4776ff
mov ecx, dword [ebp - 0x344]
cmp ecx, dword [ebp - 0x110]
jne 0x47776e
cmp dword [ebp - 0x110], 0x40
jae 0x47776e
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x334]
mov dword [ebp + edx*4 - 0x10c], eax
mov ecx, dword [ebp - 0x110]
add ecx, 1
mov dword [ebp - 0x110], ecx
xor edx, edx
jne 0x4776f3
jmp 0x4774ed
movzx eax, byte [ebp + 8]
neg eax
sbb eax, eax
not eax
lea ecx, [ebp + 0xc]
and eax, ecx
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x118]
push edx
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x328]
push ecx
lea edx, [ebp - 0x220]
push edx
push 0x40
call dword [0x4b0a28]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jg 0x4777c1
mov eax, dword [ebp - 4]
jmp 0x47792c
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x348], eax
jmp 0x4777de
mov ecx, dword [ebp - 0x348]
sub ecx, 1
mov dword [ebp - 0x348], ecx
cmp dword [ebp - 0x348], 0
jbe 0x477929
mov edx, dword [ebp - 0x348]
sub edx, 1
push edx
mov ecx, dword [ebp - 0x354]
add ecx, 4
call fcn.00477a30
mov eax, dword [eax]
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x34c]
call dword [edx]
mov ecx, eax
call sym.MANAGER.exe_public:_int___thiscall_WireTap::CoIoDescriptor::id_void_const
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0xffffffff
jne 0x477859
mov eax, dword [ebp - 0x34c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x34c]
call dword [edx + 0x10]
mov eax, dword [ebp - 0x34c]
push eax
mov ecx, dword [ebp - 0x354]
call fcn.004773d0
jmp 0x4777cf
lea ecx, [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x350]
push edx
call fcn.004a3920
test eax, eax
je 0x47789f
mov eax, dword [ebp - 0x34c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x34c]
call dword [edx + 8]
movzx eax, al
test eax, eax
jne 0x47789f
mov ecx, dword [ebp - 0x34c]
push ecx
mov ecx, dword [ebp - 0x354]
call fcn.004773d0
jmp 0x4777cf
lea edx, [ebp - 0x328]
push edx
mov eax, dword [ebp - 0x350]
push eax
call fcn.004a3920
test eax, eax
je 0x4778e5
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x34c]
call dword [edx + 0xc]
movzx eax, al
test eax, eax
jne 0x4778e5
mov ecx, dword [ebp - 0x34c]
push ecx
mov ecx, dword [ebp - 0x354]
call fcn.004773d0
jmp 0x4777cf
lea edx, [ebp - 0x110]
push edx
mov eax, dword [ebp - 0x350]
push eax
call fcn.004a3920
test eax, eax
je 0x477924
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x34c]
call dword [edx + 0x10]
mov eax, dword [ebp - 0x34c]
push eax
mov ecx, dword [ebp - 0x354]
call fcn.004773d0
jmp 0x4777cf
jmp 0x4777cf
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0xc