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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x564b80
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x130
mov eax, dword [0x5c81c0]
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
push eax
mov dword [ebp - 0x68], esi
mov dword [ebp - 4], ebx
call fcn.004fda70
mov ecx, esi
call fcn.004fe410
mov ecx, esi
call fcn.004fe910
mov ecx, esi
call fcn.004fdc70
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x8c], 3
push ecx
mov dword [ebp - 0x88], ebx
call fcn.005283b0
lea edx, [ebp - 0x74]
push edx
call fcn.005283b0
add esp, 8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
cmp dword [esi + 0x38], ebx
je 0x4e8eff
lea ecx, [esi + 0x48]
call fcn.004ce550
mov ecx, dword [esi + 0x210]
mov edx, dword [esi + 0x214]
lea eax, [esi + 0x20]
mov dword [esi + 0x30], ebx
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
mov ecx, esi
call fcn.004fd980
test al, al
mov byte [ebp - 0x2c], al
je 0x4e8f2e
lea edx, [ebp - 0xa4]
push edx
call fcn.005283b0
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
add esp, 4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
lea edx, [ebp - 0x8c]
lea eax, [esi + 0x6a8]
push edx
lea ecx, [esi + 0x4a4]
push eax
lea edx, [esi + 0x2a0]
push ecx
push edx
push ebx
call sub.WSOCK32.dll_select
mov edi, eax
mov eax, dword [esi + 0x38]
cmp eax, ebx
je 0x4e8f77
lea ecx, [esi + 0x48]
call fcn.004ce550
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 0x4e8fbc
lea eax, [ebp - 0x74]
push eax
call fcn.005283b0
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0xbc]
sub ecx, edx
add esp, 4
cmp ecx, 0x12c
jle 0x4e8fbc
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 0x4e901b
cmp edi, ebx
je 0x4e901b
xor edi, edi
cmp edi, dword [esi + 0x200]
jge 0x4e9022
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]
cmp eax, ebx
je 0x4e9018
cmp dword [esi + 0x38], ebx
je 0x4e9013
lea ecx, [esi + 0x48]
call fcn.004ce550
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.004e4bf0
inc edi
jmp 0x4e8fc7
mov ecx, esi
call fcn.004e9a40
mov ecx, dword [ebp - 0x2c]
push ecx
push ebx
mov ecx, esi
call fcn.004fdd40
lea edx, [ebp - 0xb0]
push edx
call fcn.005283b0
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x74]
sub eax, ecx
add esp, 4
lea ecx, [eax + eax*2]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp - 0xac]
and ecx, 0xffff
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x70]
shl edx, 3
and eax, 0xffff
sub edx, eax
add edx, ecx
cmp edx, 0xfa
jl 0x4e912b
lea edx, [ebp - 0x74]
push edx
call fcn.005283b0
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [esi + 0x200]
jge 0x4e912b
mov eax, ecx
mov edx, dword [esi + 0x29c]
shl eax, 5
sub eax, ecx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 4
add eax, edx
cmp dword [eax + 0x54], ebx
je 0x4e9120
mov edi, dword [eax + 0x70]
mov edx, dword [edi]
cmp dword [edx], 0
je 0x4e9120
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, ecx
or ebx, edx
je 0x4e911d
mov dword [ebp - 0x5c], ecx
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x58], edx
mov edx, dword [eax + 0x44]
mov ebx, dword [eax + 0x58]
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x50], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x48], edx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x40], edx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov ecx, dword [edi]
lea eax, [ebp - 0x64]
push eax
push 0x13ef
mov edx, dword [ecx]
push 0x111
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x14]
inc ecx
xor ebx, ebx
mov dword [ebp - 0x14], ecx
jmp 0x4e9089
mov ecx, dword [esi + 0xc]
mov edi, 2
cmp dword [ecx + 0x1a4], edi
jne 0x4e9438
call fcn.0050a190
mov cl, byte [0x5c755c]
mov dword [ebp - 0x14], eax
test cl, cl
jne 0x4e915e
mov ecx, dword [esi + 0xc]
mov dl, byte [ecx + 0x346]
test dl, dl
jne 0x4e9168
mov cl, byte [esi + 0x8b0]
test cl, cl
je 0x4e91e4
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x1a4], edi
jne 0x4e9177
cmp eax, ebx
je 0x4e91e4
mov ecx, dword [esi + 0x29c]
mov eax, dword [ecx]
call dword [eax + 0x18]
lea ecx, [esi + 0x48]
call fcn.004cb270
mov dword [esi + 0x70], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x218], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x21c], ebx
mov al, byte [0x5c755c]
test al, al
jne 0x4e91ce
mov ecx, dword [esi + 0xc]
mov al, byte [ecx + 0x346]
test al, al
je 0x4e91ce
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, 0x756a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x64], ebx
jle 0x4e925f
mov ebx, dword [esi + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx + 0x1c0]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4e925f
mov ebx, dword [ebx + 0x1b0]
test ebx, ebx
je 0x4e9223
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push edx
call fcn.00528c80
add esp, 0xc
test eax, eax
je 0x4e925f
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4e9241
mov edx, dword [esi + 0x64]
mov eax, dword [eax]
push edx
push 0x13f8
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4e925f
mov ecx, dword [esi + 0x64]
mov edx, dword [eax]
push ecx
push 0x13f8
push 0x111
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4e9438
mov eax, dword [esi + 0x1d0]
test eax, eax
jne 0x4e93e9
mov al, byte [0x5c755c]
test al, al
jne 0x4e9374
mov eax, dword [esi + 0xc]
mov byte [ebp - 0x15], 0
mov edx, dword [eax + 0x1b0]
test edx, edx
je 0x4e92e3
mov ebx, dword [eax + 0x1d0]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4e92e3
mov edi, edx
mov eax, ebx
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x4e92d6
test cl, cl
je 0x4e92d2
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x4e92d6
add eax, 2
add edi, 2
test cl, cl
jne 0x4e92ae
xor eax, eax
jmp 0x4e92db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4e92e3
mov byte [ebp - 0x15], 1
mov edi, dword [esi + 0x214]
mov edx, dword [esi + 0x210]
xor ebx, ebx
cmp edi, ebx
jl 0x4e931c
jg 0x4e92fb
cmp edx, ebx
jbe 0x4e931c
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x1d8]
mov eax, dword [eax + 0x1dc]
cmp eax, ebx
jl 0x4e931c
jg 0x4e9314
cmp ecx, ebx
jbe 0x4e931c
cmp ecx, edx
jne 0x4e9323
cmp eax, edi
jne 0x4e9323
mov al, byte [ebp - 0x15]
test al, al
je 0x4e9374
mov eax, dword [esi + 0xc]
push 0x5c6ff0
lea ecx, [eax + 0x1d0]
call fcn.00542347
mov eax, dword [esi + 0xc]
push 0x50040
mov dword [eax + 0x1d8], ebx
mov dword [eax + 0x1dc], ebx
mov ecx, dword [esi + 0xc]
mov eax, dword [0x5c794c]
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 [ecx + 0x34]
test eax, eax
je 0x4e93e9
push 0x2e
push eax
call fcn.00526d20
mov edi, eax
add esp, 8
test edi, edi
je 0x4e93e9
push str..html
push edi
call fcn.0052f680
add esp, 8
test eax, eax
je 0x4e93e9
push str..htm
push edi
call fcn.0052f680
add esp, 8
test eax, eax
je 0x4e93e9
mov edx, dword [esi + 0xc]
mov ecx, dword [0x5c8140]
push 0x50004
mov eax, dword [edx + 8]
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x4e93e9
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 edx, dword [esi + 0xc]
mov eax, dword [edx + 0x34]
test eax, eax
je 0x4e9438
push 0x2e
push eax
call fcn.00526d20
mov edi, eax
add esp, 8
test edi, edi
je 0x4e9438
push str..html
push edi
call fcn.0052f680
add esp, 8
test eax, eax
je 0x4e9438
push str..htm
push edi
call fcn.0052f680
add esp, 8
test eax, eax
je 0x4e9438
mov ecx, dword [esi + 0xc]
call fcn.0050a230
test eax, eax
jne 0x4e987a
mov al, byte [ebp - 0x2c]
test al, al
je 0x4e9665
mov ecx, dword [esi + 0x21c]
mov eax, dword [esi + 0x218]
test ecx, ecx
jl 0x4e9665
jg 0x4e9464
cmp eax, 0x400
jbe 0x4e9665
mov eax, dword [0x5c7168]
mov ebx, dword [0x5c716c]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x34], eax
push ecx
call fcn.005283b0
mov eax, dword [esi + 0x218]
mov edi, dword [ebp - 0x28]
mov ecx, dword [esi + 0x21c]
mov edx, dword [ebp - 0x24]
add esp, 4
sub eax, edi
sbb ecx, edx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
js 0x4e9665
jg 0x4e94ad
test eax, eax
jbe 0x4e9665
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xa4]
sub eax, edx
mov ecx, dword [ebp - 0xa0]
and ecx, 0xffff
lea edx, [eax + eax*2]
lea eax, [eax + edx*8]
mov edx, dword [ebp - 0x94]
and edx, 0xffff
lea eax, [eax + eax*4]
shl eax, 3
sub eax, ecx
add eax, edx
mov dword [ebp - 0x14], eax
jne 0x4e94ef
mov dword [ebp - 0x14], 1
fild qword [ebp - 0x7c]
fmul dword [0x571f50]
fidiv dword [ebp - 0x14]
call fcn.0052706c
mov edi, edx
mov ecx, eax
cmp edi, ebx
jl 0x4e9665
jg 0x4e9517
cmp ecx, dword [ebp - 0x34]
jbe 0x4e9665
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
sub ecx, edx
cdq
sbb edi, ebx
push edx
push eax
push edi
push ecx
call fcn.005291e0
mov ecx, dword [ebp - 0x34]
push ebx
push ecx
push edx
push eax
call fcn.00528840
mov edi, eax
mov eax, dword [esi + 0x220]
cdq
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x34]
push 0
push 2
push ebx
push edx
mov dword [ebp - 0x20], eax
call fcn.00528840
cmp dword [ebp - 0x1c], edx
jg 0x4e9575
jl 0x4e9560
cmp dword [ebp - 0x20], eax
jae 0x4e9575
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov edi, edx
jmp 0x4e95a3
mov ecx, dword [ebp - 0x34]
push 0
push 9
push ebx
push ecx
call fcn.005291e0
push 0
push 0xa
push edx
push eax
call fcn.00528840
cmp dword [ebp - 0x1c], edx
jg 0x4e95a3
jl 0x4e959a
cmp dword [ebp - 0x20], eax
jae 0x4e95a3
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov edi, eax
cmp edi, 0x2ee0
jle 0x4e95b2
mov edi, 0x2ee0
jmp 0x4e95ba
test edi, edi
jle 0x4e9665
mov eax, dword [esi + 0x8ac]
cmp eax, 0xffffffff
je 0x4e965e
lea ecx, [esi + 0x2a0]
lea ebx, [esi + 0x6a8]
mov dword [esi + 0x4a4], 0
mov dword [ecx], 0
mov dword [ebx], 0
mov dword [esi + 0x2a4], eax
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
mov eax, dword [ebx]
cmp eax, 0x80
jae 0x4e9611
mov edx, dword [esi + 0x8ac]
mov dword [esi + eax*4 + 0x6ac], edx
mov eax, dword [ebx]
inc eax
mov dword [ebx], eax
mov eax, 0x10624dd3
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [ebp - 0x84], edx
lea eax, [edx + edx*2]
lea edx, [edx + eax*8]
lea edx, [edx + edx*4]
shl edx, 3
sub edi, edx
lea eax, [edi + edi*2]
lea edi, [edi + eax*8]
lea eax, [ebp - 0x84]
push eax
lea eax, [esi + 0x4a4]
lea edx, [edi + edi*4]
push ebx
push eax
push ecx
shl edx, 3
push 0
mov dword [ebp - 0x80], edx
call sub.WSOCK32.dll_select
jmp 0x4e9665
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.004e9890
mov edi, eax
test edi, edi
jne 0x4e9687
mov ecx, esi
call fcn.004e9b50
mov ecx, esi
call fcn.004fe940
xor ebx, ebx
jmp 0x4e8e9c
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4e96ac
lea ecx, [esi + 0x48]
call fcn.004ce550
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 0x4e980b
cmp edi, 0xffffffff
je 0x4e980b
mov ecx, dword [esi + 0x21c]
mov edx, dword [esi + 0x218]
mov eax, dword [0x5c81c4]
push ecx
push edx
lea ecx, [ebp - 0x13c]
push eax
push ecx
call fcn.00527718
add esp, 0x10
lea edx, [ebp - 0x13c]
mov ecx, esi
push edx
call fcn.004fda70
mov edx, dword [esi + 0x218]
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x210]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x214]
cmp edx, ecx
mov dword [ebp - 0x20], edx
jne 0x4e971b
mov edx, dword [ebp - 0x1c]
cmp edx, eax
je 0x4e974b
mov edx, ecx
or edx, eax
je 0x4e974b
cmp dword [ebp - 0x1c], eax
jl 0x4e9877
jg 0x4e9735
cmp dword [ebp - 0x20], ecx
jbe 0x4e9877
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 + 0x200]
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jge 0x4e97f1
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 0x4e97eb
mov edi, dword [eax + 0x70]
mov edx, dword [edi]
cmp dword [edx], 0
je 0x4e97eb
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, ecx
or ebx, edx
je 0x4e97e8
mov dword [ebp - 0x5c], ecx
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x58], edx
mov edx, dword [eax + 0x44]
mov ebx, dword [eax + 0x58]
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x50], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x48], edx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x40], edx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov ecx, dword [edi]
lea eax, [ebp - 0x64]
push eax
push 0x13ef
mov edx, dword [ecx]
push 0x111
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x14]
inc ecx
jmp 0x4e974d
mov ecx, esi
call fcn.004fe940
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 [0x5c81b8]
push eax
push ecx
lea eax, [ebp - 0x13c]
push edx
push eax
call fcn.00527718
add esp, 0x10
lea ecx, [ebp - 0x13c]
push ecx
mov ecx, esi
call fcn.004fda70
mov esi, dword [esi + 0x1d4]
test esi, esi
je 0x4e9851
cmp edi, 0x753c
mov eax, esi
je 0x4e987a
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