Function at 0x563cc0
Capabilities:
Clear file content
Get socket status
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60caa8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1b8
push ebx
push esi
mov esi, ecx
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x8c], esi
mov dword [ebp - 4], ebx
cmp dword [ecx + 0x2e0], 4
jne 0x563d41
mov dword [esi + 0x48], ebx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x2d8]
cmp ecx, ebx
je 0x563e53
mov eax, dword [ecx + 0x8bc]
cmp eax, ebx
je 0x563d29
cmp eax, 2
je 0x563d29
cmp eax, 4
jne 0x563e53
cmp dword [ecx + 0x8c0], ebx
jne 0x563e53
push 1
call fcn.00593810
jmp 0x563e53
mov eax, dword [esi + 0x1c8]
mov edx, dword [esi + 0x1cc]
or eax, edx
jne 0x563e53
mov al, byte [esi + 0x86c]
test al, al
jne 0x563e53
mov edx, dword [esi + 0x1b4]
mov eax, 1
cmp edx, eax
jle 0x563e53
mov dl, byte [ecx + 0x14f]
test dl, dl
je 0x563e53
cmp dword [ecx + 0x2e8], ebx
jne 0x563e53
mov ecx, dword [esi + 0x258]
mov dword [ecx + 0x34c4], eax
mov edx, dword [esi + 0x258]
mov dword [edx + 0x34a8], ebx
mov dword [edx + 0x34ac], ebx
mov eax, dword [esi + 0x258]
mov dword [eax + 0x3490], ebx
mov dword [eax + 0x3494], ebx
mov ecx, dword [esi + 0x258]
mov byte [ecx + 0x6627], 1
mov eax, dword [esi + 0x258]
mov edx, dword [eax + 0x3440]
lea ecx, [eax + 0x3440]
add eax, 0x6618
push eax
call dword [edx + 0x14]
mov eax, dword [esi + 0x460]
cmp eax, 0x80
jae 0x563e15
mov ecx, dword [esi + 0x258]
mov edx, dword [ecx + 0x6618]
mov dword [esi + eax*4 + 0x464], edx
mov eax, dword [esi + 0x460]
inc eax
mov dword [esi + 0x460], eax
mov eax, dword [esi + 0x664]
cmp eax, 0x80
jae 0x563e42
mov ecx, dword [esi + 0x258]
mov edx, dword [ecx + 0x6618]
mov dword [esi + eax*4 + 0x668], edx
mov eax, dword [esi + 0x664]
inc eax
mov dword [esi + 0x664], eax
mov eax, 2
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x2e8], ebx
je 0x563e72
mov cl, byte [eax + 0x2ec]
test cl, cl
je 0x563e72
mov dword [eax + 0xb0], 1
mov eax, dword [0x6d21c0]
push 1
push eax
mov ecx, esi
call fcn.0058a530
mov ecx, esi
call fcn.0058afe0
mov ecx, esi
call fcn.0058b950
mov eax, dword [esi + 0x1c4]
mov ecx, dword [esi + 0x1d0]
mov edx, dword [esi + 0x1d4]
add eax, 0xfffffffb
mov dword [ebp - 0x6c], ecx
mov ecx, esi
mov dword [esi + 0x1c4], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x68], edx
call fcn.0058a7e0
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x7c], 3
push eax
mov dword [ebp - 0x78], ebx
call fcn.005c8c6c
lea ecx, [ebp - 0x88]
push ecx
call fcn.005c8c6c
add esp, 8
xor edi, edi
xor edx, edx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x15], 1
xor eax, eax
cmp eax, dword [esi + 0x1b8]
jge 0x563f4b
lea ecx, [eax + eax*2]
mov ebx, dword [esi + 0x258]
lea ecx, [eax + ecx*4]
shl ecx, 4
add ecx, eax
shl ecx, 6
add ecx, ebx
mov ebx, dword [ecx + 0x84]
test ebx, ebx
je 0x563f46
mov ebx, dword [ecx + 0x384]
inc edx
test ebx, ebx
jg 0x563f45
mov ebx, dword [ecx + 0xb0]
cmp dword [ebx + 0x24], 2
jne 0x563f46
mov ebx, dword [ecx + 0x3434]
test ebx, ebx
ja 0x563f45
mov bl, byte [ecx + 0x3438]
test bl, bl
je 0x563f46
inc edi
inc eax
xor ebx, ebx
jmp 0x563ef2
cmp edi, 1
jne 0x563f5b
cmp edx, edi
jne 0x563f5b
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x7c], edi
cmp dword [esi + 0x38], ebx
je 0x563fbe
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
mov ecx, esi
call fcn.0058a3c0
test al, al
mov byte [ebp - 0x1c], al
je 0x563fed
lea ecx, [ebp - 0xb8]
push ecx
call fcn.005c8c6c
mov edx, dword [esi + 0x1d0]
mov eax, dword [esi + 0x1d4]
add esp, 4
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
xor edi, edi
xor ecx, ecx
cmp ecx, dword [esi + 0x1b8]
jge 0x56405c
lea edx, [ecx + ecx*2]
lea eax, [ecx + edx*4]
mov edx, dword [esi + 0x258]
shl eax, 4
add eax, ecx
shl eax, 6
add eax, edx
cmp dword [eax + 0x84], ebx
je 0x56408e
cmp dword [eax + 0x8c], 6
jne 0x56408e
cmp dword [eax + 0x384], ebx
jg 0x564057
mov edx, dword [eax + 0xb4]
cmp edx, ebx
je 0x564037
mov edx, dword [edx + 0x10]
jmp 0x564040
mov edx, dword [eax + 0xb0]
mov edx, dword [edx + 0x24]
cmp edx, 2
jne 0x56408e
cmp dword [eax + 0x3434], ebx
ja 0x564057
mov dl, byte [eax + 0x3438]
test dl, dl
je 0x56408e
mov edi, 1
mov al, byte [ebp - 0x15]
xor bl, bl
test al, al
je 0x564094
test edi, edi
jne 0x5640a4
lea eax, [ebp - 0x7c]
lea ecx, [esi + 0x664]
push eax
lea edx, [esi + 0x460]
push ecx
lea eax, [esi + 0x25c]
push edx
push eax
push edi
call sub.WS2_32.dll_select
mov edi, eax
mov bl, 1
jmp 0x5640a4
inc ecx
jmp 0x563ff1
mov edi, 1
mov dword [ebp - 0x7c], 3
mov byte [ebp - 0x15], 1
mov eax, dword [esi + 0x38]
test eax, eax
je 0x5640c9
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 0x564114
lea ecx, [ebp - 0x88]
push ecx
call fcn.005c8c6c
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xc4]
sub edx, ecx
add esp, 4
cmp edx, 0x12c
jle 0x564114
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
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d4]
cmp edi, 0xffffffff
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
je 0x5641dd
test edi, edi
je 0x5641dd
xor edi, edi
cmp edi, dword [esi + 0x1b8]
jge 0x5641e4
lea edx, [edi + edi*2]
mov ecx, dword [esi + 0x258]
lea eax, [edi + edx*4]
shl eax, 4
add eax, edi
shl eax, 6
add ecx, eax
mov eax, dword [ecx + 0x84]
test eax, eax
je 0x5641d7
mov eax, dword [esi + 0x38]
test eax, eax
je 0x56418a
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
test bl, bl
jne 0x5641d2
cmp dword [ecx + 0x8c], 6
jne 0x5641d7
mov eax, dword [ecx + 0x384]
test eax, eax
jg 0x5641d2
mov eax, dword [ecx + 0xb4]
test eax, eax
je 0x5641b0
mov eax, dword [eax + 0x10]
jmp 0x5641b9
mov edx, dword [ecx + 0xb0]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x5641d7
mov eax, dword [ecx + 0x3434]
test eax, eax
ja 0x5641d2
mov al, byte [ecx + 0x3438]
test al, al
je 0x5641d7
call fcn.00559060
inc edi
jmp 0x564139
mov ecx, esi
call fcn.00565680
mov eax, dword [ebp - 0x1c]
mov ecx, esi
push eax
push 0
call fcn.0058a8b0
lea ecx, [ebp - 0x98]
push ecx
call fcn.005c8c6c
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x88]
mov eax, ecx
add esp, 4
sub eax, edx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x84]
shl edx, 3
and eax, 0xffff
sub edx, eax
mov eax, dword [ebp - 0x94]
mov edi, eax
and edi, 0xffff
add edx, edi
cmp edx, 0xfa
jl 0x5642d6
lea ecx, [ebp - 0x88]
push ecx
call fcn.005c8c6c
add esp, 4
xor ebx, ebx
cmp ebx, dword [esi + 0x1b8]
jge 0x5642ca
lea edx, [ebx + ebx*2]
mov ecx, dword [esi + 0x258]
lea eax, [ebx + edx*4]
shl eax, 4
add eax, ebx
shl eax, 6
lea edi, [eax + ecx]
mov eax, dword [eax + ecx + 0x84]
test eax, eax
je 0x5642c7
mov edx, dword [edi + 0xa0]
mov eax, dword [edx]
cmp dword [eax], 0
je 0x5642c7
mov ecx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
or ecx, eax
je 0x5642c7
lea eax, [edi + 0x3e0]
mov ecx, edi
push eax
call fcn.00539fe0
mov edx, dword [edi + 0xa0]
lea eax, [edi + 0x3e0]
push eax
push 0x13ef
mov eax, dword [edx]
push 0x111
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
inc ebx
jmp 0x564256
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
mov edx, dword [esi + 0x40]
test edx, edx
jne 0x564489
mov edi, dword [esi + 0x1d4]
mov ebx, dword [ebp - 0x68]
mov edx, dword [esi + 0x1d0]
cmp ebx, edi
jg 0x564489
jl 0x564303
cmp dword [ebp - 0x6c], edx
jae 0x564489
cmp dword [ebp - 0x4c], edx
jne 0x564489
cmp dword [ebp - 0x48], edi
jne 0x564489
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
lea ecx, [ecx + ecx*4]
or edx, edi
lea ecx, [ecx + ecx*4]
jne 0x56433c
lea ecx, [ecx + ecx*4]
and eax, 0xffff
lea eax, [eax + ecx*8]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp 0x564491
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0xc]
and eax, 0xffff
fld qword [ecx + 0x428]
fsqrt
lea eax, [eax + edx*8]
cdq
mov edi, eax
mov ebx, edx
fmul qword [0x63d0f0]
fadd qword [ecx + 0x418]
fcom qword [ecx + 0x438]
fnstsw ax
test ah, 1
je 0x564375
fstp qword [ebp - 0x74]
jmp 0x564389
mov eax, dword [ecx + 0x438]
mov edx, dword [ecx + 0x43c]
fstp st(0)
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
fld qword [ecx + 0x420]
fsqrt
fmul qword [0x63d0f0]
fadd qword [ecx + 0x410]
fcom qword [ecx + 0x430]
fnstsw ax
test ah, 1
jne 0x5643b2
fstp st(0)
fld qword [ecx + 0x430]
fld qword [ebp - 0x74]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5643c3
fstp st(0)
fld qword [ebp - 0x74]
fmul qword [0x63dc50]
fadd qword [0x63dc48]
call fcn.005c7778
mov ecx, dword [ebp - 0x24]
sub edi, ecx
mov ecx, dword [ebp - 0x20]
sbb ebx, ecx
cmp ebx, edx
jl 0x564491
jg 0x5643f0
cmp edi, eax
jbe 0x564491
xor edi, edi
mov ecx, esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
call fcn.0059c120
cmp eax, edi
je 0x564491
cmp dword [esi + 0x38], edi
je 0x564422
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 + 0x258]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [esi + 0x258]
call fcn.0055e040
mov ecx, dword [esi + 0x258]
mov edx, dword [ecx]
lea eax, [ecx + 0x31d8]
push eax
call dword [edx + 0x14]
cmp eax, edi
jne 0x5653bc
mov ecx, dword [esi + 0x258]
push edi
call fcn.005526f0
cmp eax, edi
jne 0x5653bc
mov ecx, dword [esi + 0x1d0]
mov eax, dword [0x6d21c0]
mov edx, dword [esi + 0x1d4]
mov dword [ebp - 0x6c], ecx
push 1
push eax
mov ecx, esi
mov dword [ebp - 0x68], edx
call fcn.0058a530
jmp 0x564491
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0xb0], 2
jne 0x5648c4
mov edi, dword [esi + 0x1cc]
mov edx, dword [esi + 0x1c8]
mov eax, edi
test eax, eax
jl 0x5644cf
jg 0x5644ba
cmp edx, 0x32
jbe 0x5644cf
mov eax, dword [esi + 0x258]
mov ebx, dword [eax + 0x74]
test ebx, ebx
jl 0x5644f0
jg 0x5644cf
cmp dword [eax + 0x70], 0x32
jb 0x5644f0
test edi, edi
jg 0x56451a
jl 0x5644da
cmp edx, 0x32
ja 0x56451a
mov eax, dword [esi + 0x258]
mov ebx, dword [eax + 0x74]
cmp ebx, edi
jg 0x56451a
jl 0x5644f0
mov edi, dword [eax + 0x70]
cmp edi, edx
jae 0x56451a
mov dl, byte [eax + 0xc8]
test dl, dl
je 0x5648c4
mov edx, dword [eax + 0x48]
mov edi, dword [eax + 0x4c]
or edx, edi
jne 0x5648c4
mov dl, byte [eax + 0xc9]
test dl, dl
je 0x5648c4
mov al, byte [esi + 0x86e]
push eax
call fcn.005a5560
mov cl, byte [0x6d125c]
mov dword [ebp - 0x14], eax
test cl, cl
jne 0x564540
mov ecx, dword [esi + 0xc]
mov dl, byte [ecx + 0x309]
test dl, dl
jne 0x56454e
mov cl, byte [esi + 0x86c]
test cl, cl
je 0x5645cf
mov edx, dword [esi + 0xc]
cmp dword [edx + 0xb0], 2
jne 0x564562
xor edi, edi
cmp eax, edi
je 0x5645d1
jmp 0x564564
xor edi, edi
mov ecx, dword [esi + 0x258]
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [esi + 0x48]
call fcn.0052cfe0
mov dword [esi + 0xe8], edi
mov dword [esi + 0xf0], edi
mov dword [esi + 0x1d0], edi
mov dword [esi + 0xec], edi
mov dword [esi + 0xf4], edi
mov dword [esi + 0x1d4], edi
mov al, byte [0x6d125c]
test al, al
jne 0x564eaa
mov ecx, dword [esi + 0xc]
mov al, byte [ecx + 0x309]
test al, al
je 0x564eaa
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
xor edi, edi
cmp dword [esi + 0xd8], edi
jle 0x564655
mov ebx, dword [esi + 0xc]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx + 0xcc]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x564655
mov ebx, dword [ebx + 0xbc]
test ebx, ebx
je 0x564613
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push edx
call fcn.005c9620
add esp, 0xc
test eax, eax
je 0x564655
mov edx, dword [esi + 0x14]
mov eax, dword [edx]
test eax, eax
je 0x564634
mov ecx, dword [esi + 0xd8]
push ecx
push 0x13f8
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 0x18]
mov eax, dword [edx]
test eax, eax
je 0x564655
mov ecx, dword [esi + 0xd8]
push ecx
push 0x13f8
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0xc]
xor bl, bl
mov ecx, dword [eax + 0x144]
test ch, 1
je 0x5646c9
mov edx, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d0]
test edx, edx
jg 0x5646c9
jl 0x56467f
cmp ecx, 0x7d1
jae 0x5646c9
mov edx, dword [eax]
push str.youtube.com
push edx
call fcn.005c7380
add esp, 8
test eax, eax
je 0x5646aa
mov eax, dword [esi + 0xc]
push str.googlevideo.com
mov ecx, dword [eax]
push ecx
call fcn.005c7380
add esp, 8
test eax, eax
jne 0x5646c9
mov ecx, dword [esi + 0x1cc]
mov eax, dword [esi + 0x1c8]
test ecx, ecx
jl 0x5646c7
jg 0x5646c3
cmp eax, 0x7d1
jb 0x5646c7
or eax, ecx
jne 0x5646c9
mov bl, 1
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x5648c4
test bl, bl
jne 0x5648c4
mov eax, dword [esi + 0x15c]
test eax, eax
jne 0x564867
mov al, byte [0x6d125c]
test al, al
jne 0x5647e5
mov eax, dword [esi + 0xc]
mov byte [ebp - 0x16], bl
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x564754
mov ebx, dword [eax + 0xe4]
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x564754
mov edi, edx
mov eax, ebx
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x564747
test cl, cl
je 0x564743
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x564747
add eax, 2
add edi, 2
test cl, cl
jne 0x56471f
xor eax, eax
jmp 0x56474c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x564754
mov byte [ebp - 0x16], 1
mov edi, dword [esi + 0x1cc]
mov edx, dword [esi + 0x1c8]
xor ebx, ebx
cmp edi, ebx
jl 0x56478d
jg 0x56476c
cmp edx, ebx
jbe 0x56478d
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xe8]
mov eax, dword [eax + 0xec]
cmp eax, ebx
jl 0x56478d
jg 0x564785
cmp ecx, ebx
jbe 0x56478d
cmp ecx, edx
jne 0x564794
cmp eax, edi
jne 0x564794
mov al, byte [ebp - 0x16]
test al, al
je 0x5647e5
mov eax, dword [esi + 0xc]
push 0x6d0ab8
lea ecx, [eax + 0xe4]
call fcn.005e3a42
mov eax, dword [esi + 0xc]
push 0x50040
mov dword [eax + 0xe8], ebx
mov dword [eax + 0xec], ebx
mov ecx, dword [esi + 0xc]
mov eax, dword [0x6d19c0]
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 eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x564867
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x5647fa
mov eax, ecx
jmp 0x5647fd
add eax, 0x38
push 0x2e
push eax
call fcn.005c71e2
mov edi, eax
add esp, 8
test edi, edi
je 0x564867
push 0x6a9c90
push edi
call fcn.005c996c
add esp, 8
test eax, eax
je 0x564867
push 0x6a83a4
push edi
call fcn.005c996c
add esp, 8
test eax, eax
je 0x564867
mov ecx, dword [esi + 0xc]
mov eax, dword [0x6d214c]
push 0x50004
mov edx, dword [ecx + 8]
push edx
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x564867
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 + 0xc]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x5648c4
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x56487c
mov eax, ecx
jmp 0x56487f
add eax, 0x38
push 0x2e
push eax
call fcn.005c71e2
mov edi, eax
add esp, 8
test edi, edi
je 0x5648c4
push 0x6a9c90
push edi
call fcn.005c996c
add esp, 8
test eax, eax
je 0x5648c4
push 0x6a83a4
push edi
call fcn.005c996c
add esp, 8
test eax, eax
je 0x5648c4
mov ecx, dword [esi + 0xc]
call fcn.005a5680
test eax, eax
jne 0x5653bc
mov al, byte [ebp - 0x1c]
test al, al
je 0x564af2
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d0]
test ecx, ecx
jl 0x564af2
jg 0x5648f0
cmp eax, 0x400
jbe 0x564af2
mov ecx, esi
call fcn.0058a380
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x5c], eax
push ecx
mov ebx, edx
call fcn.005c8c6c
mov eax, dword [esi + 0x1d0]
mov edi, dword [ebp - 0x64]
mov ecx, dword [esi + 0x1d4]
mov edx, dword [ebp - 0x60]
add esp, 4
sub eax, edi
sbb ecx, edx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
js 0x564af2
jg 0x56493d
test eax, eax
jbe 0x564af2
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb8]
sub eax, edx
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa8]
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 0x56497f
mov dword [ebp - 0x14], 1
fild qword [ebp - 0xa0]
fmul dword [0x61ef74]
fidiv dword [ebp - 0x14]
call fcn.005c7778
mov edi, edx
mov ecx, eax
cmp edi, ebx
jl 0x564af2
jg 0x5649aa
cmp ecx, dword [ebp - 0x5c]
jbe 0x564af2
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
sub ecx, edx
cdq
sbb edi, ebx
push edx
push eax
push edi
push ecx
call fcn.005c9b80
mov ecx, dword [ebp - 0x5c]
push ebx
push ecx
push edx
push eax
call fcn.005c91b0
mov edi, eax
mov eax, dword [esi + 0x1d8]
cdq
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x5c]
push 0
push 2
push ebx
push edx
mov dword [ebp - 0x54], eax
call fcn.005c91b0
cmp dword [ebp - 0x50], edx
jg 0x564a08
jl 0x5649f3
cmp dword [ebp - 0x54], eax
jae 0x564a08
mov eax, 0x66666667
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov edi, edx
jmp 0x564a36
mov ecx, dword [ebp - 0x5c]
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 - 0x50], edx
jg 0x564a36
jl 0x564a2d
cmp dword [ebp - 0x54], eax
jae 0x564a36
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov edi, eax
cmp edi, 0x2ee0
jle 0x564a45
mov edi, 0x2ee0
jmp 0x564a4d
test edi, edi
jle 0x564af2
mov eax, dword [esi + 0x868]
cmp eax, 0xffffffff
je 0x564aeb
lea ecx, [esi + 0x25c]
lea ebx, [esi + 0x664]
mov dword [esi + 0x460], 0
mov dword [ecx], 0
mov dword [ebx], 0
mov dword [esi + 0x260], eax
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
mov eax, dword [ebx]
cmp eax, 0x80
jae 0x564aa4
mov edx, dword [esi + 0x868]
mov dword [esi + eax*4 + 0x668], 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 - 0x30], 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 - 0x30]
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 - 0x2c], eax
lea eax, [esi + 0x460]
push eax
push ecx
push 0
call sub.WS2_32.dll_select
jmp 0x564af2
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.005653d0
mov ebx, eax
xor edi, edi
cmp ebx, edi
mov dword [ebp - 0x14], ebx
je 0x564ec0
cmp ebx, 1
jne 0x564ed5
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x2e8], edi
je 0x564ed5
mov al, byte [ecx + 0x2ec]
test al, al
je 0x564ed5
cmp dword [esi + 0x60], edi
jne 0x564ed5
mov eax, dword [0x6cc564]
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x14]
push edi
push edx
mov byte [ebp - 4], bl
call fcn.00566570
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x34]
push eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x34], edi
push edx
mov edx, dword [eax + 0x2e8]
lea ecx, [esi + 0x48]
push edx
call fcn.0052da70
cmp eax, edi
je 0x564bc2
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x2e8], 8
jne 0x564bdb
mov ecx, dword [esi + 0xd0]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esi + 0x258]
push edx
add ecx, 0x10
call fcn.0053e4c0
mov eax, dword [esi + 0x258]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, dword [esi + 0x258]
add ecx, 0x10
call fcn.0053e4a0
cmp dword [ebp - 0x34], edi
je 0x564c64
mov dword [esi + 0x160], 0x7582
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.005e38b9
mov ebx, 0x753c
mov dword [ebp - 0x14], ebx
jmp 0x564ed5
mov edx, dword [esi + 0xd0]
mov ecx, dword [esi + 0x258]
add ecx, 0x10
mov eax, dword [edx + 0x10]
push eax
call fcn.0053e4c0
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x44]
push ecx
mov ecx, dword [esi + 0x258]
push 0xd
push edx
add ecx, 0x10
mov dword [ebp - 0x28], edi
mov byte [ebp - 0x44], 0x46
mov byte [ebp - 0x43], 0x4c
mov byte [ebp - 0x42], 0x56
mov byte [ebp - 0x41], 1
mov byte [ebp - 0x40], 5
mov byte [ebp - 0x3f], 0
mov byte [ebp - 0x3e], 0
mov byte [ebp - 0x3d], 0
mov byte [ebp - 0x3c], 9
mov byte [ebp - 0x3b], 0
mov byte [ebp - 0x3a], 0
mov byte [ebp - 0x39], 0
mov byte [ebp - 0x38], 0
call fcn.0053eaa0
mov ebx, eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xd
je 0x564c4e
xor ebx, ebx
mov ecx, dword [esi + 0x258]
add ecx, 0x10
call fcn.0053e4a0
cmp ebx, edi
je 0x564bc2
mov ebx, 1
mov dword [esi + 0xe8], edi
push ebx
push edi
mov dword [esi + 0xf0], edi
push edi
mov ecx, esi
mov dword [esi + 0xec], edi
mov dword [esi + 0xf4], edi
call fcn.0058b2f0
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x2e8], 8
jne 0x564c9f
mov dword [esi + 0x1d0], edi
jmp 0x564ca9
mov dword [esi + 0x1d0], 0xd
mov edx, dword [esi]
push ebx
mov ecx, esi
mov dword [esi + 0x1d4], edi
call dword [edx + 0xc]
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x1b4]
mov eax, dword [eax + 0x10]
cmp eax, ecx
jl 0x564cc9
mov eax, ecx
cmp eax, edi
mov dword [esi + 0x1b8], eax
jne 0x564cd9
mov dword [esi + 0x1b8], ebx
mov al, byte [0x6d125c]
test al, al
jne 0x564cf3
mov ecx, dword [esi + 0xc]
mov al, byte [ecx + 0x309]
test al, al
jne 0x564e24
mov al, byte [esi + 0x86c]
test al, al
jne 0x564e24
mov edx, dword [esi + 0x258]
push edi
push edi
push edi
push edx
lea ecx, [esi + 0x48]
call fcn.0052e990
mov eax, dword [esi + 0x258]
mov dword [eax + 0x84], ebx
mov ecx, dword [esi + 0x258]
mov dword [ecx + 0x68], edi
mov dword [ecx + 0x6c], edi
mov edx, dword [esi + 0x258]
mov dword [edx + 0x50], edi
mov dword [edx + 0x54], edi
mov eax, dword [esi + 0x258]
mov dword [eax + 0x48], edi
mov dword [eax + 0x4c], edi
mov ecx, dword [esi + 0x258]
mov dword [ecx + 0x31f0], edi
mov dword [ecx + 0x31f4], edi
mov edx, dword [esi + 0x258]
mov dword [edx + 0x70], edi
mov dword [edx + 0x74], edi
mov ecx, dword [esi + 0x258]
mov eax, dword [ecx]
lea edx, [ecx + 0x31d8]
push edx
call dword [eax + 0x14]
mov eax, dword [esi + 0x258]
mov dword [esi + 0x25c], edi
mov dword [esi + 0x460], edi
mov dword [esi + 0x664], edi
mov ecx, dword [eax + 0x31d8]
mov dword [esi + 0x464], ecx
mov edx, dword [esi + 0x460]
mov eax, dword [esi + 0x664]
inc edx
cmp eax, 0x80
mov dword [esi + 0x460], edx
jae 0x564dd1
mov edx, dword [esi + 0x258]
mov ecx, dword [edx + 0x31d8]
mov dword [esi + eax*4 + 0x668], ecx
mov eax, dword [esi + 0x664]
inc eax
mov dword [esi + 0x664], eax
mov ecx, dword [esi + 0x868]
cmp ecx, 0xffffffff
je 0x564e24
mov eax, dword [esi + 0x25c]
cmp eax, 0x80
jae 0x564dfd
mov dword [esi + eax*4 + 0x260], ecx
mov eax, dword [esi + 0x25c]
inc eax
mov dword [esi + 0x25c], eax
mov eax, dword [esi + 0x664]
cmp eax, 0x80
jae 0x564e24
mov edx, dword [esi + 0x868]
mov dword [esi + eax*4 + 0x668], edx
mov eax, dword [esi + 0x664]
inc eax
mov dword [esi + 0x664], eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.005e38b9
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x348], edx
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x34c], eax
mov ecx, esi
call fcn.0058b120
mov al, byte [0x6d125c]
test al, al
jne 0x564e65
mov ecx, dword [esi + 0xc]
mov dl, byte [ecx + 0x309]
test dl, dl
jne 0x564e73
mov cl, byte [esi + 0x86c]
test cl, cl
je 0x564ec0
test al, al
jne 0x564e96
mov edx, dword [esi + 0xc]
mov al, byte [edx + 0x309]
test al, al
je 0x564e96
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 ecx, [esi + 0x48]
call fcn.0052cfe0
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x1d4], edi
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
mov ecx, esi
call fcn.005657c0
mov ecx, esi
call fcn.0058b980
xor ebx, ebx
jmp 0x563f5b
cmp dword [esi + 0x38], edi
je 0x564ef8
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 ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x144]
test ah, 1
je 0x565134
mov edx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d0]
cmp edx, edi
jg 0x565134
jl 0x564f2b
cmp eax, 0x7d1
jae 0x565134
mov eax, dword [ecx]
push str.youtube.com
push eax
call fcn.005c7380
add esp, 8
test eax, eax
je 0x564f5a
mov ecx, dword [esi + 0xc]
push str.googlevideo.com
mov edx, dword [ecx]
push edx
call fcn.005c7380
add esp, 8
test eax, eax
jne 0x565134
mov eax, dword [esi + 0x1d4]
mov edx, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1cc]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x1c8]
mov dword [ebp - 0x28], edi
cmp edx, eax
jne 0x564f85
mov ebx, dword [ebp - 0x2c]
mov edi, ecx
cmp ebx, edi
je 0x564f8d
or eax, ecx
jne 0x56512a
mov eax, dword [esi + 0x1d4]
mov ebx, edx
mov dword [ebp - 0x2c], eax
lea eax, [ebx + 1]
push eax
call fcn.005dfcbc
mov ecx, dword [esi + 0x258]
xor edi, edi
add esp, 4
mov dword [ecx + 0x31d0], eax
mov edx, dword [esi + 0x258]
cmp dword [edx + 0x31d0], edi
je 0x565131
mov eax, dword [esi + 0xd0]
push edi
push edi
push 3
mov ecx, dword [eax + 0x10]
push edi
push 1
push connect
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, edi
mov dword [ebp - 0x34], eax
je 0x565131
mov ecx, dword [esi + 0x258]
lea edx, [ebp - 0x1c]
push edi
mov dword [ebp - 0x1c], edi
push edx
mov edx, dword [ecx + 0x31d0]
push ebx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, edi
je 0x56509e
cmp dword [ebp - 0x1c], ebx
jne 0x56509e
mov eax, dword [esi + 0x258]
push 7
push 0x6a2054
mov ecx, dword [eax + 0x31d0]
mov byte [ecx + ebx], 0
mov edx, dword [esi + 0x258]
mov eax, dword [edx + 0x31d0]
push eax
call fcn.005c9620
add esp, 0xc
test eax, eax
je 0x56508c
mov ecx, dword [esi + 0x258]
push 8
push 0x6a2048
mov edx, dword [ecx + 0x31d0]
push edx
call fcn.005c9620
add esp, 0xc
test eax, eax
je 0x56508c
mov eax, dword [esi + 0x258]
mov eax, dword [eax + 0x31d0]
push eax
call fcn.005dfce5
mov ecx, dword [esi + 0x258]
add esp, 4
mov dword [ecx + 0x31d0], edi
jmp 0x56509e
mov ecx, dword [esi + 0x258]
call fcn.0054f2e0
mov dword [ebp - 0x28], 1
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x28], edi
je 0x565131
lea ebx, [esi + 0x48]
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x1a8], edi
mov ecx, ebx
mov dword [esi + 0x1d4], edi
mov dword [esi + 0x1ac], edi
call fcn.00534cb0
mov ecx, ebx
call fcn.0052cfe0
mov eax, dword [esi + 0x258]
mov dword [esi + 0xe8], edi
mov dword [esi + 0xf0], edi
mov dword [esi + 0xec], edi
mov dword [esi + 0xf4], edi
mov dword [eax + 0x50], edi
mov dword [eax + 0x54], edi
mov ecx, dword [esi + 0x258]
call fcn.0055e040
push 1
push edi
push edi
mov ecx, esi
call fcn.0058b2f0
mov eax, 0x7583
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x14]
xor edi, edi
jmp 0x565134
mov ebx, dword [ebp - 0x14]
cmp ebx, 0x753c
je 0x565145
cmp ebx, 0xffffffff
jne 0x5651d3
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x144]
test ch, 1
je 0x5652b5
cmp dword [eax + 0x30], edi
je 0x5652b5
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d4]
or eax, ecx
je 0x5652b5
mov ecx, dword [esi + 0x1cc]
mov eax, dword [esi + 0x1c8]
cmp ecx, edi
jl 0x5652b5
jg 0x565195
cmp eax, 0x40000000
jbe 0x5652b5
push str.Checking_flv_file_struct._n
mov ecx, esi
call fcn.0058a680
mov ecx, esi
call fcn.00563ab0
cmp eax, edi
je 0x5652b5
mov ecx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d0]
push 1
push ecx
push eax
mov ecx, esi
call fcn.0058b2f0
push str.DurationlastTimeStamp__seems_the_flv_file_is_comlete._n
mov ecx, esi
call fcn.0058a680
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d0]
mov edx, dword [0x6d21c4]
push eax
push ecx
lea eax, [ebp - 0x1c4]
push edx
push eax
call fcn.005c7c98
add esp, 0x10
lea ecx, [ebp - 0x1c4]
push 1
push ecx
mov ecx, esi
call fcn.0058a530
mov eax, dword [esi + 0x1d0]
mov edx, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1d4]
mov edi, dword [esi + 0x1cc]
cmp eax, edx
mov dword [ebp - 0x2c], ecx
jne 0x565233
mov ebx, dword [ebp - 0x2c]
mov ecx, edi
cmp ebx, ecx
je 0x565313
mov ecx, edx
or ecx, edi
je 0x565313
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0x1d4]
mov ecx, edi
mov ebx, dword [ebx + 0x31c]
mov dword [ebp - 0x48], eax
mov eax, edx
mov dword [ebp - 0x30], ebx
add eax, ebx
mov ebx, 0
adc ecx, ebx
cmp dword [ebp - 0x4c], eax
jne 0x565270
cmp dword [ebp - 0x48], ecx
je 0x565313
mov eax, edx
mov edx, dword [ebp - 0x30]
mov ecx, edi
add eax, edx
mov edx, dword [esi + 0x1d4]
adc ecx, ebx
cmp edx, ecx
jl 0x5653b9
jg 0x565297
cmp dword [esi + 0x1d0], eax
jbe 0x5653b9
lea ecx, [esi + 0x48]
call fcn.00535970
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, dword [esi + 0x1d4]
mov edx, dword [esi + 0x1d0]
mov eax, dword [0x6d21b8]
push ecx
push edx
lea ecx, [ebp - 0x1c4]
push eax
push ecx
call fcn.005c7c98
add esp, 0x10
lea edx, [ebp - 0x1c4]
mov ecx, esi
push 1
push edx
call fcn.0058a530
mov esi, dword [esi + 0x160]
cmp esi, edi
je 0x565300
cmp ebx, 0x753c
mov eax, esi
je 0x5653bc
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp ebx, dword [esi + 0x1b8]
jge 0x565389
lea edx, [ebx + ebx*2]
mov ecx, dword [esi + 0x258]
lea eax, [ebx + edx*4]
shl eax, 4
add eax, ebx
shl eax, 6
lea edi, [eax + ecx]
mov eax, dword [eax + ecx + 0x84]
test eax, eax
je 0x565386
mov edx, dword [edi + 0xa0]
mov eax, dword [edx]
cmp dword [eax], 0
je 0x565386
mov ecx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
or ecx, eax
je 0x565386
lea eax, [edi + 0x3e0]
mov ecx, edi
push eax
call fcn.00539fe0
mov edx, dword [edi + 0xa0]
lea eax, [edi + 0x3e0]
push eax
push 0x13ef
mov eax, dword [edx]
push 0x111
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
inc ebx
jmp 0x565315
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