Function at 0x4e0320
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5598d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf0
mov eax, dword [0x5bb568]
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
xor edi, edi
push eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], edi
call fcn.004f4120
mov ecx, esi
call fcn.004f4a60
mov ecx, esi
call fcn.004f4f60
mov ecx, esi
call fcn.004f4320
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x64], 3
push ecx
mov dword [ebp - 0x60], edi
call fcn.0051dd2e
lea edx, [ebp - 0x28]
push edx
call fcn.0051dd2e
add esp, 8
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4e03f6
lea ecx, [esi + 0x48]
call fcn.004c5fb0
mov ecx, dword [esi + 0x210]
mov edx, dword [esi + 0x214]
lea eax, [esi + 0x20]
mov dword [esi + 0x30], 0
push eax
push 0x1389
mov dword [eax], ecx
mov ecx, dword [esi + 0x218]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x21c]
mov eax, dword [esi + 0x10]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edx
push 0x111
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x64]
lea eax, [esi + 0x6a8]
push edx
lea ecx, [esi + 0x4a4]
push eax
lea edx, [esi + 0x2a0]
push ecx
push edx
push 0
call sub.WSOCK32.dll_select
mov edi, eax
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4e043d
lea ecx, [esi + 0x48]
call fcn.004c5fb0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
or eax, ecx
jne 0x4e047f
lea eax, [ebp - 0x28]
push eax
call fcn.0051dd2e
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x7c]
sub ecx, edx
add esp, 4
cmp ecx, 0x12c
jle 0x4e047f
mov eax, 0x7532
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0xffffffff
je 0x4e04e0
test edi, edi
je 0x4e04e0
xor edi, edi
cmp edi, dword [esi + 0x1fc]
jge 0x4e04e7
mov eax, edi
shl eax, 5
sub eax, edi
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x29c]
shl edx, 4
lea ecx, [edx + eax]
mov eax, dword [edx + eax + 0x54]
test eax, eax
je 0x4e04dd
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4e04d8
lea ecx, [esi + 0x48]
call fcn.004c5fb0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004dc0e0
inc edi
jmp 0x4e048a
mov ecx, esi
call fcn.004e0b30
push 0
mov ecx, esi
call fcn.004f43f0
lea ecx, [ebp - 0x70]
push ecx
call fcn.0051dd2e
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x28]
sub eax, ecx
mov ecx, dword [ebp - 0x24]
and ecx, 0xffff
add esp, 4
lea edx, [eax + eax*2]
lea eax, [eax + edx*8]
mov edx, dword [ebp - 0x6c]
and edx, 0xffff
lea eax, [eax + eax*4]
shl eax, 3
sub eax, ecx
add eax, edx
cmp eax, 0xfa
jl 0x4e05e3
lea eax, [ebp - 0x28]
push eax
call fcn.0051dd2e
add esp, 4
xor ecx, ecx
mov eax, dword [esi + 0x1fc]
mov dword [ebp - 0x18], ecx
cmp ecx, eax
jge 0x4e05e3
mov eax, ecx
shl eax, 5
sub eax, ecx
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x29c]
shl edx, 4
add eax, edx
mov edx, dword [eax + 0x54]
test edx, edx
je 0x4e05dd
mov edi, dword [eax + 0x70]
mov edx, dword [edi]
cmp dword [edx], 0
je 0x4e05dd
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, ecx
or ebx, edx
je 0x4e05da
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x50], edx
mov edx, dword [eax + 0x44]
mov ebx, dword [eax + 0x58]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x48], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x40], edx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x38], edx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov ecx, dword [edi]
lea eax, [ebp - 0x5c]
push eax
push 0x13ef
mov edx, dword [ecx]
push 0x111
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x18]
inc ecx
jmp 0x4e053f
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x1a4], 2
jne 0x4e074f
call fcn.004ffc00
test eax, eax
je 0x4e074f
mov eax, dword [esi + 0x1d0]
test eax, eax
jne 0x4e073f
mov al, byte [0x5ba96c]
test al, al
jne 0x4e070a
mov eax, dword [esi + 0xc]
mov byte [ebp - 0x11], 0
mov edx, dword [eax + 0x1b0]
test edx, edx
je 0x4e0679
mov ebx, dword [eax + 0x1c4]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4e0679
mov edi, edx
mov eax, ebx
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x4e066c
test cl, cl
je 0x4e0668
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x4e066c
add eax, 2
add edi, 2
test cl, cl
jne 0x4e0644
xor eax, eax
jmp 0x4e0671
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4e0679
mov byte [ebp - 0x11], 1
mov edi, dword [esi + 0x214]
mov edx, dword [esi + 0x210]
xor ebx, ebx
cmp edi, ebx
jl 0x4e06b2
jg 0x4e0691
cmp edx, ebx
jbe 0x4e06b2
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x1c8]
mov eax, dword [eax + 0x1cc]
cmp eax, ebx
jl 0x4e06b2
jg 0x4e06aa
cmp ecx, ebx
jbe 0x4e06b2
cmp ecx, edx
jne 0x4e06b9
cmp eax, edi
jne 0x4e06b9
mov al, byte [ebp - 0x11]
test al, al
je 0x4e070a
mov eax, dword [esi + 0xc]
push 0x5ba440
lea ecx, [eax + 0x1c4]
call fcn.00537c8d
mov eax, dword [esi + 0xc]
push 0x50040
mov dword [eax + 0x1c8], ebx
mov dword [eax + 0x1cc], ebx
mov ecx, dword [esi + 0xc]
mov eax, dword [0x5bacf4]
mov edx, dword [ecx + 8]
push edx
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0xc]
mov eax, dword [0x5bb4e8]
push 0x50004
mov edx, dword [ecx + 8]
push edx
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x4e073f
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0xc]
call fcn.004ffca0
test eax, eax
jne 0x4e0962
mov ecx, esi
call fcn.004e0980
mov edi, eax
test edi, edi
jne 0x4e076f
mov ecx, esi
call fcn.004e0c40
mov ecx, esi
call fcn.004f4f90
jmp 0x4e038d
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4e0794
lea ecx, [esi + 0x48]
call fcn.004c5fb0
mov eax, 0x7540
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x753c
je 0x4e08f3
cmp edi, 0xffffffff
je 0x4e08f3
mov ecx, dword [esi + 0x21c]
mov edx, dword [esi + 0x218]
mov eax, dword [0x5bb56c]
push ecx
push edx
lea ecx, [ebp - 0xfc]
push eax
push ecx
call fcn.0051d0e8
add esp, 0x10
lea edx, [ebp - 0xfc]
mov ecx, esi
push edx
call fcn.004f4120
mov edx, dword [esi + 0x218]
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x210]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x214]
cmp edx, ecx
mov dword [ebp - 0x1c], edx
jne 0x4e0803
mov edx, dword [ebp - 0x18]
cmp edx, eax
je 0x4e0833
mov edx, ecx
or edx, eax
je 0x4e0833
cmp dword [ebp - 0x18], eax
jl 0x4e095f
jg 0x4e081d
cmp dword [ebp - 0x1c], ecx
jbe 0x4e095f
mov eax, 0x7570
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov eax, dword [esi + 0x1fc]
mov dword [ebp - 0x18], ecx
cmp ecx, eax
jge 0x4e08d9
mov eax, ecx
shl eax, 5
sub eax, ecx
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x29c]
shl edx, 4
add eax, edx
mov edx, dword [eax + 0x54]
test edx, edx
je 0x4e08d3
mov edi, dword [eax + 0x70]
mov edx, dword [edi]
cmp dword [edx], 0
je 0x4e08d3
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, ecx
or ebx, edx
je 0x4e08d0
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x50], edx
mov edx, dword [eax + 0x44]
mov ebx, dword [eax + 0x58]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x48], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x40], edx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x38], edx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov ecx, dword [edi]
lea eax, [ebp - 0x5c]
push eax
push 0x13ef
mov edx, dword [ecx]
push 0x111
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x18]
inc ecx
jmp 0x4e0835
mov ecx, esi
call fcn.004f4f90
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x218]
mov edx, dword [0x5bb560]
push eax
push ecx
lea eax, [ebp - 0xfc]
push edx
push eax
call fcn.0051d0e8
add esp, 0x10
lea ecx, [ebp - 0xfc]
push ecx
mov ecx, esi
call fcn.004f4120
mov esi, dword [esi + 0x1d4]
test esi, esi
je 0x4e0939
cmp edi, 0x753c
mov eax, esi
je 0x4e0962
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret