Function at 0x58a720
Capabilities:
Delete registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65fc19
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x755898]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x5c], esi
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], 0xbb8
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x17b], 0
je 0x58a77f
cmp byte [eax + 0x347], 0
mov eax, 5
jne 0x58a784
mov eax, 0xf
lea ebx, [esi + 0x31f8]
mov edx, dword [esi]
push eax
mov eax, dword [ebx]
push eax
mov ecx, esi
mov edx, dword [edx + 0x1c]
call edx
mov edi, eax
mov dword [ebp - 0x24], edi
mov eax, dword [esi + 0x3200]
cmp dword [eax + 0x1c], 0
jne 0x58a991
cmp edi, 0x2751
je 0x58a7c0
cmp edi, 0x2743
jne 0x58a8ba
mov eax, dword [esi + 0xc0]
test dword [eax + 0x154], 0x2400000
jne 0x58a8ba
mov dword [ebp - 0x34], edi
mov dword [eax + 0x1ac], edi
mov eax, dword [esi + 0xc0]
xor ecx, ecx
cmp byte [eax + 0x17b], cl
sete cl
mov byte [eax + 0x17b], cl
mov edx, dword [esi]
push ebx
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov edx, dword [esi]
push 0x1e
mov eax, dword [ebx]
push eax
mov ecx, esi
mov edx, dword [edx + 0x1c]
call edx
mov edi, eax
mov dword [ebp - 0x24], edi
mov eax, dword [esi + 0x3200]
cmp dword [eax + 0x1c], 0
jne 0x58a991
cmp dword [ebp - 0x34], edi
jne 0x58a83f
mov eax, dword [esi + 0xc0]
xor ecx, ecx
cmp byte [eax + 0x17b], cl
sete cl
mov byte [eax + 0x17b], cl
test edi, edi
je 0x58a9ab
push edi
mov ecx, esi
call fcn.005604e0
test eax, eax
je 0x58a863
push edi
mov ecx, esi
call fcn.00560460
test eax, eax
je 0x58a943
mov ecx, esi
call fcn.00561260
test eax, eax
je 0x58a943
mov edx, dword [esi]
push ebx
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov edx, dword [esi]
push 0x1e
mov eax, dword [ebx]
push eax
mov ecx, esi
mov edx, dword [edx + 0x1c]
call edx
mov edi, eax
mov dword [ebp - 0x24], edi
mov eax, dword [esi + 0x3200]
cmp dword [eax + 0x1c], 0
jne 0x58a991
test edi, edi
je 0x58a9ab
push edi
mov ecx, esi
call fcn.005604e0
test eax, eax
je 0x58a863
mov eax, edi
jmp 0x58c977
cmp edi, 0x274c
jne 0x58a83f
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x17b], 0
je 0x58a847
test dword [eax + 0x154], 0x400000
jne 0x58a847
mov dword [eax + 0x1ac], edi
mov edx, dword [esi + 0xc0]
mov byte [edx + 0x17b], 0
mov eax, dword [esi]
push ebx
mov ecx, esi
mov edx, dword [eax + 0x18]
call edx
mov eax, dword [esi]
push 0x1e
mov ecx, dword [ebx]
push ecx
mov ecx, esi
mov edx, dword [eax + 0x1c]
call edx
mov edi, eax
mov dword [ebp - 0x24], edi
mov eax, dword [esi + 0x3200]
cmp dword [eax + 0x1c], 0
jne 0x58a991
cmp edi, 0x274c
jne 0x58a83f
mov eax, dword [esi + 0xc0]
mov byte [eax + 0x17b], 1
jmp 0x58a847
test edi, edi
je 0x58a9ab
mov dword [ebp - 0x58], 0
mov edi, edi
push edi
mov ecx, esi
call fcn.005604e0
test eax, eax
jne 0x58a9a3
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp eax, 5
jg 0x58a9a3
mov eax, dword [esi]
push ebx
mov ecx, esi
mov edx, dword [eax + 0x18]
call edx
mov eax, dword [esi]
push 0x1e
mov ecx, dword [ebx]
push ecx
mov ecx, esi
mov edx, dword [eax + 0x1c]
call edx
mov edi, eax
mov dword [ebp - 0x24], edi
mov eax, dword [esi + 0x3200]
cmp dword [eax + 0x1c], 0
je 0x58a950
lea ecx, [eax + 0x28]
call fcn.00558390
mov eax, 0x7540
jmp 0x58c977
test edi, edi
jne 0x58a8b3
mov dword [esi + 0x324c], 1
add dword [ebp - 0x28], 0x7d0
mov eax, dword [esi + 0x194]
test eax, eax
je 0x58aa2b
mov cl, byte [eax + 0x15c]
mov byte [ebp - 0x35], cl
test cl, cl
je 0x58aa2f
mov ecx, esi
call fcn.0057a170
mov edi, eax
mov dword [ebp - 0x24], edi
test edi, edi
je 0x58abc8
cmp edi, 0x7585
jne 0x58aabe
push str.Restart_type_002_n
mov ecx, esi
call fcn.00560320
mov ecx, esi
call fcn.0057bae0
mov eax, dword [esi]
push ebx
mov ecx, esi
mov edx, dword [eax + 0x18]
call edx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x58c977
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.0058a720
jmp 0x58c977
mov byte [ebp - 0x35], 0
test eax, eax
je 0x58abc8
cmp byte [eax + 0x137], 0
je 0x58abc8
mov ecx, dword [esi + 0x3478]
test ecx, ecx
je 0x58abc8
lea edx, [ecx + 0x3330]
push edx
mov eax, dword [ecx + 0x3384]
push eax
call fcn.005d9210
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x58c977
mov ecx, dword [esi + 0x3478]
push 1
lea edx, [ecx + 0x3340]
push edx
lea eax, [ecx + 0x3338]
push eax
mov edx, dword [esi + 0x194]
mov eax, dword [edx]
push eax
lea edx, [ecx + 0x3330]
push edx
mov eax, dword [ebx]
push eax
call fcn.005dc140
mov dword [ebp - 0x24], eax
test eax, eax
je 0x58abb6
cmp eax, 0x757e
jne 0x58c977
push str.Restart_type_005_n
jmp 0x58ab55
mov ecx, dword [esi + 0x194]
mov al, byte [ecx + 0x15d]
test al, al
jne 0x58ab1d
cmp edi, 0x7559
jne 0x58ab1d
cmp dword [ecx + 0x154], 5
jne 0x58ab1d
cmp byte [ecx + 0x15e], al
jne 0x58ab1d
cmp byte [ecx + 0x15f], al
jne 0x58ab1d
mov byte [ecx + 0x15e], 1
mov ecx, dword [esi + 0x194]
mov byte [ecx + 0x15f], 1
mov edx, dword [esi + 0x194]
mov dword [edx + 0x154], 4
push str.Restart_type_003_n
jmp 0x58a9f8
mov edx, dword [ecx + 0x154]
cmp edx, 5
jne 0x58ab88
cmp edi, 0x7580
jne 0x58ab88
cmp byte [ecx + 0x15e], 0
jne 0x58ab88
mov byte [ecx + 0x15e], 1
mov ecx, dword [esi + 0x194]
mov dword [ecx + 0x154], 4
push str.Restart_type_004_n
mov ecx, esi
call fcn.00560320
mov ecx, esi
call fcn.0057bae0
push ebx
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x58c977
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.0058a720
jmp 0x58c977
test al, al
jne 0x58abaf
cmp edx, 4
jne 0x58abaf
cmp byte [ecx + 0x15e], al
je 0x58abaf
cmp byte [ecx + 0x15f], al
je 0x58abaf
mov dword [ecx + 0x154], edx
mov edi, 0x7559
mov dword [ebp - 0x24], edi
mov eax, edi
jmp 0x58c977
mov ecx, dword [esi + 0x3478]
lea edx, [ecx + 0x3338]
push edx
call fcn.005d98d0
add dword [ebp - 0x28], 0x153
mov byte [ebp - 0x36], 1
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x58abe2
mov eax, dword [eax + 0x10]
jmp 0x58abeb
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0x24]
cmp eax, 2
jne 0x58ad28
mov byte [ebp - 0x36], 0
mov ecx, dword [esi + 0x194]
cmp dword [ecx], 0
je 0x58ac49
push 1
mov ecx, esi
call fcn.00587320
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x58c977
cmp dword [esi + 0x3254], 0xc8
je 0x58ac3f
mov edx, dword [esi + 0x323c]
push edx
mov ecx, dword [esi + 0xac]
call fcn.00569300
mov eax, 0x756d
jmp 0x58c977
mov dword [esi + 0x9c], 0x10
lea eax, [esi + 0x3330]
push eax
mov eax, dword [esi + 0x3384]
push eax
mov ecx, esi
call fcn.005d9210
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x58c977
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x58ac77
mov eax, dword [eax]
jmp 0x58ac7f
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx]
lea edi, [esi + 0x3338]
push 1
lea edx, [esi + 0x3340]
push edx
push edi
push eax
lea eax, [esi + 0x3330]
push eax
mov eax, dword [ebx]
push eax
mov ecx, esi
call fcn.005dc140
mov dword [ebp - 0x24], eax
mov ecx, esi
test eax, eax
je 0x58ad22
call fcn.0057bae0
cmp byte [esi + 0xdb], 0
jne 0x58ad09
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x168], 5
jne 0x58ad09
mov eax, dword [ebp - 0x24]
cmp eax, 0x80090304
jne 0x58ad0c
mov ecx, esi
call fcn.00561260
test eax, eax
je 0x58ad18
push str.Try_next_server_n
mov ecx, esi
call fcn.00560320
mov edx, dword [esi + 0xc0]
mov dword [edx + 0x168], 0
push str.Restart_type_006_n
mov ecx, esi
call fcn.00560320
jmp 0x58aa06
mov eax, dword [ebp - 0x24]
cmp eax, 0x757e
je 0x58acf8
jmp 0x58c977
mov eax, 0x80090304
jmp 0x58c977
push edi
call fcn.005d98d0
mov ecx, esi
cmp dword [ebp + 8], 0
je 0x58ad37
call fcn.005795c0
jmp 0x58ad40
mov edx, dword [esi]
push 0
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x58c977
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00586f60
mov edi, eax
mov dword [ebp - 0x24], edi
cmp edi, 0x757e
jne 0x58adfa
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x58ad76
mov eax, dword [eax + 0x10]
jmp 0x58ad7f
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x58ae91
mov edx, dword [esi + 0x322c]
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58ad93
sub eax, ebx
je 0x58add1
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax]
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x58adc8
test dl, dl
je 0x58adc4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x58adc8
add eax, 2
add ecx, 2
test dl, dl
jne 0x58ada8
xor eax, eax
jmp 0x58adcd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x58addb
cmp byte [ebp - 0x36], 0
je 0x58ae91
push str.Restart_type_007_n
mov ecx, esi
call fcn.00560320
mov ecx, esi
call fcn.0057bae0
lea eax, [esi + 0x31f8]
push eax
jmp 0x58ab64
cmp edi, 0x7586
jne 0x58ae29
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x58ae11
mov eax, dword [eax + 0x10]
jmp 0x58ae1a
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x58ae91
push str.Restart_type_007b_n
jmp 0x58a9f8
test edi, edi
jne 0x58ae91
cmp dword [esi + 0x3254], 0xce
jne 0x58ae91
mov eax, dword [esi + 0x3260]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58ae42
sub eax, edx
je 0x58ae91
mov eax, dword [esi + 0xc4]
test eax, eax
jne 0x58ae70
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx]
push edx
lea ecx, [ebp - 0x34]
call fcn.004030b0
mov byte [ebp - 4], 1
or dword [ebp - 0x50], 1
mov eax, dword [eax]
push str.sciencedirect.com
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
je 0x58ae91
cmp dword [esi + 0x31f4], 2
je 0x58ae91
mov bl, 1
jmp 0x58ae93
xor bl, bl
mov dword [ebp - 4], 0
test byte [ebp - 0x50], 1
je 0x58aeac
and dword [ebp - 0x50], 0xfffffffe
lea ecx, [ebp - 0x34]
call fcn.00402570
test bl, bl
je 0x58aeec
mov ecx, dword [esi + 0x3200]
test ecx, ecx
je 0x58aec3
mov eax, dword [ecx]
push 2
mov edx, dword [eax + 0xc]
call edx
mov dword [esi + 0x31f4], 2
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_11_n
mov ecx, esi
call fcn.00560320
lea eax, [esi + 0x31f8]
push eax
jmp 0x58ab64
cmp dword [esi + 0x3254], 0xc8
jne 0x58b041
mov edx, dword [esi + 0x58]
or edx, dword [esi + 0x5c]
jne 0x58b041
cmp dword [esi + 0x64], edx
jg 0x58b041
jl 0x58af1c
cmp dword [esi + 0x60], edx
ja 0x58b041
cmp byte [esi + 0x3205], 0
jne 0x58b041
mov eax, dword [esi + 0x3278]
mov ecx, dword [esi + 0x327c]
mov edx, eax
or edx, ecx
je 0x58b041
add eax, 1
adc ecx, 0
cmp eax, dword [esi + 0x3210]
jne 0x58b041
cmp ecx, dword [esi + 0x3214]
jne 0x58b041
mov edi, 0x7542
mov dword [ebp - 0x24], edi
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0x318]
cmp ecx, 0x40
je 0x58af82
cmp ecx, 0x80
jne 0x58b06b
mov ecx, dword [esi + 0x3200]
test ecx, ecx
je 0x58b06b
cmp byte [ecx + 0x251], 0
je 0x58b06b
cmp byte [ecx + 0x252], 0
jne 0x58b06b
mov byte [ecx + 0x252], 1
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str._tmp_dashinit
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
je 0x58b022
lea ecx, [ebp - 0x28]
call fcn.00402500
mov byte [ebp - 4], 2
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 8]
push edx
push 0x675ea0
lea eax, [ebp - 0x28]
push eax
call fcn.00402f70
add esp, 0xc
push 0x676974
push str._tmp_dashinit
lea ecx, [ebp - 0x28]
call fcn.00402c10
push 1
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, dword [esi + 0xc0]
call fcn.00426c00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_s020s1_n
mov ecx, esi
call fcn.00560320
lea eax, [esi + 0x31f8]
push eax
jmp 0x58ab64
test edi, edi
je 0x58b798
cmp edi, 0x7563
jne 0x58b058
mov eax, edi
jmp 0x58c977
cmp edi, 0x7581
jne 0x58af65
mov eax, edi
jmp 0x58c977
cmp byte [eax + 0x180], 0
jne 0x58b0bb
cmp dword [eax + 0x2fc], 0
jl 0x58b0bb
jg 0x58b088
cmp dword [eax + 0x2f8], 0
jbe 0x58b0bb
mov ebx, 0x100
test dword [eax + 0x154], ebx
je 0x58b0c0
mov byte [eax + 0x180], 1
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_s021s2_n
mov ecx, esi
call fcn.00560320
lea eax, [esi + 0x31f8]
push eax
jmp 0x58ab64
mov ebx, 0x100
cmp byte [eax + 0x1a2], 0
je 0x58b100
cmp byte [eax + 0x1a1], 0
jne 0x58b100
test dword [eax + 0x154], ebx
je 0x58b100
mov byte [eax + 0x1a1], 1
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_s021s3_n
mov ecx, esi
call fcn.00560320
lea eax, [esi + 0x31f8]
push eax
jmp 0x58ab64
cmp dword [eax + 0x320], 0
jne 0x58b2d9
test dword [eax + 0x154], ebx
je 0x58b2d9
test edi, edi
je 0x58b2d9
mov eax, dword [eax]
push str.youtube.com
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
jne 0x58b153
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push str.googlevideo.com
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
je 0x58b2d9
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str.sourceyt_otf
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
jne 0x58b18d
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
push str._sourceyt_otf
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
je 0x58b2d9
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 8]
push str.otf1
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
jne 0x58b1c7
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str._otf1
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
je 0x58b2d9
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
push 0x6ae960
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
jne 0x58b2d9
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 8]
push str._sq
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
jne 0x58b2d9
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_s020y_n
mov ecx, esi
call fcn.00560320
mov eax, dword [esi + 0xc0]
mov dword [eax + 0x320], 0x200
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x324], 1
mov eax, dword [esi + 0x3200]
test eax, eax
je 0x58b255
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x58b255
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005ccd30
lea ecx, [ebp - 0x28]
call fcn.00402500
mov byte [ebp - 4], 3
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 8]
push eax
push str._ssq0
lea ecx, [ebp - 0x28]
push ecx
call fcn.00402f70
add esp, 0xc
push 0
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [esi + 0xc0]
call fcn.00426c00
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x58b2b9
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov eax, ebx
jmp 0x58c977
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.0058a720
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov eax, esi
jmp 0x58c977
cmp edi, 0x7566
jne 0x58b455
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push str..dailymotion.com
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
jne 0x58b31d
mov eax, dword [esi + 0xc0]
mov eax, dword [eax]
push str..dmcdn.net
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
je 0x58b455
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
test eax, eax
je 0x58b455
test dword [ecx + 0x154], ebx
je 0x58b455
push 0x2e
push eax
call fcn.0061faa0
add esp, 8
test eax, eax
je 0x58b455
push 0x67ed00
push eax
call fcn.0061ee1e
add esp, 8
test eax, eax
jne 0x58b455
lea ecx, [ebp - 0x34]
call fcn.00402500
mov byte [ebp - 4], 4
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 8]
push edx
push 0x675ea0
lea eax, [ebp - 0x34]
push eax
call fcn.00402f70
push 0x2e
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0061faa0
add esp, 0x14
test eax, eax
je 0x58b449
mov byte [eax], 0
lea ecx, [ebp - 0x28]
call fcn.00402500
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x34]
push edx
push str._s.mnft
lea eax, [ebp - 0x28]
push eax
call fcn.00402f70
add esp, 0xc
push 0
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, dword [esi + 0xc0]
call fcn.00426c00
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_12_n
mov ecx, esi
call fcn.00560320
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x58b41d
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.00402570
mov eax, ebx
jmp 0x58c977
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.0058a720
mov esi, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.00402570
mov eax, esi
jmp 0x58c977
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.00402570
cmp dword [esi + 0x64], 0
jg 0x58b4ee
jl 0x58b46b
cmp dword [esi + 0x60], 0
ja 0x58b4ee
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x378]
lea ebx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58b480
sub eax, ebx
je 0x58b4ee
cmp byte [edx + 0x345], cl
jne 0x58b4ee
cmp edi, 0x7565
je 0x58b4bb
cmp edi, 0x7566
je 0x58b4bb
cmp edi, 0x7542
je 0x58b4bb
cmp edi, 0x756e
je 0x58b4bb
cmp edi, 0x755e
jne 0x58b4ee
mov byte [edx + 0x345], 1
mov edx, dword [esi + 0xc0]
mov byte [edx + 0x34d], 1
mov ecx, esi
call fcn.0057bae0
push str.Restart__type_18_n
mov ecx, esi
call fcn.00560320
lea eax, [esi + 0x31f8]
push eax
jmp 0x58ab64
lea ecx, [ebp - 0x30]
call fcn.00402500
mov byte [ebp - 4], 6
push 0
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [esi + 0xc0]
call fcn.0058fee0
mov eax, dword [ebp - 0x30]
push eax
call fcn.004adc80
add esp, 4
cmp edi, 0x7565
je 0x58b52b
cmp edi, 0x7542
jne 0x58b650
mov ecx, dword [esi + 0xc0]
cmp byte [ecx + 0x327], 0
jne 0x58b5e1
test al, al
je 0x58b5e1
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_14_n
mov ecx, esi
call fcn.00560320
cmp edi, 0x7542
jne 0x58b597
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x58b570
mov eax, dword [eax + 0x10]
jmp 0x58b579
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x58b597
mov eax, dword [esi + 0xc0]
cmp dword [eax + 0x168], 0
jne 0x58b597
mov dword [eax + 0x168], 1
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x58b9cf
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x327], 1
mov edx, dword [ebp + 8]
push edx
mov ecx, esi
call fcn.0058a720
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, esi
jmp 0x58c977
cmp edi, 0x7542
jne 0x58b650
cmp dword [ebp + 8], 0
jne 0x58b650
cmp dword [esi + 0x64], 0
jl 0x58b666
jg 0x58b5fd
cmp dword [esi + 0x60], 0
jbe 0x58b650
cmp dword [ecx + 0x300], 0
je 0x58b650
mov eax, dword [esi + 0x3200]
mov edx, dword [eax + 0xb8]
push edx
push 0
call fcn.005cc180
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_15_n
mov ecx, esi
call fcn.00560320
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x58b9cf
push eax
jmp 0x58b5c5
cmp dword [esi + 0x64], 0
jg 0x58b754
jl 0x58b666
cmp dword [esi + 0x60], 0
ja 0x58b754
cmp byte [esi + 0x3205], 0
jne 0x58b754
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33e], 0
je 0x58b754
cmp byte [eax + 0x340], 0
jne 0x58b754
cmp edi, 0x7565
je 0x58b6bf
cmp edi, 0x7566
je 0x58b6bf
cmp edi, 0x7542
je 0x58b6bf
cmp edi, 0x756e
je 0x58b6bf
cmp edi, 0x755e
jne 0x58b754
mov byte [esi + 0x3204], 1
mov byte [esi + 0x3205], 1
cmp byte [eax + 0x33e], 0
je 0x58b6dd
mov byte [eax + 0x340], 1
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_16_n
mov ecx, esi
call fcn.00560320
cmp edi, 0x7542
jne 0x58b72e
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x58b707
mov eax, dword [eax + 0x10]
jmp 0x58b710
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x58b72e
mov eax, dword [esi + 0xc0]
cmp dword [eax + 0x168], 0
jne 0x58b72e
mov dword [eax + 0x168], 1
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x58b9cf
mov ecx, dword [ebp + 8]
push ecx
jmp 0x58b5c5
mov ecx, dword [esi + 0x3218]
test ecx, ecx
je 0x58b7f0
call fcn.005a6970
test al, al
jne 0x58b7dd
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33f], 0
je 0x58b7dd
cmp byte [eax + 0x340], 0
jne 0x58b7dd
cmp byte [eax + 0x341], 0
jne 0x58b7dd
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
cmp dword [esi + 0x3218], 0
je 0x58bf6b
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
test eax, eax
jne 0x58b7c5
test edi, edi
je 0x58bf6b
test eax, eax
je 0x58ba2e
push str.text_html
push eax
call fcn.0061ee1e
add esp, 8
test eax, eax
sete bl
jmp 0x58ba30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, edi
jmp 0x58c977
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0x3f8]
lea ebx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x58b800
sub eax, ebx
je 0x58b85d
cmp byte [ecx + 0x34d], dl
jne 0x58b85d
mov byte [ecx + 0x34d], 1
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_26_n
mov ecx, esi
call fcn.00560320
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x58b74b
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, ebx
jmp 0x58c977
test dword [ecx + 0x154], 0x80000
je 0x58b8e0
mov ecx, dword [ecx + 0x18c]
push str.Firefox_
push ecx
call fcn.0061e9a0
add esp, 8
test eax, eax
jne 0x58b89f
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x18c]
push str.Chrome_
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
je 0x58b8e0
mov ecx, dword [esi + 0xc0]
add ecx, 0x18c
push 0x75aa0c
call fcn.004058f0
mov eax, dword [esi + 0xc0]
mov byte [eax + 0x345], 0
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x34b], 1
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_25_n
jmp 0x58b826
mov eax, dword [esi + 0x3220]
test eax, eax
jne 0x58b8ef
mov eax, 0x676974
push eax
lea ecx, [ebp - 0x28]
call fcn.004030b0
mov byte [ebp - 4], 7
push 0x676974
mov ecx, dword [esi + 0xc0]
call fcn.00452bd0
mov eax, dword [esi + 0x3200]
test eax, eax
je 0x58b926
push 0x676974
lea ecx, [eax + 0x184]
call fcn.0054e080
mov ecx, esi
call fcn.0057f120
mov edi, dword [esi + 0x3200]
test edi, edi
je 0x58ba0e
cmp byte [edi + 0x253], 0
jne 0x58ba0e
mov eax, dword [esi + 0x3220]
test eax, eax
je 0x58ba0e
mov ecx, eax
lea ebx, [ecx + 1]
jmp 0x58b960
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x58b960
sub ecx, ebx
je 0x58ba0e
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58b972
sub eax, edx
mov edx, eax
mov eax, dword [ebp - 0x28]
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58b983
sub eax, ebx
cmp edx, eax
je 0x58ba0e
mov byte [edi + 0x253], 1
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_23_n
mov ecx, esi
call fcn.00560320
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x58b9e2
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x28]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, ebx
jmp 0x58c977
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.0058a720
mov esi, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x28]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, esi
jmp 0x58c977
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x28]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, dword [ebp - 0x24]
jmp 0x58c977
xor bl, bl
mov ecx, dword [esi + 0x3218]
call fcn.005a6970
test al, al
jne 0x58bf6b
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33f], 0
je 0x58bf6b
cmp byte [eax + 0x340], 0
jne 0x58bf6b
cmp byte [eax + 0x341], 0
jne 0x58bf6b
test bl, bl
jne 0x58ba7c
test edi, edi
je 0x58bf6b
lea ecx, [ebp - 0x48]
call fcn.00402500
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c]
call fcn.00402500
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x44]
call fcn.00402500
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x34]
call fcn.00402500
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x30]
call fcn.00402500
mov byte [ebp - 4], 0xc
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x18], edi
xor eax, eax
mov word [ebp - 0x1c], ax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0x3c]
push edx
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x48]
push edx
mov ecx, dword [esi + 0x3218]
call fcn.005a6b30
test al, al
je 0x58bf23
mov eax, dword [esi + 0xc0]
mov byte [eax + 0x340], 1
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x33e], 1
mov edx, dword [esi + 0xc0]
mov byte [edx + 0x341], 1
mov ecx, dword [esi + 0x3218]
call fcn.005a6b20
mov eax, dword [esi + 0xc0]
mov ecx, dword [ebp - 0x54]
mov dword [eax + 0x24], ecx
mov eax, dword [esi + 0xc0]
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [esi + 0xc0]
call fcn.00452c50
mov ebx, eax
cmp ebx, edi
je 0x58bbab
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
call fcn.00401210
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x30]
call fcn.00402570
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x34]
call fcn.00402570
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x44]
call fcn.00402570
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00402570
mov eax, ebx
jmp 0x58c977
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [esi + 0xc0]
call fcn.00452cc0
mov ebx, eax
cmp ebx, edi
jne 0x58bb5c
push edi
mov edx, dword [ebp - 0x44]
push edx
mov ecx, dword [esi + 0xc0]
call fcn.00426c00
mov ebx, eax
cmp ebx, edi
jne 0x58bb5c
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [esi + 0xc0]
call fcn.00452bd0
push 0x676974
mov ecx, dword [esi + 0xc0]
add ecx, 0xc4
call fcn.0054e080
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x32d], 0
push 0x676974
mov ecx, dword [esi + 0xc0]
call fcn.00452b50
mov eax, dword [esi + 0x3200]
cmp eax, edi
je 0x58bc5c
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x58bc5c
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x47c], edi
jne 0x58bc40
push eax
call fcn.005cc020
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x47c]
cmp eax, edi
je 0x58bc5c
push str.Referer
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov ebx, dword [ebp - 0x20]
cmp ebx, edi
mov eax, ebx
jne 0x58bc68
lea eax, [ebp - 0x1c]
lea edx, [eax + 2]
jmp 0x58bc70
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x58bc70
sub eax, edx
sar eax, 1
je 0x58bce1
cmp ebx, edi
mov eax, ebx
jne 0x58bc8a
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005cb000
mov eax, dword [esi + 0x3200]
cmp eax, edi
je 0x58bce1
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x58bcb6
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005ccd00
mov eax, dword [esi + 0x3200]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x58bce1
mov eax, dword [eax + 0xb8]
push eax
push 0x13c9
push 0x111
mov ecx, dword [ecx]
push ecx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
call ebx
jmp 0x58bce7
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 0xc0]
mov byte [edx + 0x19e], 1
push 0x676974
mov ecx, dword [esi + 0xc0]
add ecx, 0x188
call fcn.0054e080
mov eax, dword [esi + 0xc0]
mov byte [eax + 0x184], 0
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x333], 0
mov byte [esi + 0xd8], 0
mov edx, dword [esi + 0xc0]
push edx
call fcn.00511220
add esp, 4
mov ecx, esi
call fcn.0057bdd0
cmp dword [esi + 0xbc], edi
jne 0x58bdd1
mov eax, dword [esi + 0xb0]
mov eax, dword [eax]
cmp dword [eax], edi
je 0x58bd69
push edi
push 0x1478
push 0x111
mov ecx, dword [eax]
push ecx
call ebx
mov eax, dword [esi + 0x3200]
cmp eax, edi
je 0x58bdd1
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x58bdd1
push edi
push edi
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005cf2c0
mov eax, dword [esi + 0x3200]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x58bdae
mov edx, dword [eax + 0xb8]
push edx
push 0x1395
push 0x111
mov eax, dword [ecx]
push eax
call ebx
mov eax, dword [esi + 0x3200]
mov ecx, dword [eax + 0x18]
cmp ecx, edi
je 0x58bdd1
mov edx, dword [eax + 0xb8]
push edx
push 0x1395
push 0x111
mov eax, dword [ecx]
push eax
call ebx
cmp dword [esi + 0x31f0], edi
je 0x58be05
mov byte [ebp - 4], 0xe
mov eax, dword [esi + 0x31f0]
push eax
call fcn.005f15b7
add esp, 4
mov dword [ebp - 4], 0xd
jmp 0x58be05
mov dword [esi + 0x31f0], 0
mov ecx, dword [esi + 0xc0]
call fcn.005c8c30
mov ecx, esi
call fcn.0057bae0
push str.Restart_type_17_n
mov ecx, esi
call fcn.00560320
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
test edi, edi
jne 0x58bed4
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.0058a720
mov edi, eax
test edi, edi
jne 0x58bed4
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x58bed4
push str.text_html
push eax
call fcn.0061ee1e
add esp, 8
test eax, eax
je 0x58bed4
mov eax, dword [esi + 0x3200]
test eax, eax
je 0x58bed4
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x58bed4
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x47c], edi
jne 0x58bea2
push eax
call fcn.005cc020
mov esi, dword [esi + 0xc0]
cmp dword [esi + 0x47c], 0
je 0x58bed4
mov dword [ebp - 0x28], 1
push 4
lea edx, [ebp - 0x28]
push edx
push 4
push 0
push str.noSyntRef
mov eax, dword [esi + 0x47c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
call fcn.00401210
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x30]
call fcn.00402570
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x34]
call fcn.00402570
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x44]
call fcn.00402570
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00402570
mov eax, edi
jmp 0x58c977
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
call fcn.00401210
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x30]
call fcn.00402570
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x34]
call fcn.00402570
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x44]
call fcn.00402570
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00402570
mov edx, dword [esi + 0x3254]
cmp edx, 0xc8
jne 0x58bf93
mov ecx, dword [esi + 0x58]
or ecx, dword [esi + 0x5c]
jne 0x58bf93
mov eax, dword [esi + 0x3210]
mov dword [esi + 0x58], eax
mov ecx, dword [esi + 0x3214]
mov dword [esi + 0x5c], ecx
cmp edx, 0xce
jne 0x58c087
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
jne 0x58bfd9
cmp dword [esi + 0x64], eax
jg 0x58bfd9
jl 0x58bfb3
cmp dword [esi + 0x60], eax
ja 0x58bfd9
mov eax, dword [esi + 0x3210]
mov ecx, dword [esi + 0x3214]
mov edi, eax
or edi, ecx
je 0x58bfd9
mov edi, dword [esi + 0x3278]
or edi, dword [esi + 0x327c]
jne 0x58bfd9
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ecx
cmp edx, 0xce
jne 0x58c087
mov ecx, dword [esi + 0x58]
or ecx, dword [esi + 0x5c]
jne 0x58c087
mov eax, dword [esi + 0x60]
mov edi, dword [esi + 0x64]
test edi, edi
jg 0x58c075
jl 0x58c001
test eax, eax
ja 0x58c031
mov ebx, dword [esi + 0x3278]
mov ecx, dword [esi + 0x327c]
mov edx, ebx
or edx, ecx
je 0x58c031
mov edx, dword [esi + 0x3210]
mov eax, dword [esi + 0x3214]
cmp ecx, eax
jg 0x58c031
jl 0x58c029
cmp ebx, edx
jae 0x58c031
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
jmp 0x58c087
test edi, edi
jg 0x58c075
jl 0x58c03d
cmp dword [esi + 0x60], 0
ja 0x58c075
mov edx, dword [esi + 0x3210]
mov ebx, dword [esi + 0x3214]
mov eax, edx
or eax, ebx
je 0x58c075
mov eax, edx
add eax, 1
mov ecx, ebx
adc ecx, 0
mov edi, dword [esi + 0x3278]
cmp edi, eax
jne 0x58c075
mov eax, dword [esi + 0x327c]
cmp eax, ecx
jne 0x58c075
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], ebx
jmp 0x58c087
mov ecx, dword [esi + 0x3278]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x327c]
mov dword [esi + 0x5c], edx
mov edx, dword [esi + 0x3254]
cmp edx, 0xc8
je 0x58c09d
cmp edx, 0xce
jne 0x58c0c1
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
jne 0x58c0c1
mov ecx, dword [esi + 0x3290]
mov eax, dword [esi + 0x3294]
test eax, eax
jl 0x58c0c1
jg 0x58c0bb
test ecx, ecx
jbe 0x58c0c1
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0xc0]
xor edi, edi
cmp dword [eax + 0x320], edi
je 0x58c10f
mov eax, dword [esi + 0x3200]
cmp eax, edi
je 0x58c10f
cmp dword [eax + 0x40], edi
je 0x58c10f
cmp edx, 0xc8
jne 0x58c109
mov ecx, dword [esi + 0x3210]
mov eax, dword [esi + 0x3214]
cmp eax, edi
jl 0x58c109
jg 0x58c0fe
cmp ecx, edi
jbe 0x58c109
sub ecx, 1
sbb eax, edi
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], eax
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov edi, dword [esi + 0x58]
mov eax, dword [esi + 0x5c]
mov ecx, edi
or ecx, eax
je 0x58c1f1
mov eax, dword [esi + 0x3200]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov ebx, ecx
or ebx, edx
je 0x58c1f1
cmp ecx, edi
jne 0x58c148
cmp edx, dword [esi + 0x5c]
je 0x58c1f1
mov edi, dword [eax + 0xc8]
or edi, dword [eax + 0xcc]
je 0x58c1f1
cmp byte [esi + 0x325c], 0
jne 0x58c755
cmp dword [esi + 0x3254], 0xce
jne 0x58c1a7
mov edi, dword [esi + 0x3278]
mov ebx, dword [esi + 0x327c]
sub ecx, 1
sbb edx, 0
cmp edi, ecx
jne 0x58c1a7
cmp ebx, edx
jne 0x58c1a7
mov edx, dword [esi + 0x3280]
or edx, dword [esi + 0x3284]
jne 0x58c1a7
mov dword [esi + 0x3280], edi
mov dword [esi + 0x3284], ebx
mov edi, dword [esi + 0x3280]
mov ecx, dword [esi + 0x3284]
mov edx, edi
or edx, ecx
je 0x58c48e
mov ebx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov dword [ebp - 0x3c], edx
mov ecx, ebx
sub ecx, 1
sbb edx, 0
cmp edi, ecx
jne 0x58c48e
cmp dword [esi + 0x3284], edx
jne 0x58c48e
mov dword [esi + 0x58], ebx
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x5c], eax
cmp byte [esi + 0x325c], 0
jne 0x58c755
mov eax, dword [esi + 0xc0]
mov edi, dword [eax + 0xbc]
xor ebx, ebx
cmp edi, ebx
je 0x58c729
mov eax, dword [eax + 0x114]
mov dword [ebp - 0x3c], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58c220
sub eax, edx
je 0x58c729
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58c234
sub eax, edx
je 0x58c729
mov dword [ebp - 0x60], 1
push 0x3b
mov edx, dword [ebp - 0x3c]
push edx
call fcn.0061e8e0
add esp, 8
test eax, eax
je 0x58c2b2
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0xbc]
push 0x3b
push eax
call fcn.0061e8e0
add esp, 8
test eax, eax
jne 0x58c2b2
mov edi, dword [esi + 0xc0]
mov ecx, dword [edi + 0xbc]
mov eax, ecx
lea edx, [eax + 1]
mov dword [ebp - 0x3c], edx
jmp 0x58c290
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x58c290
sub eax, dword [ebp - 0x3c]
mov edi, dword [edi + 0x114]
push eax
push ecx
push edi
call fcn.00624a3f
add esp, 0xc
test eax, eax
jne 0x58c2b2
mov dword [ebp - 0x60], ebx
mov edx, dword [esi + 0xc0]
mov edi, dword [edx + 0x114]
mov eax, edi
lea ecx, [eax + 1]
mov dword [ebp - 0x3c], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58c2c6
sub eax, dword [ebp - 0x3c]
push eax
mov edx, dword [edx + 0xbc]
push edx
push edi
call fcn.00624a3f
add esp, 0xc
test eax, eax
je 0x58c729
cmp dword [ebp - 0x60], ebx
je 0x58c729
mov byte [ebp - 0x29], 1
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0x114]
push 9
push str.text_html
push eax
call fcn.00621d6d
add esp, 0xc
test eax, eax
jne 0x58c33a
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00621d6d
add esp, 0xc
test eax, eax
je 0x58c33a
mov byte [ebp - 0x29], 0
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0x114]
push 0xa
push 0x67b5bc
push eax
call fcn.00621d6d
add esp, 0xc
test eax, eax
jne 0x58c37e
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00621d6d
add esp, 0xc
test eax, eax
je 0x58c37e
mov byte [ebp - 0x29], 0
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0x114]
push 0x15
push str.application_x_mpegURL
push eax
call fcn.00624a3f
add esp, 0xc
test eax, eax
jne 0x58c3f6
push 0x1d
push str.application_vnd.apple.mpegurl
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00624a3f
add esp, 0xc
test eax, eax
je 0x58c3dc
push str.video_MP2T
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.0061ee1e
add esp, 8
test eax, eax
jne 0x58c3f6
mov byte [ebp - 0x29], 0
push 0x676974
mov ecx, dword [esi + 0xc0]
add ecx, 0x114
call fcn.0054e080
push 9
push str.text_html
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
push eax
call fcn.00621d6d
add esp, 0xc
test eax, eax
je 0x58c68c
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx]
push str..youtube.com
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
jne 0x58c452
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push str..googlevideo.com
push eax
call fcn.0061e9a0
add esp, 8
test eax, eax
je 0x58c68c
mov eax, dword [esi + 0xc0]
mov edi, dword [eax + 8]
cmp edi, ebx
je 0x58c68c
mov ecx, 0xe
mov eax, str.videoplayback_
lea ecx, [ecx]
cmp ecx, 4
jb 0x58c5fd
mov edx, dword [edi]
cmp edx, dword [eax]
jne 0x58c68c
sub ecx, 4
add eax, 4
add edi, 4
jmp 0x58c470
cmp dword [esi + 0x3254], 0xce
jne 0x58c4e7
mov edi, dword [esi + 0x3298]
mov ecx, dword [esi + 0x329c]
mov edx, edi
or edx, ecx
je 0x58c4e7
mov ebx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov dword [ebp - 0x3c], edx
mov ecx, ebx
sub ecx, edi
sbb edx, dword [esi + 0x329c]
mov edi, dword [esi + 0x3210]
cmp edi, ecx
jne 0x58c4e7
mov ecx, dword [esi + 0x3214]
cmp ecx, edx
jne 0x58c4e7
mov dword [esi + 0x58], ebx
mov edx, dword [ebp - 0x3c]
mov dword [esi + 0x5c], edx
jmp 0x58c1f1
mov edx, dword [esi + 0xc0]
cmp dword [eax + 0x140], 0
je 0x58c514
cmp byte [edx + 0x343], 0
jne 0x58c508
cmp byte [edx + 0x17a], 0
je 0x58c514
mov byte [esi + 0x325c], 1
jmp 0x58c1f1
mov bl, byte [esi + 0x326a]
test bl, bl
je 0x58c552
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xd4]
mov edi, dword [esi + 0x3278]
cmp edi, ecx
jne 0x58c552
mov edi, dword [esi + 0x327c]
cmp edi, eax
jne 0x58c552
cmp dword [esi + 0x3254], 0xce
jne 0x58c552
mov dword [esi + 0x58], ecx
jmp 0x58c1ee
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x64]
test eax, eax
jg 0x58c5af
jl 0x58c562
test ecx, ecx
ja 0x58c5a5
cmp byte [esi + 0x3205], 0
jne 0x58c5a5
cmp byte [edx + 0x33e], 0
je 0x58c5a5
cmp byte [edx + 0x340], 0
jne 0x58c5a5
mov byte [esi + 0x3204], 1
mov byte [esi + 0x3205], 1
cmp byte [edx + 0x33e], 0
je 0x58c59b
mov byte [edx + 0x340], 1
push str.Restart_type_21a_n
jmp 0x58ade0
test eax, eax
jl 0x58c5ec
jg 0x58c5af
test ecx, ecx
jbe 0x58c5ec
cmp byte [esi + 0x320c], 0
jne 0x58c5ec
test bl, bl
jne 0x58c5ec
mov byte [esi + 0x326a], 1
mov dword [edx + 0x300], 1
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33e], bl
je 0x58c5e2
mov byte [eax + 0x340], 1
push str.Restart_type_21b_n
jmp 0x58ade0
mov ecx, esi
call fcn.0057bae0
mov eax, 0x757a
jmp 0x58c977
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x58c68c
mov dl, byte [eax + 1]
cmp dl, byte [edi + 1]
jne 0x58c68c
push 6
push str.video_
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.00621d6d
add esp, 0xc
test eax, eax
jne 0x58c66d
push 6
push str.audio_
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
push eax
call fcn.00621d6d
add esp, 0xc
test eax, eax
jne 0x58c66d
push str.application_octet_stream
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.0061ee1e
add esp, 8
test eax, eax
jne 0x58c68c
mov byte [ebp - 0x29], 0
push 0x676974
mov ecx, dword [esi + 0xc0]
add ecx, 0x114
call fcn.0054e080
jmp 0x58c729
cmp byte [ebp - 0x29], 0
je 0x58c729
mov ecx, dword [esi + 0x3200]
cmp dword [ecx + 0x140], ebx
je 0x58c6d3
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x343], 0
jne 0x58c6bc
cmp byte [eax + 0x17a], 0
je 0x58c6d3
mov eax, dword [ecx + 0xc8]
or eax, dword [ecx + 0xcc]
je 0x58c729
mov byte [esi + 0x325c], 1
jmp 0x58c729
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00621d6d
add esp, 0xc
test eax, eax
je 0x58c5ec
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov ecx, eax
or ecx, edx
je 0x58c5ec
mov ecx, dword [esi + 0xc0]
cmp eax, dword [ecx + 0x130]
jne 0x58c5ec
cmp edx, dword [ecx + 0x134]
jne 0x58c5ec
mov byte [ebp - 0x29], 0
cmp byte [esi + 0x325c], 0
jne 0x58c757
mov edx, dword [esi + 0x3224]
mov eax, edx
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58c740
sub eax, edi
je 0x58c757
push edx
mov ecx, esi
call fcn.0057a670
jmp 0x58c757
xor ebx, ebx
push 0x676974
lea ecx, [esi + 0x3224]
call fcn.0054e080
cmp byte [esi + 0x325c], 0
je 0x58c8cc
mov byte [esi + 0x325c], 0
lea ecx, [esi + 0x10]
call fcn.005693f0
mov eax, dword [esi + 0x3200]
cmp dword [eax + 0xb0], ebx
setne byte [ebp - 0x35]
lea ecx, [eax + 0x28]
call fcn.00559220
mov eax, dword [esi + 0x3200]
mov dword [eax + 0xc8], ebx
mov dword [eax + 0xcc], ebx
mov eax, dword [esi + 0x3200]
mov dword [eax + 0xd0], ebx
mov dword [eax + 0xd4], ebx
mov eax, dword [esi + 0x3200]
mov dword [eax + 0x1c0], ebx
mov dword [eax + 0x1c4], ebx
mov dword [esi + 0x3258], ebx
mov dword [esi + 0xa0], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x3210], ebx
mov dword [esi + 0x3214], ebx
mov dword [esi + 0x3270], ebx
mov dword [esi + 0x3274], ebx
mov dword [esi + 0x3278], ebx
mov dword [esi + 0x327c], ebx
mov dword [esi + 0x3280], ebx
mov dword [esi + 0x3284], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x3290], ebx
mov dword [esi + 0x3294], ebx
mov eax, dword [esi + 0x3200]
cmp eax, ebx
je 0x58c854
mov byte [eax + 0x871], 0
push str.Restart_type_008_n
mov ecx, esi
call fcn.00560320
mov ecx, esi
call fcn.0057bae0
mov edx, dword [esi]
lea eax, [esi + 0x31f8]
push eax
mov ecx, esi
mov edx, dword [edx + 0x18]
call edx
mov dword [ebp - 0x24], eax
cmp eax, ebx
jne 0x58c977
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.0058a720
mov edi, eax
mov dword [ebp - 0x24], edi
cmp edi, ebx
jne 0x58a8b3
cmp byte [ebp - 0x35], 0
je 0x58c8be
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0x30]
push edx
push esi
mov ecx, dword [esi + 0x3200]
add ecx, 0x28
call fcn.005593b0
mov edi, eax
mov dword [ebp - 0x24], edi
mov ecx, esi
call fcn.00560630
mov eax, edi
jmp 0x58c977
mov dword [esi + 0x9c], 6
mov dword [esi + 0xb8], ebx
push 1
mov eax, dword [0x75baa0]
push eax
mov ecx, esi
call fcn.00560b40
cmp dword [esi + 0xbc], ebx
jne 0x58c919
mov eax, dword [esi + 0x3200]
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x58c919
mov edx, dword [eax + 0xb8]
push edx
mov eax, dword [ebp - 0x28]
push eax
push 0x111
mov ecx, dword [ecx]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [ebp - 0x35], 0
je 0x58c956
mov esi, dword [esi + 0x194]
mov eax, 4
cmp dword [esi + 0x154], eax
jne 0x58c956
cmp byte [esi + 0x15e], 0
je 0x58c956
mov dword [ebp - 0x3c], eax
push eax
lea edx, [ebp - 0x3c]
push edx
push eax
push ebx
push str.SocksType
mov eax, dword [0x75abd8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
xor eax, eax
jmp 0x58c977
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0061d2ff
mov esp, ebp
pop ebp
ret 4