Function at 0x54a9a0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60bfc0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x100
push ebx
push esi
push edi
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
push eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x4c], 3
mov dword [ebp - 0x48], ebx
call fcn.005c8c6c
lea ecx, [ebp - 0x44]
push ecx
call fcn.005c8c6c
mov eax, dword [esi + 0x114]
add esp, 8
cmp eax, ebx
jne 0x54aa02
cmp dword [esi + 0x124], ebx
je 0x54aa12
cmp dword [esi + 0x174], ebx
je 0x54aa1b
cmp dword [esi + 0x178], ebx
je 0x54aa1b
mov dword [ebp - 0x20], 1
jmp 0x54aa1e
mov dword [ebp - 0x20], ebx
mov ecx, esi
call fcn.0058afe0
mov ecx, esi
call fcn.0058b950
mov ecx, esi
call fcn.0058a7e0
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov eax, dword [esi + 0x38]
mov ecx, esi
cmp eax, ebx
je 0x54aaa5
call fcn.0054b6f0
lea ecx, [esi + 0x48]
call fcn.00534cb0
mov edx, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
lea eax, [esi + 0x20]
mov dword [esi + 0x30], ebx
push eax
push 0x1471
mov dword [eax], edx
mov edx, dword [esi + 0x1d0]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x1d4]
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.0058a3c0
test al, al
mov byte [ebp - 0x24], al
je 0x54aacf
lea ecx, [ebp - 0x68]
push ecx
call fcn.005c8c6c
mov edx, dword [esi + 0x1d0]
mov eax, dword [esi + 0x1d4]
add esp, 4
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x4c]
lea edx, [esi + 0x668]
push ecx
lea eax, [esi + 0x464]
push edx
lea ecx, [esi + 0x260]
push eax
push ecx
push ebx
call sub.WS2_32.dll_select
mov edi, eax
mov eax, dword [esi + 0x38]
cmp eax, ebx
je 0x54ab1c
mov ecx, esi
call fcn.0054b6f0
lea ecx, [esi + 0x48]
call fcn.00534cb0
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 + 0x1d0]
mov ecx, dword [esi + 0x1d4]
or eax, ecx
jne 0x54ab60
lea edx, [ebp - 0x44]
push edx
call fcn.005c8c6c
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x8c]
sub eax, edx
add esp, 4
cmp eax, 0x12c
jle 0x54ab60
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 0x54abc6
cmp edi, ebx
je 0x54abc6
xor edi, edi
cmp edi, dword [esi + 0x1b8]
jge 0x54abff
mov eax, edi
shl eax, 5
sub eax, edi
lea ecx, [eax + eax*4]
lea edx, [edi + ecx*2]
mov ecx, dword [esi + 0x25c]
lea eax, [edi + edx*2]
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*8]
cmp dword [ecx + 0x84], ebx
je 0x54abc3
cmp dword [esi + 0x38], ebx
je 0x54abbe
lea ecx, [esi + 0x48]
call fcn.00534cb0
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.00546ca0
inc edi
jmp 0x54ab6b
xor edi, edi
cmp edi, dword [esi + 0x1b8]
jge 0x54abff
mov eax, edi
shl eax, 5
sub eax, edi
lea edx, [eax + eax*4]
lea eax, [edi + edx*2]
mov edx, dword [esi + 0x25c]
lea eax, [edi + eax*2]
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*8 + 0x84]
cmp eax, ebx
lea ecx, [edx + ecx*8]
je 0x54abfc
call fcn.00546410
inc edi
jmp 0x54abc8
mov eax, dword [ebp - 0x24]
mov ecx, esi
push eax
push ebx
call fcn.0058a8b0
lea ecx, [ebp - 0x80]
push ecx
call fcn.005c8c6c
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x44]
sub eax, ecx
mov ecx, dword [ebp - 0x7c]
and ecx, 0xffff
add esp, 4
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x40]
shl edx, 3
and eax, 0xffff
sub edx, eax
add edx, ecx
cmp edx, 0xfa
jl 0x54acd3
lea edx, [ebp - 0x44]
push edx
call fcn.005c8c6c
add esp, 4
xor ebx, ebx
cmp ebx, dword [esi + 0x1b8]
jge 0x54acd3
mov eax, ebx
shl eax, 5
sub eax, ebx
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*2]
lea eax, [ebx + ecx*2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x25c]
lea edi, [eax + edx*8]
mov eax, dword [eax + edx*8 + 0x84]
test eax, eax
je 0x54acd0
mov ecx, dword [edi + 0xa0]
mov edx, dword [ecx]
cmp dword [edx], 0
je 0x54acd0
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x6c]
or eax, ecx
je 0x54acd0
lea eax, [edi + 0x3e0]
mov ecx, edi
push eax
call fcn.00539fe0
mov ecx, dword [edi + 0xa0]
lea eax, [edi + 0x3e0]
push eax
push 0x13ef
mov edx, dword [ecx]
push 0x111
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
inc ebx
jmp 0x54ac5a
mov eax, dword [esi + 0x38]
test eax, eax
je 0x54acff
mov ecx, esi
call fcn.0054b6f0
lea ecx, [esi + 0x48]
call fcn.00534cb0
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 - 0x20]
test eax, eax
je 0x54ad97
mov eax, dword [esi + 0x1cc]
test eax, eax
jg 0x54ad2f
jl 0x54ad20
mov eax, dword [esi + 0x1c8]
test eax, eax
ja 0x54ad2f
mov ecx, dword [esi + 0x25c]
cmp dword [ecx + 0x8c], 6
jne 0x54ad97
mov eax, dword [esi + 0x174]
test eax, eax
je 0x54ad5c
mov eax, dword [esi + 0x178]
test eax, eax
je 0x54ad5c
mov edx, dword [esi + 0x17c]
push 0
push edx
push 0x1407
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x54ad7e
mov ecx, esi
call fcn.0054b6f0
lea ecx, [esi + 0x48]
call fcn.00534cb0
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 + 0x88c]
mov dword [ebp - 0x20], 0
mov dword [esi + 0x1b4], eax
mov dword [esi + 0x258], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax + 0x309]
test cl, cl
je 0x54adfb
mov al, byte [0x6d125c]
test al, al
jne 0x54adfb
mov eax, dword [esi + 0x1cc]
test eax, eax
jl 0x54adfb
jg 0x54adc3
mov eax, dword [esi + 0x1c8]
test eax, eax
jbe 0x54adfb
push str.Stop_downloading__wait_while_the_Start_btn_will_be_pressed_n
mov ecx, esi
call fcn.0058a680
mov ecx, esi
call fcn.0054b6f0
lea ecx, [esi + 0x48]
call fcn.00534cb0
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
mov al, byte [ebp - 0x24]
test al, al
je 0x54b011
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d0]
test ecx, ecx
jl 0x54b011
jg 0x54ae27
cmp eax, 0x400
jbe 0x54b011
mov ecx, esi
call fcn.0058a380
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x2c], eax
push ecx
mov ebx, edx
call fcn.005c8c6c
mov eax, dword [esi + 0x1d0]
mov edi, dword [ebp - 0x34]
mov ecx, dword [esi + 0x1d4]
mov edx, dword [ebp - 0x30]
add esp, 4
sub eax, edi
sbb ecx, edx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
js 0x54b011
jg 0x54ae6b
test eax, eax
jbe 0x54b011
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x68]
sub eax, edx
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x70]
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 - 0x1c], eax
jne 0x54aea1
mov dword [ebp - 0x1c], 1
fild qword [ebp - 0x5c]
fmul dword [0x61ef74]
fidiv dword [ebp - 0x1c]
call fcn.005c7778
mov edi, edx
mov ecx, eax
cmp edi, ebx
jl 0x54b011
jg 0x54aec9
cmp ecx, dword [ebp - 0x2c]
jbe 0x54b011
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
sub ecx, edx
cdq
sbb edi, ebx
push edx
push eax
push edi
push ecx
call fcn.005c9b80
mov ecx, dword [ebp - 0x2c]
push ebx
push ecx
push edx
push eax
call fcn.005c91b0
mov edi, eax
mov eax, dword [esi + 0x1d8]
cdq
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x2c]
push 0
push 2
push ebx
push edx
mov dword [ebp - 0x18], eax
call fcn.005c91b0
cmp dword [ebp - 0x14], edx
jg 0x54af27
jl 0x54af12
cmp dword [ebp - 0x18], eax
jae 0x54af27
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov edi, edx
jmp 0x54af55
mov ecx, dword [ebp - 0x2c]
push 0
push 9
push ebx
push ecx
call fcn.005c9b80
push 0
push 0xa
push edx
push eax
call fcn.005c91b0
cmp dword [ebp - 0x14], edx
jg 0x54af55
jl 0x54af4c
cmp dword [ebp - 0x18], eax
jae 0x54af55
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov edi, eax
cmp edi, 0x2ee0
jle 0x54af64
mov edi, 0x2ee0
jmp 0x54af6c
test edi, edi
jle 0x54b011
mov eax, dword [esi + 0x890]
cmp eax, 0xffffffff
je 0x54b00a
lea ecx, [esi + 0x260]
lea ebx, [esi + 0x668]
mov dword [esi + 0x464], 0
mov dword [ecx], 0
mov dword [ebx], 0
mov dword [esi + 0x264], eax
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
mov eax, dword [ebx]
cmp eax, 0x80
jae 0x54afc3
mov edx, dword [esi + 0x890]
mov dword [esi + eax*4 + 0x66c], 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 - 0x54], 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 - 0x54]
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 - 0x50], eax
lea eax, [esi + 0x464]
push eax
push ecx
push 0
call sub.WS2_32.dll_select
jmp 0x54b011
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.0054b1e0
mov edi, eax
mov ecx, esi
test edi, edi
jne 0x54b033
call fcn.0054b860
mov ecx, esi
call fcn.0058b980
xor ebx, ebx
jmp 0x54aa39
call fcn.0054b6f0
mov eax, dword [esi + 0x38]
test eax, eax
je 0x54b05d
lea ecx, [esi + 0x48]
call fcn.00534cb0
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 0x54b088
mov esi, dword [esi + 0x160]
test esi, esi
mov eax, esi
jne 0x54b1c1
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 0x54b1be
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d0]
mov edx, dword [0x6d21c4]
push eax
push ecx
lea eax, [ebp - 0x10c]
push edx
push eax
call fcn.005c7c98
add esp, 0x10
lea ecx, [ebp - 0x10c]
push 1
push ecx
mov ecx, esi
call fcn.0058a530
xor ebx, ebx
cmp ebx, dword [esi + 0x1b8]
jge 0x54b140
mov eax, ebx
shl eax, 5
sub eax, ebx
lea edx, [eax + eax*4]
lea eax, [ebx + edx*2]
mov edx, dword [esi + 0x25c]
lea eax, [ebx + eax*2]
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*8 + 0x84]
test eax, eax
lea edi, [edx + ecx*8]
je 0x54b13d
mov eax, dword [edi + 0xa0]
mov ecx, dword [eax]
cmp dword [ecx], 0
je 0x54b13d
mov edx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
or edx, eax
je 0x54b13d
lea eax, [edi + 0x3e0]
mov ecx, edi
push eax
call fcn.00539fe0
lea eax, [edi + 0x3e0]
push eax
mov eax, dword [edi + 0xa0]
push 0x13ef
push 0x111
mov ecx, dword [eax]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
inc ebx
jmp 0x54b0c7
mov edx, dword [esi + 0x1d0]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1c8]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x1cc]
cmp edx, ecx
mov dword [ebp - 0x18], edx
jne 0x54b169
mov edx, dword [ebp - 0x14]
cmp edx, eax
je 0x54b191
mov edx, ecx
or edx, eax
je 0x54b191
cmp dword [ebp - 0x14], eax
jl 0x54b1be
jg 0x54b17b
cmp dword [ebp - 0x18], ecx
jbe 0x54b1be
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.0058b980
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