Function at 0x4f5f20
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58dd40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x130
push ebx
push esi
push edi
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x10], esp
mov esi, ecx
xor edi, edi
push eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], edi
mov dword [ebp - 0x8c], 3
mov dword [ebp - 0x88], edi
call fcn.0054f68f
lea ecx, [ebp - 0x74]
push ecx
call fcn.0054f68f
mov eax, dword [esi + 0x8c]
add esp, 8
cmp eax, edi
jne 0x4f5f88
cmp dword [esi + 0x9c], edi
je 0x4f5f98
cmp dword [esi + 0xec], edi
je 0x4f5fa1
cmp dword [esi + 0xf0], edi
je 0x4f5fa1
mov dword [ebp - 0x24], 1
jmp 0x4f5fa4
mov dword [ebp - 0x24], edi
mov ecx, esi
call fcn.0051cb60
mov ecx, esi
call fcn.0051d080
mov ecx, esi
call fcn.0051c3c0
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov eax, dword [esi + 0x38]
mov ecx, esi
cmp eax, edi
je 0x4f602b
call fcn.004f6c40
lea ecx, [esi + 0x48]
call fcn.004e8970
mov edx, dword [esi + 0x118]
mov ecx, dword [esi + 0x11c]
lea eax, [esi + 0x20]
mov dword [esi + 0x30], edi
push eax
push 0x1389
mov dword [eax], edx
mov edx, dword [esi + 0x120]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x124]
mov dword [esi + 0x28], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0x2c], ecx
push 0x111
mov eax, dword [edx]
push eax
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
call fcn.0051c0d0
mov bl, al
test bl, bl
mov byte [ebp - 0x20], bl
je 0x4f605a
lea ecx, [ebp - 0xa4]
push ecx
call fcn.0054f68f
mov edx, dword [esi + 0x120]
mov eax, dword [esi + 0x124]
add esp, 4
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x8c]
lea edx, [esi + 0x5b8]
push ecx
lea eax, [esi + 0x3b4]
push edx
lea ecx, [esi + 0x1b0]
push eax
push ecx
push 0
call sub.WSOCK32.dll_select
mov edi, eax
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4f60ab
mov ecx, esi
call fcn.004f6c40
lea ecx, [esi + 0x48]
call fcn.004e8970
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 + 0x120]
mov ecx, dword [esi + 0x124]
or eax, ecx
jne 0x4f60ef
lea edx, [ebp - 0x74]
push edx
call fcn.0054f68f
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0xbc]
sub eax, edx
add esp, 4
cmp eax, 0x12c
jle 0x4f60ef
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 0x4f614c
test edi, edi
je 0x4f614c
xor edi, edi
cmp edi, dword [esi + 0x104]
jge 0x4f617b
lea ecx, [edi + edi*8]
lea eax, [edi + ecx*2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x1ac]
shl edx, 8
lea ecx, [edx + eax]
mov eax, dword [edx + eax + 0x54]
test eax, eax
je 0x4f6149
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4f6144
lea ecx, [esi + 0x48]
call fcn.004e8970
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.004f2da0
inc edi
jmp 0x4f60fa
xor edi, edi
cmp edi, dword [esi + 0x104]
jge 0x4f617b
lea ecx, [edi + edi*8]
lea eax, [edi + ecx*2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x1ac]
shl edx, 8
lea ecx, [edx + eax]
mov eax, dword [edx + eax + 0x54]
test eax, eax
je 0x4f6178
call fcn.004f26b0
inc edi
jmp 0x4f614e
mov ecx, dword [ebp - 0x20]
push ecx
push 0
mov ecx, esi
call fcn.0051c490
lea edx, [ebp - 0xb0]
push edx
call fcn.0054f68f
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x74]
sub eax, edx
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0xac]
and ecx, 0xffff
lea eax, [eax + eax*4]
and edx, 0xffff
add esp, 4
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
sub eax, ecx
add eax, edx
cmp eax, 0xfa
jl 0x4f6281
lea eax, [ebp - 0x74]
push eax
call fcn.0054f68f
add esp, 4
xor edi, edi
cmp edi, dword [esi + 0x104]
jge 0x4f627e
lea ecx, [edi + edi*8]
lea eax, [edi + ecx*2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x1ac]
shl edx, 8
add eax, edx
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x4f6278
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx]
cmp dword [ecx], 0
je 0x4f6278
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, ecx
or ebx, edx
je 0x4f6278
mov dword [ebp - 0x5c], edx
mov edx, dword [eax + 0x40]
mov dword [ebp - 0x58], edx
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x58]
mov dword [ebp - 0x60], ecx
mov ecx, dword [eax + 0x44]
mov dword [ebp - 0x50], edx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x48], edx
mov edx, dword [eax + 0x30]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [edx]
lea ecx, [ebp - 0x68]
push ecx
mov ecx, dword [eax]
push 0x13ef
push 0x111
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
inc edi
jmp 0x4f61e0
mov bl, byte [ebp - 0x20]
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4f62ad
mov ecx, esi
call fcn.004f6c40
lea ecx, [esi + 0x48]
call fcn.004e8970
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 [ebp - 0x24]
test eax, eax
je 0x4f6342
mov eax, dword [esi + 0x11c]
test eax, eax
jg 0x4f62da
jl 0x4f62ce
mov eax, dword [esi + 0x118]
test eax, eax
ja 0x4f62da
mov edx, dword [esi + 0x1ac]
cmp dword [edx + 0x5c], 6
jne 0x4f6342
mov eax, dword [esi + 0xec]
test eax, eax
je 0x4f6307
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x4f6307
mov ecx, dword [esi + 0xf4]
push 0
push ecx
push 0x1407
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x4f6329
mov ecx, esi
call fcn.004f6c40
lea ecx, [esi + 0x48]
call fcn.004e8970
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 + 0x7dc]
mov dword [ebp - 0x24], 0
mov dword [esi + 0x100], eax
mov dword [esi + 0x1a8], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx + 0x2af]
test al, al
je 0x4f63a6
mov al, byte [0x63e5fc]
test al, al
jne 0x4f63a6
mov eax, dword [esi + 0x11c]
test eax, eax
jl 0x4f63a6
jg 0x4f636e
mov eax, dword [esi + 0x118]
test eax, eax
jbe 0x4f63a6
push str.Stop_downloading__wait_while_the_Start_btn_will_be_pressed_n
mov ecx, esi
call fcn.0051c2e0
mov ecx, esi
call fcn.004f6c40
lea ecx, [esi + 0x48]
call fcn.004e8970
mov dword [esi + 0x38], 1
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
test bl, bl
je 0x4f65d0
mov ecx, dword [esi + 0x124]
mov eax, dword [esi + 0x120]
test ecx, ecx
jl 0x4f65d0
jg 0x4f63cf
cmp eax, 0x400
jbe 0x4f65d0
mov eax, dword [0x63e1b8]
mov ebx, dword [0x63e1bc]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x34], eax
push ecx
call fcn.0054f68f
mov eax, dword [esi + 0x120]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [esi + 0x124]
mov edx, dword [ebp - 0x28]
add esp, 4
sub eax, edi
sbb ecx, edx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
js 0x4f65d0
jg 0x4f6418
test eax, eax
jbe 0x4f65d0
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xa4]
sub eax, edx
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x94]
and edx, 0xffff
lea eax, [eax + eax*4]
and ecx, 0xffff
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
sub eax, edx
add eax, ecx
mov dword [ebp - 0x14], eax
jne 0x4f645a
mov dword [ebp - 0x14], 1
fild qword [ebp - 0x7c]
fmul dword [0x5b92c0]
fidiv dword [ebp - 0x14]
call fcn.0054e504
mov edi, edx
mov ecx, eax
cmp edi, ebx
jl 0x4f65d0
jg 0x4f6482
cmp ecx, dword [ebp - 0x34]
jbe 0x4f65d0
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.00550840
mov ecx, dword [ebp - 0x34]
push ebx
push ecx
push edx
push eax
call fcn.0054fd30
mov edi, eax
mov eax, dword [esi + 0x128]
cdq
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x34]
push 0
push 2
push ebx
push edx
mov dword [ebp - 0x1c], eax
call fcn.0054fd30
cmp dword [ebp - 0x18], edx
jg 0x4f64e0
jl 0x4f64cb
cmp dword [ebp - 0x1c], eax
jae 0x4f64e0
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov edi, edx
jmp 0x4f650e
mov ecx, dword [ebp - 0x34]
push 0
push 9
push ebx
push ecx
call fcn.00550840
push 0
push 0xa
push edx
push eax
call fcn.0054fd30
cmp dword [ebp - 0x18], edx
jg 0x4f650e
jl 0x4f6505
cmp dword [ebp - 0x1c], eax
jae 0x4f650e
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov edi, eax
cmp edi, 0x2ee0
jle 0x4f651d
mov edi, 0x2ee0
jmp 0x4f6525
test edi, edi
jle 0x4f65d0
mov eax, dword [esi + 0x7e0]
cmp eax, 0xffffffff
je 0x4f65c9
lea ecx, [esi + 0x1b0]
lea ebx, [esi + 0x5b8]
mov dword [esi + 0x3b4], 0
mov dword [ecx], 0
mov dword [ebx], 0
mov dword [esi + 0x1b4], eax
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
mov eax, dword [ebx]
cmp eax, 0x80
jae 0x4f657c
mov edx, dword [esi + 0x7e0]
mov dword [esi + eax*4 + 0x5bc], 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*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 3
sub edi, edx
lea edx, [ebp - 0x84]
push edx
push ebx
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
mov dword [ebp - 0x80], eax
lea eax, [esi + 0x3b4]
push eax
push ecx
push 0
call sub.WSOCK32.dll_select
jmp 0x4f65d0
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.004f67c0
mov edi, eax
mov ecx, esi
test edi, edi
jne 0x4f65f2
call fcn.004f6db0
mov ecx, esi
call fcn.0051d0b0
xor edi, edi
jmp 0x4f5fbf
call fcn.004f6c40
mov eax, dword [esi + 0x38]
test eax, eax
je 0x4f661c
lea ecx, [esi + 0x48]
call fcn.004e8970
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
jne 0x4f6647
mov esi, dword [esi + 0xd8]
test esi, esi
mov eax, esi
jne 0x4f67a5
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
cmp edi, 0xffffffff
je 0x4f67a2
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0x120]
mov edx, dword [0x63f30c]
push eax
push ecx
lea eax, [ebp - 0x13c]
push edx
push eax
call fcn.0054ea2a
add esp, 0x10
lea ecx, [ebp - 0x13c]
push 1
push ecx
mov ecx, esi
call fcn.0051c1c0
xor edi, edi
cmp edi, dword [esi + 0x104]
jge 0x4f6724
lea edx, [edi + edi*8]
mov ecx, dword [esi + 0x1ac]
lea eax, [edi + edx*2]
lea eax, [eax + eax*2]
shl eax, 8
add eax, ecx
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x4f671e
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x20], ecx
mov edx, dword [ecx]
cmp dword [edx], 0
je 0x4f671e
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, ecx
or ebx, edx
je 0x4f671e
mov dword [ebp - 0x60], ecx
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x5c], edx
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x58], ecx
mov ecx, dword [eax + 0x20]
mov ebx, dword [eax + 0x58]
mov dword [ebp - 0x54], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x50], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x4c], edx
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x48], ecx
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x44], edx
mov edx, dword [eax + 0x34]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x3c], edx
lea eax, [ebp - 0x68]
mov edx, dword [ecx]
push eax
push 0x13ef
push 0x111
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
inc edi
jmp 0x4f6686
mov ecx, dword [esi + 0x124]
mov edx, dword [esi + 0x120]
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0x18], ecx
mov ecx, dword [esi + 0x118]
mov dword [ebp - 0x1c], edx
cmp edx, ecx
jne 0x4f674d
mov edx, dword [ebp - 0x18]
cmp edx, eax
je 0x4f6775
mov edx, ecx
or edx, eax
je 0x4f6775
cmp dword [ebp - 0x18], eax
jl 0x4f67a2
jg 0x4f675f
cmp dword [ebp - 0x1c], ecx
jbe 0x4f67a2
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
mov ecx, esi
call fcn.0051d0b0
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
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