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

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x74
push 0xffffffffffffffff
push 0x662b69
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x758898]
xor eax, ebp
mov dword [ebp + 0x70], 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 - 0x28], esi
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
mov dword [ebp + 0x1c], 0xbb8
mov eax, dword [esi + 0xc8]
cmp byte [eax + 0x18b], 0
je 0x58cac4
cmp byte [eax + 0x35b], 0
mov eax, 5
jne 0x58cac9
mov eax, 0xf
lea ebx, [esi + 0x3200]
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 + 0x20], edi
mov eax, dword [esi + 0x3208]
cmp dword [eax + 0x1c], 0
jne 0x58ccd4
cmp edi, 0x2751
je 0x58cb05
cmp edi, 0x2743
jne 0x58cbff
mov eax, dword [esi + 0xc8]
test dword [eax + 0x15c], 0x2400000
jne 0x58cbff
mov dword [ebp + 0x10], edi
mov dword [eax + 0x1bc], edi
mov eax, dword [esi + 0xc8]
xor ecx, ecx
cmp byte [eax + 0x18b], cl
sete cl
mov byte [eax + 0x18b], 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 + 0x20], edi
mov eax, dword [esi + 0x3208]
cmp dword [eax + 0x1c], 0
jne 0x58ccd4
cmp dword [ebp + 0x10], edi
jne 0x58cb84
mov eax, dword [esi + 0xc8]
xor ecx, ecx
cmp byte [eax + 0x18b], cl
sete cl
mov byte [eax + 0x18b], cl
test edi, edi
je 0x58ccee
push edi
mov ecx, esi
call fcn.00561ee0
test eax, eax
je 0x58cba8
push edi
mov ecx, esi
call fcn.00561e60
test eax, eax
je 0x58cc88
mov ecx, esi
call fcn.00562c70
test eax, eax
je 0x58cc88
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 + 0x20], edi
mov eax, dword [esi + 0x3208]
cmp dword [eax + 0x1c], 0
jne 0x58ccd4
test edi, edi
je 0x58ccee
push edi
mov ecx, esi
call fcn.00561ee0
test eax, eax
je 0x58cba8
mov eax, edi
jmp 0x58ed05
cmp edi, 0x274c
jne 0x58cb84
mov eax, dword [esi + 0xc8]
cmp byte [eax + 0x18b], 0
je 0x58cb8c
test dword [eax + 0x15c], 0x400000
jne 0x58cb8c
mov dword [eax + 0x1bc], edi
mov edx, dword [esi + 0xc8]
mov byte [edx + 0x18b], 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 + 0x20], edi
mov eax, dword [esi + 0x3208]
cmp dword [eax + 0x1c], 0
jne 0x58ccd4
cmp edi, 0x274c
jne 0x58cb84
mov eax, dword [esi + 0xc8]
mov byte [eax + 0x18b], 1
jmp 0x58cb8c
test edi, edi
je 0x58ccee
mov dword [ebp - 0x2c], 0
push edi
mov ecx, esi
call fcn.00561ee0
test eax, eax
jne 0x58cce6
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 5
jg 0x58cce6
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 + 0x20], edi
mov eax, dword [esi + 0x3208]
cmp dword [eax + 0x1c], 0
je 0x58cc93
lea ecx, [eax + 0x28]
call fcn.00559a80
mov eax, 0x7540
jmp 0x58ed05
test edi, edi
jne 0x58cbf8
mov dword [esi + 0x3254], 1
add dword [ebp + 0x1c], 0x7d0
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x58cd6e
mov cl, byte [eax + 0x15c]
mov byte [ebp + 0xf], cl
test cl, cl
je 0x58cd72
mov ecx, esi
call fcn.0057bd70
mov edi, eax
mov dword [ebp + 0x20], edi
test edi, edi
je 0x58cf0b
cmp edi, 0x7585
jne 0x58ce01
push str.Restart_type_002_n
mov ecx, esi
call fcn.00561d20
mov ecx, esi
call fcn.0057d6e0
mov eax, dword [esi]
push ebx
mov ecx, esi
mov edx, dword [eax + 0x18]
call edx
mov dword [ebp + 0x20], eax
test eax, eax
jne 0x58ed05
mov eax, dword [ebp + 0x7c]
push eax
mov ecx, esi
call fcn.0058ca60
jmp 0x58ed05
mov byte [ebp + 0xf], 0
test eax, eax
je 0x58cf0b
cmp byte [eax + 0x137], 0
je 0x58cf0b
mov ecx, dword [esi + 0x3480]
test ecx, ecx
je 0x58cf0b
lea edx, [ecx + 0x333c]
push edx
mov eax, dword [ecx + 0x3390]
push eax
call fcn.005dbfc0
mov dword [ebp + 0x20], eax
test eax, eax
jne 0x58ed05
mov ecx, dword [esi + 0x3480]
push 1
lea edx, [ecx + 0x334c]
push edx
lea eax, [ecx + 0x3344]
push eax
mov edx, dword [esi + 0x19c]
mov eax, dword [edx]
push eax
lea edx, [ecx + 0x333c]
push edx
mov eax, dword [ebx]
push eax
call fcn.005def60
mov dword [ebp + 0x20], eax
test eax, eax
je 0x58cef9
cmp eax, 0x757e
jne 0x58ed05
push str.Restart_type_005_n
jmp 0x58ce98
mov ecx, dword [esi + 0x19c]
mov al, byte [ecx + 0x15d]
test al, al
jne 0x58ce60
cmp edi, 0x7559
jne 0x58ce60
cmp dword [ecx + 0x154], 5
jne 0x58ce60
cmp byte [ecx + 0x15e], al
jne 0x58ce60
cmp byte [ecx + 0x15f], al
jne 0x58ce60
mov byte [ecx + 0x15e], 1
mov ecx, dword [esi + 0x19c]
mov byte [ecx + 0x15f], 1
mov edx, dword [esi + 0x19c]
mov dword [edx + 0x154], 4
push str.Restart_type_003_n
jmp 0x58cd3b
mov edx, dword [ecx + 0x154]
cmp edx, 5
jne 0x58cecb
cmp edi, 0x7580
jne 0x58cecb
cmp byte [ecx + 0x15e], 0
jne 0x58cecb
mov byte [ecx + 0x15e], 1
mov ecx, dword [esi + 0x19c]
mov dword [ecx + 0x154], 4
push str.Restart_type_004_n
mov ecx, esi
call fcn.00561d20
mov ecx, esi
call fcn.0057d6e0
push ebx
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov dword [ebp + 0x20], eax
test eax, eax
jne 0x58ed05
mov ecx, dword [ebp + 0x7c]
push ecx
mov ecx, esi
call fcn.0058ca60
jmp 0x58ed05
test al, al
jne 0x58cef2
cmp edx, 4
jne 0x58cef2
cmp byte [ecx + 0x15e], al
je 0x58cef2
cmp byte [ecx + 0x15f], al
je 0x58cef2
mov dword [ecx + 0x154], edx
mov edi, 0x7559
mov dword [ebp + 0x20], edi
mov eax, edi
jmp 0x58ed05
mov ecx, dword [esi + 0x3480]
lea edx, [ecx + 0x3344]
push edx
call fcn.005dc6a0
add dword [ebp + 0x1c], 0x153
mov byte [ebp + 0xe], 1
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x58cf25
mov eax, dword [eax + 0x10]
jmp 0x58cf2e
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 0x24]
cmp eax, 2
jne 0x58d06b
mov byte [ebp + 0xe], 0
mov ecx, dword [esi + 0x19c]
cmp dword [ecx], 0
je 0x58cf8c
push 1
mov ecx, esi
call fcn.00589590
mov dword [ebp + 0x20], eax
test eax, eax
jne 0x58ed05
cmp dword [esi + 0x325c], 0xc8
je 0x58cf82
mov edx, dword [esi + 0x3244]
push edx
mov ecx, dword [esi + 0xb4]
call fcn.0056ae20
mov eax, 0x756d
jmp 0x58ed05
mov dword [esi + 0xa4], 0x10
lea eax, [esi + 0x333c]
push eax
mov eax, dword [esi + 0x3390]
push eax
mov ecx, esi
call fcn.005dbfc0
mov dword [ebp + 0x20], eax
test eax, eax
jne 0x58ed05
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x58cfba
mov eax, dword [eax]
jmp 0x58cfc2
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx]
lea edi, [esi + 0x3344]
push 1
lea edx, [esi + 0x334c]
push edx
push edi
push eax
lea eax, [esi + 0x333c]
push eax
mov eax, dword [ebx]
push eax
mov ecx, esi
call fcn.005def60
mov dword [ebp + 0x20], eax
mov ecx, esi
test eax, eax
je 0x58d065
call fcn.0057d6e0
cmp byte [esi + 0xe3], 0
jne 0x58d04c
mov ecx, dword [esi + 0xc8]
cmp dword [ecx + 0x178], 5
jne 0x58d04c
mov eax, dword [ebp + 0x20]
cmp eax, 0x80090304
jne 0x58d04f
mov ecx, esi
call fcn.00562c70
test eax, eax
je 0x58d05b
push str.Try_next_server_n
mov ecx, esi
call fcn.00561d20
mov edx, dword [esi + 0xc8]
mov dword [edx + 0x178], 0
push str.Restart_type_006_n
mov ecx, esi
call fcn.00561d20
jmp 0x58cd49
mov eax, dword [ebp + 0x20]
cmp eax, 0x757e
je 0x58d03b
jmp 0x58ed05
mov eax, 0x80090304
jmp 0x58ed05
push edi
call fcn.005dc6a0
mov ecx, esi
cmp dword [ebp + 0x7c], 0
je 0x58d07a
call fcn.0057b170
jmp 0x58d083
mov edx, dword [esi]
push 0
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp + 0x20], eax
test eax, eax
jne 0x58ed05
mov ecx, dword [ebp + 0x7c]
push ecx
mov ecx, esi
call fcn.005891d0
mov edi, eax
mov dword [ebp + 0x20], edi
cmp edi, 0x757e
jne 0x58d142
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x58d0b9
mov eax, dword [eax + 0x10]
jmp 0x58d0c2
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x58d1df
mov edx, dword [esi + 0x3234]
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58d0d6
sub eax, ebx
je 0x58d119
mov eax, dword [esi + 0xc8]
mov ecx, dword [eax]
mov eax, edx
jmp 0x58d0f0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x58d110
test dl, dl
je 0x58d10c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x58d110
add eax, 2
add ecx, 2
test dl, dl
jne 0x58d0f0
xor eax, eax
jmp 0x58d115
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x58d123
cmp byte [ebp + 0xe], 0
je 0x58d1df
push str.Restart_type_007_n
mov ecx, esi
call fcn.00561d20
mov ecx, esi
call fcn.0057d6e0
lea eax, [esi + 0x3200]
push eax
jmp 0x58cea7
cmp edi, 0x7586
jne 0x58d171
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x58d159
mov eax, dword [eax + 0x10]
jmp 0x58d162
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x58d1df
push str.Restart_type_007b_n
jmp 0x58cd3b
test edi, edi
jne 0x58d1df
cmp dword [esi + 0x325c], 0xce
jne 0x58d1df
mov eax, dword [esi + 0x3268]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58d190
sub eax, edx
je 0x58d1df
mov eax, dword [esi + 0xcc]
test eax, eax
jne 0x58d1be
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx]
push edx
lea ecx, [ebp + 0x10]
call fcn.004030b0
mov byte [ebp - 4], 1
or dword [ebp - 0x1c], 1
mov eax, dword [eax]
push str.sciencedirect.com
push eax
call fcn.00621810
add esp, 8
test eax, eax
je 0x58d1df
cmp dword [esi + 0x31fc], 2
je 0x58d1df
mov bl, 1
jmp 0x58d1e1
xor bl, bl
mov dword [ebp - 4], 0
test byte [ebp - 0x1c], 1
je 0x58d1fa
and dword [ebp - 0x1c], 0xfffffffe
lea ecx, [ebp + 0x10]
call fcn.00402570
test bl, bl
je 0x58d23a
mov ecx, dword [esi + 0x3208]
test ecx, ecx
je 0x58d211
mov eax, dword [ecx]
push 2
mov edx, dword [eax + 0xc]
call edx
mov dword [esi + 0x31fc], 2
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_11_n
mov ecx, esi
call fcn.00561d20
lea eax, [esi + 0x3200]
push eax
jmp 0x58cea7
cmp dword [esi + 0x325c], 0xc8
jne 0x58d38f
mov edx, dword [esi + 0x58]
or edx, dword [esi + 0x5c]
jne 0x58d38f
cmp dword [esi + 0x64], edx
jg 0x58d38f
jl 0x58d26a
cmp dword [esi + 0x60], edx
ja 0x58d38f
cmp byte [esi + 0x320d], 0
jne 0x58d38f
mov eax, dword [esi + 0x3280]
mov ecx, dword [esi + 0x3284]
mov edx, eax
or edx, ecx
je 0x58d38f
add eax, 1
adc ecx, 0
cmp eax, dword [esi + 0x3218]
jne 0x58d38f
cmp ecx, dword [esi + 0x321c]
jne 0x58d38f
mov edi, 0x7542
mov dword [ebp + 0x20], edi
mov eax, dword [esi + 0xc8]
mov ecx, dword [eax + 0x32c]
cmp ecx, 0x40
je 0x58d2d0
cmp ecx, 0x80
jne 0x58d3b9
mov ecx, dword [esi + 0x3208]
test ecx, ecx
je 0x58d3b9
cmp byte [ecx + 0x259], 0
je 0x58d3b9
cmp byte [ecx + 0x25a], 0
jne 0x58d3b9
mov byte [ecx + 0x25a], 1
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 8]
push str._tmp_dashinit
push eax
call fcn.00621810
add esp, 8
test eax, eax
je 0x58d370
lea ecx, [ebp + 0x1c]
call fcn.00402500
mov byte [ebp - 4], 2
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 8]
push edx
push 0x678ea8
lea eax, [ebp + 0x1c]
push eax
call fcn.00402f70
add esp, 0xc
push 0x67997c
push str._tmp_dashinit
lea ecx, [ebp + 0x1c]
call fcn.00402c10
push 1
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [esi + 0xc8]
call fcn.00426ca0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x1c]
call fcn.00402570
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_s020s1_n
mov ecx, esi
call fcn.00561d20
lea eax, [esi + 0x3200]
push eax
jmp 0x58cea7
test edi, edi
je 0x58dadc
cmp edi, 0x7563
jne 0x58d3a6
mov eax, edi
jmp 0x58ed05
cmp edi, 0x7581
jne 0x58d2b3
mov eax, edi
jmp 0x58ed05
cmp byte [eax + 0x190], 0
jne 0x58d409
cmp dword [eax + 0x30c], 0
jl 0x58d409
jg 0x58d3d6
cmp dword [eax + 0x308], 0
jbe 0x58d409
mov ebx, 0x100
test dword [eax + 0x15c], ebx
je 0x58d40e
mov byte [eax + 0x190], 1
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_s021s2_n
mov ecx, esi
call fcn.00561d20
lea eax, [esi + 0x3200]
push eax
jmp 0x58cea7
mov ebx, 0x100
cmp byte [eax + 0x1b2], 0
je 0x58d44e
cmp byte [eax + 0x1b1], 0
jne 0x58d44e
test dword [eax + 0x15c], ebx
je 0x58d44e
mov byte [eax + 0x1b1], 1
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_s021s3_n
mov ecx, esi
call fcn.00561d20
lea eax, [esi + 0x3200]
push eax
jmp 0x58cea7
cmp dword [eax + 0x334], 0
jne 0x58d627
test dword [eax + 0x15c], ebx
je 0x58d627
test edi, edi
je 0x58d627
mov eax, dword [eax]
push str.youtube.com
push eax
call fcn.00621810
add esp, 8
test eax, eax
jne 0x58d4a1
mov edx, dword [esi + 0xc8]
mov eax, dword [edx]
push str.googlevideo.com
push eax
call fcn.00621810
add esp, 8
test eax, eax
je 0x58d627
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 8]
push str.sourceyt_otf
push eax
call fcn.00621810
add esp, 8
test eax, eax
jne 0x58d4db
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + 8]
push str._sourceyt_otf
push eax
call fcn.00621810
add esp, 8
test eax, eax
je 0x58d627
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 8]
push str.otf1
push eax
call fcn.00621810
add esp, 8
test eax, eax
jne 0x58d515
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 8]
push str._otf1
push eax
call fcn.00621810
add esp, 8
test eax, eax
je 0x58d627
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + 8]
push 0x6b1fb0
push eax
call fcn.00621810
add esp, 8
test eax, eax
jne 0x58d627
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 8]
push str._sq
push eax
call fcn.00621810
add esp, 8
test eax, eax
jne 0x58d627
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_s020y_n
mov ecx, esi
call fcn.00561d20
mov eax, dword [esi + 0xc8]
mov dword [eax + 0x334], 0x200
mov ecx, dword [esi + 0xc8]
mov byte [ecx + 0x338], 1
mov eax, dword [esi + 0x3208]
test eax, eax
je 0x58d5a3
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x58d5a3
push eax
mov ecx, dword [esi + 0xc8]
call fcn.005cfa30
lea ecx, [ebp + 0x1c]
call fcn.00402500
mov byte [ebp - 4], 3
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 8]
push eax
push str._ssq0
lea ecx, [ebp + 0x1c]
push ecx
call fcn.00402f70
add esp, 0xc
push 0
mov edx, dword [ebp + 0x1c]
push edx
mov ecx, dword [esi + 0xc8]
call fcn.00426ca0
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp + 0x20], ebx
test ebx, ebx
je 0x58d607
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x1c]
call fcn.00402570
mov eax, ebx
jmp 0x58ed05
mov ecx, dword [ebp + 0x7c]
push ecx
mov ecx, esi
call fcn.0058ca60
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x1c]
call fcn.00402570
mov eax, esi
jmp 0x58ed05
cmp edi, 0x7566
jne 0x58d7a3
mov edx, dword [esi + 0xc8]
mov eax, dword [edx]
push str..dailymotion.com
push eax
call fcn.00621810
add esp, 8
test eax, eax
jne 0x58d66b
mov eax, dword [esi + 0xc8]
mov eax, dword [eax]
push str..dmcdn.net
push eax
call fcn.00621810
add esp, 8
test eax, eax
je 0x58d7a3
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + 8]
test eax, eax
je 0x58d7a3
test dword [ecx + 0x15c], ebx
je 0x58d7a3
push 0x2e
push eax
call fcn.00622910
add esp, 8
test eax, eax
je 0x58d7a3
push 0x681f58
push eax
call fcn.00621c8e
add esp, 8
test eax, eax
jne 0x58d7a3
lea ecx, [ebp + 0x10]
call fcn.00402500
mov byte [ebp - 4], 4
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 8]
push edx
push 0x678ea8
lea eax, [ebp + 0x10]
push eax
call fcn.00402f70
push 0x2e
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00622910
add esp, 0x14
test eax, eax
je 0x58d797
mov byte [eax], 0
lea ecx, [ebp + 0x1c]
call fcn.00402500
mov byte [ebp - 4], 5
mov edx, dword [ebp + 0x10]
push edx
push str._s.mnft
lea eax, [ebp + 0x1c]
push eax
call fcn.00402f70
add esp, 0xc
push 0
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [esi + 0xc8]
call fcn.00426ca0
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_12_n
mov ecx, esi
call fcn.00561d20
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp + 0x20], ebx
test ebx, ebx
je 0x58d76b
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x1c]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x10]
call fcn.00402570
mov eax, ebx
jmp 0x58ed05
mov ecx, dword [ebp + 0x7c]
push ecx
mov ecx, esi
call fcn.0058ca60
mov esi, eax
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x1c]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x10]
call fcn.00402570
mov eax, esi
jmp 0x58ed05
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x10]
call fcn.00402570
cmp dword [esi + 0x64], 0
jg 0x58d832
jl 0x58d7b5
cmp dword [esi + 0x60], 0
ja 0x58d832
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0x38c]
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58d7c4
sub eax, ebx
je 0x58d832
cmp byte [edx + 0x359], cl
jne 0x58d832
cmp edi, 0x7565
je 0x58d7ff
cmp edi, 0x7566
je 0x58d7ff
cmp edi, 0x7542
je 0x58d7ff
cmp edi, 0x756e
je 0x58d7ff
cmp edi, 0x755e
jne 0x58d832
mov byte [edx + 0x359], 1
mov edx, dword [esi + 0xc8]
mov byte [edx + 0x361], 1
mov ecx, esi
call fcn.0057d6e0
push str.Restart__type_18_n
mov ecx, esi
call fcn.00561d20
lea eax, [esi + 0x3200]
push eax
jmp 0x58cea7
lea ecx, [ebp + 0x14]
call fcn.00402500
mov byte [ebp - 4], 6
push 0
lea edx, [ebp + 0x14]
push edx
mov ecx, dword [esi + 0xc8]
call fcn.005923b0
mov eax, dword [ebp + 0x14]
push eax
call fcn.004aed20
add esp, 4
cmp edi, 0x7565
je 0x58d86f
cmp edi, 0x7542
jne 0x58d994
mov ecx, dword [esi + 0xc8]
cmp byte [ecx + 0x33b], 0
jne 0x58d925
test al, al
je 0x58d925
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_14_n
mov ecx, esi
call fcn.00561d20
cmp edi, 0x7542
jne 0x58d8db
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x58d8b4
mov eax, dword [eax + 0x10]
jmp 0x58d8bd
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x58d8db
mov eax, dword [esi + 0xc8]
cmp dword [eax + 0x178], 0
jne 0x58d8db
mov dword [eax + 0x178], 1
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp + 0x20], ebx
test ebx, ebx
jne 0x58dd23
mov ecx, dword [esi + 0xc8]
mov byte [ecx + 0x33b], 1
mov edx, dword [ebp + 0x7c]
push edx
mov ecx, esi
call fcn.0058ca60
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x14]
call fcn.00402570
mov eax, esi
jmp 0x58ed05
cmp edi, 0x7542
jne 0x58d994
cmp dword [ebp + 0x7c], 0
jne 0x58d994
cmp dword [esi + 0x64], 0
jl 0x58d9aa
jg 0x58d941
cmp dword [esi + 0x60], 0
jbe 0x58d994
cmp dword [ecx + 0x310], 0
je 0x58d994
mov eax, dword [esi + 0x3208]
mov edx, dword [eax + 0xb8]
push edx
push 0
call fcn.005cee80
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_15_n
mov ecx, esi
call fcn.00561d20
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp + 0x20], ebx
test ebx, ebx
jne 0x58dd23
push eax
jmp 0x58d909
cmp dword [esi + 0x64], 0
jg 0x58da98
jl 0x58d9aa
cmp dword [esi + 0x60], 0
ja 0x58da98
cmp byte [esi + 0x320d], 0
jne 0x58da98
mov eax, dword [esi + 0xc8]
cmp byte [eax + 0x352], 0
je 0x58da98
cmp byte [eax + 0x354], 0
jne 0x58da98
cmp edi, 0x7565
je 0x58da03
cmp edi, 0x7566
je 0x58da03
cmp edi, 0x7542
je 0x58da03
cmp edi, 0x756e
je 0x58da03
cmp edi, 0x755e
jne 0x58da98
mov byte [esi + 0x320c], 1
mov byte [esi + 0x320d], 1
cmp byte [eax + 0x352], 0
je 0x58da21
mov byte [eax + 0x354], 1
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_16_n
mov ecx, esi
call fcn.00561d20
cmp edi, 0x7542
jne 0x58da72
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x58da4b
mov eax, dword [eax + 0x10]
jmp 0x58da54
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x58da72
mov eax, dword [esi + 0xc8]
cmp dword [eax + 0x178], 0
jne 0x58da72
mov dword [eax + 0x178], 1
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp + 0x20], ebx
test ebx, ebx
jne 0x58dd23
mov ecx, dword [ebp + 0x7c]
push ecx
jmp 0x58d909
mov ecx, dword [esi + 0x3220]
test ecx, ecx
je 0x58db34
call fcn.005a95d0
test al, al
jne 0x58db21
mov eax, dword [esi + 0xc8]
cmp byte [eax + 0x353], 0
je 0x58db21
cmp byte [eax + 0x354], 0
jne 0x58db21
cmp byte [eax + 0x355], 0
jne 0x58db21
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x14]
call fcn.00402570
cmp dword [esi + 0x3220], 0
je 0x58e2bf
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0xbc]
test eax, eax
jne 0x58db09
test edi, edi
je 0x58e2bf
test eax, eax
je 0x58dd82
push str.text_html
push eax
call fcn.00621c8e
add esp, 8
test eax, eax
sete bl
jmp 0x58dd84
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x14]
call fcn.00402570
mov eax, edi
jmp 0x58ed05
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + 0x408]
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x58db43
sub eax, ebx
je 0x58dba0
cmp byte [ecx + 0x361], dl
jne 0x58dba0
mov byte [ecx + 0x361], 1
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_26_n
mov ecx, esi
call fcn.00561d20
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp + 0x20], ebx
test ebx, ebx
je 0x58da8f
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x14]
call fcn.00402570
mov eax, ebx
jmp 0x58ed05
test dword [ecx + 0x15c], 0x80000
je 0x58dc23
mov ecx, dword [ecx + 0x19c]
push str.Firefox_
push ecx
call fcn.00621810
add esp, 8
test eax, eax
jne 0x58dbe2
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0x19c]
push str.Chrome_
push eax
call fcn.00621810
add esp, 8
test eax, eax
je 0x58dc23
mov ecx, dword [esi + 0xc8]
add ecx, 0x19c
push 0x75da0c
call fcn.00405930
mov eax, dword [esi + 0xc8]
mov byte [eax + 0x359], 0
mov ecx, dword [esi + 0xc8]
mov byte [ecx + 0x35f], 1
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_25_n
jmp 0x58db69
mov eax, dword [esi + 0x3228]
test eax, eax
jne 0x58dc32
mov eax, 0x67997c
push eax
lea ecx, [ebp + 0x1c]
call fcn.004030b0
mov byte [ebp - 4], 7
push 0x67997c
mov ecx, dword [esi + 0xc8]
call fcn.00453980
mov eax, dword [esi + 0x3208]
test eax, eax
je 0x58dc69
push 0x67997c
lea ecx, [eax + 0x18c]
call fcn.0054f250
mov edx, dword [esi + 0xc8]
mov byte [edx + 0x1b4], 0
mov ecx, esi
call fcn.00580da0
mov edi, dword [esi + 0x3208]
test edi, edi
je 0x58dd62
cmp byte [edi + 0x25b], 0
jne 0x58dd62
mov eax, dword [esi + 0x3228]
test eax, eax
je 0x58dd62
mov ecx, eax
lea ebx, [ecx + 1]
jmp 0x58dcb0
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x58dcb0
sub ecx, ebx
je 0x58dd62
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58dcc2
sub eax, edx
mov edx, eax
mov eax, dword [ebp + 0x1c]
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58dcd3
sub eax, ebx
cmp edx, eax
je 0x58dd62
mov byte [edi + 0x25b], 1
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_23_n
mov ecx, esi
call fcn.00561d20
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp + 0x20], ebx
test ebx, ebx
je 0x58dd36
mov byte [ebp - 4], 6
lea ecx, [ebp + 0x1c]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x14]
call fcn.00402570
mov eax, ebx
jmp 0x58ed05
mov ecx, dword [ebp + 0x7c]
push ecx
mov ecx, esi
call fcn.0058ca60
mov esi, eax
mov byte [ebp - 4], 6
lea ecx, [ebp + 0x1c]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x14]
call fcn.00402570
mov eax, esi
jmp 0x58ed05
mov byte [ebp - 4], 6
lea ecx, [ebp + 0x1c]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x14]
call fcn.00402570
mov eax, dword [ebp + 0x20]
jmp 0x58ed05
xor bl, bl
mov ecx, dword [esi + 0x3220]
call fcn.005a95d0
test al, al
jne 0x58e2bf
mov eax, dword [esi + 0xc8]
cmp byte [eax + 0x353], 0
je 0x58e2bf
cmp byte [eax + 0x354], 0
jne 0x58e2bf
cmp byte [eax + 0x355], 0
jne 0x58e2bf
test bl, bl
jne 0x58ddd0
test edi, edi
je 0x58e2bf
lea ecx, [ebp - 0x14]
call fcn.00402500
mov byte [ebp - 4], 8
lea ecx, [ebp]
call fcn.00402500
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x18]
call fcn.00402500
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 0x10]
call fcn.00402500
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x14]
call fcn.00402500
mov byte [ebp - 4], 0xc
xor edi, edi
mov dword [ebp + 0x24], edi
mov dword [ebp + 0x2c], edi
xor eax, eax
mov word [ebp + 0x28], ax
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 0x24]
push ecx
lea edx, [ebp + 0x14]
push edx
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp + 8]
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp]
push ecx
lea edx, [ebp - 0x14]
push edx
mov ecx, dword [esi + 0x3220]
call fcn.005a9790
test al, al
je 0x58e277
mov eax, dword [esi + 0xc8]
mov byte [eax + 0x354], 1
mov ecx, dword [esi + 0xc8]
mov byte [ecx + 0x352], 1
mov edx, dword [esi + 0xc8]
mov byte [edx + 0x355], 1
mov ecx, dword [esi + 0x3220]
call fcn.005a9780
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x24], ecx
mov eax, dword [esi + 0xc8]
mov edx, dword [ebp + 8]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [esi + 0xc8]
call fcn.00453a00
mov ebx, eax
cmp ebx, edi
je 0x58deff
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x24]
call fcn.00401210
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x14]
call fcn.00402570
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 0x10]
call fcn.00402570
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x18]
call fcn.00402570
mov byte [ebp - 4], 8
lea ecx, [ebp]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402570
mov eax, ebx
jmp 0x58ed05
mov ecx, dword [ebp]
push ecx
mov ecx, dword [esi + 0xc8]
call fcn.00453a70
mov ebx, eax
cmp ebx, edi
jne 0x58deb0
push edi
mov edx, dword [ebp - 0x18]
push edx
mov ecx, dword [esi + 0xc8]
call fcn.00426ca0
mov ebx, eax
cmp ebx, edi
jne 0x58deb0
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [esi + 0xc8]
call fcn.00453980
push 0x67997c
mov ecx, dword [esi + 0xc8]
add ecx, 0xc4
call fcn.0054f250
mov ecx, dword [esi + 0xc8]
mov byte [ecx + 0x341], 0
push 0x67997c
mov ecx, dword [esi + 0xc8]
call fcn.00453900
mov eax, dword [esi + 0x3208]
cmp eax, edi
je 0x58dfb0
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x58dfb0
mov ecx, dword [esi + 0xc8]
cmp dword [ecx + 0x48c], edi
jne 0x58df94
push eax
call fcn.005ced20
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0x48c]
cmp eax, edi
je 0x58dfb0
push str.Referer
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov ebx, dword [ebp + 0x24]
cmp ebx, edi
mov eax, ebx
jne 0x58dfbc
lea eax, [ebp + 0x28]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x58dfc0
sub eax, edx
sar eax, 1
je 0x58e031
cmp ebx, edi
mov eax, ebx
jne 0x58dfda
lea eax, [ebp + 0x28]
push eax
mov ecx, dword [esi + 0xc8]
call fcn.005cdd00
mov eax, dword [esi + 0x3208]
cmp eax, edi
je 0x58e031
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x58e006
push eax
mov ecx, dword [esi + 0xc8]
call fcn.005cfa00
mov eax, dword [esi + 0x3208]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x58e031
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 0x58e037
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 0xc8]
mov byte [edx + 0x1ae], 1
push 0x67997c
mov ecx, dword [esi + 0xc8]
add ecx, 0x198
call fcn.0054f250
mov eax, dword [esi + 0xc8]
mov byte [eax + 0x194], 0
mov ecx, dword [esi + 0xc8]
mov byte [ecx + 0x347], 0
mov byte [esi + 0xe0], 0
mov edx, dword [esi + 0xc8]
push edx
call fcn.00512320
add esp, 4
mov ecx, esi
call fcn.0057d9d0
cmp dword [esi + 0xc4], edi
jne 0x58e121
mov eax, dword [esi + 0xb8]
mov eax, dword [eax]
cmp dword [eax], edi
je 0x58e0b9
push edi
push 0x1478
push 0x111
mov ecx, dword [eax]
push ecx
call ebx
mov eax, dword [esi + 0x3208]
cmp eax, edi
je 0x58e121
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x58e121
push edi
push edi
push eax
mov ecx, dword [esi + 0xc8]
call fcn.005d2000
mov eax, dword [esi + 0x3208]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x58e0fe
mov edx, dword [eax + 0xb8]
push edx
push 0x1395
push 0x111
mov eax, dword [ecx]
push eax
call ebx
mov eax, dword [esi + 0x3208]
mov ecx, dword [eax + 0x18]
cmp ecx, edi
je 0x58e121
mov edx, dword [eax + 0xb8]
push edx
push 0x1395
push 0x111
mov eax, dword [ecx]
push eax
call ebx
cmp dword [esi + 0x31f8], edi
je 0x58e155
mov byte [ebp - 4], 0xe
mov eax, dword [esi + 0x31f8]
push eax
call fcn.005f4432
add esp, 4
mov dword [ebp - 4], 0xd
jmp 0x58e155
mov dword [esi + 0x31f8], 0
mov ecx, dword [esi + 0xc8]
call fcn.005cb8f0
mov ecx, esi
call fcn.0057d6e0
push str.Restart_type_17_n
mov ecx, esi
call fcn.00561d20
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
test edi, edi
jne 0x58e228
mov eax, dword [ebp + 0x7c]
push eax
mov ecx, esi
call fcn.0058ca60
mov edi, eax
test edi, edi
jne 0x58e228
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x58e228
push str.text_html
push eax
call fcn.00621c8e
add esp, 8
test eax, eax
je 0x58e228
mov eax, dword [esi + 0x3208]
test eax, eax
je 0x58e228
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x58e228
mov ecx, dword [esi + 0xc8]
cmp dword [ecx + 0x48c], edi
jne 0x58e1f6
push eax
call fcn.005ced20
mov esi, dword [esi + 0xc8]
cmp dword [esi + 0x48c], 0
je 0x58e228
mov dword [ebp + 0x1c], 1
push 4
lea edx, [ebp + 0x1c]
push edx
push 4
push 0
push str.noSyntRef
mov eax, dword [esi + 0x48c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x24]
call fcn.00401210
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x14]
call fcn.00402570
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 0x10]
call fcn.00402570
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x18]
call fcn.00402570
mov byte [ebp - 4], 8
lea ecx, [ebp]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402570
mov eax, edi
jmp 0x58ed05
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x24]
call fcn.00401210
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x14]
call fcn.00402570
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 0x10]
call fcn.00402570
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x18]
call fcn.00402570
mov byte [ebp - 4], 8
lea ecx, [ebp]
call fcn.00402570
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402570
mov edx, dword [esi + 0x325c]
cmp edx, 0xc8
jne 0x58e2e7
mov ecx, dword [esi + 0x58]
or ecx, dword [esi + 0x5c]
jne 0x58e2e7
mov eax, dword [esi + 0x3218]
mov dword [esi + 0x58], eax
mov ecx, dword [esi + 0x321c]
mov dword [esi + 0x5c], ecx
cmp edx, 0xce
jne 0x58e3df
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
jne 0x58e32d
cmp dword [esi + 0x64], eax
jg 0x58e32d
jl 0x58e307
cmp dword [esi + 0x60], eax
ja 0x58e32d
mov eax, dword [esi + 0x3218]
mov ecx, dword [esi + 0x321c]
mov edi, eax
or edi, ecx
je 0x58e32d
mov edi, dword [esi + 0x3280]
or edi, dword [esi + 0x3284]
jne 0x58e32d
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ecx
cmp edx, 0xce
jne 0x58e3df
mov ecx, dword [esi + 0x58]
or ecx, dword [esi + 0x5c]
jne 0x58e3df
mov eax, dword [esi + 0x60]
mov edi, dword [esi + 0x64]
test edi, edi
jg 0x58e3cd
jl 0x58e359
test eax, eax
ja 0x58e389
mov ebx, dword [esi + 0x3280]
mov ecx, dword [esi + 0x3284]
mov edx, ebx
or edx, ecx
je 0x58e389
mov edx, dword [esi + 0x3218]
mov eax, dword [esi + 0x321c]
cmp ecx, eax
jg 0x58e389
jl 0x58e381
cmp ebx, edx
jae 0x58e389
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
jmp 0x58e3df
test edi, edi
jg 0x58e3cd
jl 0x58e395
cmp dword [esi + 0x60], 0
ja 0x58e3cd
mov edx, dword [esi + 0x3218]
mov ebx, dword [esi + 0x321c]
mov eax, edx
or eax, ebx
je 0x58e3cd
mov eax, edx
add eax, 1
mov ecx, ebx
adc ecx, 0
mov edi, dword [esi + 0x3280]
cmp edi, eax
jne 0x58e3cd
mov eax, dword [esi + 0x3284]
cmp eax, ecx
jne 0x58e3cd
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], ebx
jmp 0x58e3df
mov ecx, dword [esi + 0x3280]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x3284]
mov dword [esi + 0x5c], edx
mov edx, dword [esi + 0x325c]
cmp edx, 0xc8
je 0x58e3f5
cmp edx, 0xce
jne 0x58e419
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
jne 0x58e419
mov ecx, dword [esi + 0x3298]
mov eax, dword [esi + 0x329c]
test eax, eax
jl 0x58e419
jg 0x58e413
test ecx, ecx
jbe 0x58e419
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0xc8]
xor edi, edi
cmp dword [eax + 0x334], edi
je 0x58e467
mov eax, dword [esi + 0x3208]
cmp eax, edi
je 0x58e467
cmp dword [eax + 0x40], edi
je 0x58e467
cmp edx, 0xc8
jne 0x58e461
mov ecx, dword [esi + 0x3218]
mov eax, dword [esi + 0x321c]
cmp eax, edi
jl 0x58e461
jg 0x58e456
cmp ecx, edi
jbe 0x58e461
sub ecx, 1
sbb eax, edi
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], 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 0x58e549
mov eax, dword [esi + 0x3208]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov ebx, ecx
or ebx, edx
je 0x58e549
cmp ecx, edi
jne 0x58e4a0
cmp edx, dword [esi + 0x5c]
je 0x58e549
mov edi, dword [eax + 0xc8]
or edi, dword [eax + 0xcc]
je 0x58e549
cmp byte [esi + 0x3264], 0
jne 0x58eaad
cmp dword [esi + 0x325c], 0xce
jne 0x58e4ff
mov edi, dword [esi + 0x3280]
mov ebx, dword [esi + 0x3284]
sub ecx, 1
sbb edx, 0
cmp edi, ecx
jne 0x58e4ff
cmp ebx, edx
jne 0x58e4ff
mov edx, dword [esi + 0x3288]
or edx, dword [esi + 0x328c]
jne 0x58e4ff
mov dword [esi + 0x3288], edi
mov dword [esi + 0x328c], ebx
mov edi, dword [esi + 0x3288]
mov ecx, dword [esi + 0x328c]
mov edx, edi
or edx, ecx
je 0x58e7e5
mov ebx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov dword [ebp + 8], edx
mov ecx, ebx
sub ecx, 1
sbb edx, 0
cmp edi, ecx
jne 0x58e7e5
cmp dword [esi + 0x328c], edx
jne 0x58e7e5
mov dword [esi + 0x58], ebx
mov eax, dword [ebp + 8]
mov dword [esi + 0x5c], eax
cmp byte [esi + 0x3264], 0
jne 0x58eaad
mov eax, dword [esi + 0xc8]
mov edi, dword [eax + 0xbc]
xor ebx, ebx
cmp edi, ebx
je 0x58ea84
mov eax, dword [eax + 0x114]
mov dword [ebp + 8], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58e578
sub eax, edx
je 0x58ea84
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58e590
sub eax, edx
je 0x58ea84
mov dword [ebp - 0x24], 1
push 0x3b
mov edx, dword [ebp + 8]
push edx
call fcn.00621750
add esp, 8
test eax, eax
je 0x58e609
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 0xbc]
push 0x3b
push eax
call fcn.00621750
add esp, 8
test eax, eax
jne 0x58e609
mov edi, dword [esi + 0xc8]
mov ecx, dword [edi + 0xbc]
mov eax, ecx
lea edx, [eax + 1]
mov dword [ebp + 8], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x58e5e7
sub eax, dword [ebp + 8]
mov edi, dword [edi + 0x114]
push eax
push ecx
push edi
call fcn.006278af
add esp, 0xc
test eax, eax
jne 0x58e609
mov dword [ebp - 0x24], ebx
mov edx, dword [esi + 0xc8]
mov edi, dword [edx + 0x114]
mov eax, edi
lea ecx, [eax + 1]
mov dword [ebp + 8], ecx
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58e620
sub eax, dword [ebp + 8]
push eax
mov edx, dword [edx + 0xbc]
push edx
push edi
call fcn.006278af
add esp, 0xc
test eax, eax
je 0x58ea84
cmp dword [ebp - 0x24], ebx
je 0x58ea84
mov byte [ebp + 0x1b], 1
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 0x114]
push 9
push str.text_html
push eax
call fcn.00624bdd
add esp, 0xc
test eax, eax
jne 0x58e694
push 9
push str.text_html
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00624bdd
add esp, 0xc
test eax, eax
je 0x58e694
mov byte [ebp + 0x1b], 0
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 0x114]
push 0xa
push 0x67e818
push eax
call fcn.00624bdd
add esp, 0xc
test eax, eax
jne 0x58e6d8
push 9
push str.text_html
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00624bdd
add esp, 0xc
test eax, eax
je 0x58e6d8
mov byte [ebp + 0x1b], 0
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 0x114]
push 0x15
push str.application_x_mpegURL
push eax
call fcn.006278af
add esp, 0xc
test eax, eax
jne 0x58e750
push 0x1d
push str.application_vnd.apple.mpegurl
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.006278af
add esp, 0xc
test eax, eax
je 0x58e736
push str.video_MP2T
mov eax, dword [esi + 0xc8]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.00621c8e
add esp, 8
test eax, eax
jne 0x58e750
mov byte [ebp + 0x1b], 0
push 0x67997c
mov ecx, dword [esi + 0xc8]
add ecx, 0x114
call fcn.0054f250
push 9
push str.text_html
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0xbc]
push eax
call fcn.00624bdd
add esp, 0xc
test eax, eax
je 0x58e9e7
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx]
push str..youtube.com
push eax
call fcn.00621810
add esp, 8
test eax, eax
jne 0x58e7ac
mov edx, dword [esi + 0xc8]
mov eax, dword [edx]
push str..googlevideo.com
push eax
call fcn.00621810
add esp, 8
test eax, eax
je 0x58e9e7
mov eax, dword [esi + 0xc8]
mov edi, dword [eax + 8]
cmp edi, ebx
je 0x58e9e7
mov ecx, 0xe
mov eax, str.videoplayback_
cmp ecx, 4
jb 0x58e954
mov edx, dword [edi]
cmp edx, dword [eax]
jne 0x58e9e7
sub ecx, 4
add eax, 4
add edi, 4
jmp 0x58e7c7
cmp dword [esi + 0x325c], 0xce
jne 0x58e83e
mov edi, dword [esi + 0x32a0]
mov ecx, dword [esi + 0x32a4]
mov edx, edi
or edx, ecx
je 0x58e83e
mov ebx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov dword [ebp + 8], edx
mov ecx, ebx
sub ecx, edi
sbb edx, dword [esi + 0x32a4]
mov edi, dword [esi + 0x3218]
cmp edi, ecx
jne 0x58e83e
mov ecx, dword [esi + 0x321c]
cmp ecx, edx
jne 0x58e83e
mov dword [esi + 0x58], ebx
mov edx, dword [ebp + 8]
mov dword [esi + 0x5c], edx
jmp 0x58e549
mov edx, dword [esi + 0xc8]
cmp dword [eax + 0x148], 0
je 0x58e86b
cmp byte [edx + 0x357], 0
jne 0x58e85f
cmp byte [edx + 0x18a], 0
je 0x58e86b
mov byte [esi + 0x3264], 1
jmp 0x58e549
mov bl, byte [esi + 0x3272]
test bl, bl
je 0x58e8a9
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xd4]
mov edi, dword [esi + 0x3280]
cmp edi, ecx
jne 0x58e8a9
mov edi, dword [esi + 0x3284]
cmp edi, eax
jne 0x58e8a9
cmp dword [esi + 0x325c], 0xce
jne 0x58e8a9
mov dword [esi + 0x58], ecx
jmp 0x58e546
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x64]
test eax, eax
jg 0x58e906
jl 0x58e8b9
test ecx, ecx
ja 0x58e8fc
cmp byte [esi + 0x320d], 0
jne 0x58e8fc
cmp byte [edx + 0x352], 0
je 0x58e8fc
cmp byte [edx + 0x354], 0
jne 0x58e8fc
mov byte [esi + 0x320c], 1
mov byte [esi + 0x320d], 1
cmp byte [edx + 0x352], 0
je 0x58e8f2
mov byte [edx + 0x354], 1
push str.Restart_type_21a_n
jmp 0x58d128
test eax, eax
jl 0x58e943
jg 0x58e906
test ecx, ecx
jbe 0x58e943
cmp byte [esi + 0x3214], 0
jne 0x58e943
test bl, bl
jne 0x58e943
mov byte [esi + 0x3272], 1
mov dword [edx + 0x310], 1
mov eax, dword [esi + 0xc8]
cmp byte [eax + 0x352], bl
je 0x58e939
mov byte [eax + 0x354], 1
push str.Restart_type_21b_n
jmp 0x58d128
mov ecx, esi
call fcn.0057d6e0
mov eax, 0x757a
jmp 0x58ed05
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x58e9e7
mov dl, byte [eax + 1]
cmp dl, byte [edi + 1]
jne 0x58e9e7
push 6
push str.video_
mov eax, dword [esi + 0xc8]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.00624bdd
add esp, 0xc
test eax, eax
jne 0x58e9c8
push 6
push str.audio_
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0xbc]
push eax
call fcn.00624bdd
add esp, 0xc
test eax, eax
jne 0x58e9c8
push str.application_octet_stream
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00621c8e
add esp, 8
test eax, eax
jne 0x58e9e7
mov byte [ebp + 0x1b], 0
push 0x67997c
mov ecx, dword [esi + 0xc8]
add ecx, 0x114
call fcn.0054f250
jmp 0x58ea84
cmp byte [ebp + 0x1b], 0
je 0x58ea84
mov ecx, dword [esi + 0x3208]
cmp dword [ecx + 0x148], ebx
je 0x58ea2e
mov eax, dword [esi + 0xc8]
cmp byte [eax + 0x357], 0
jne 0x58ea17
cmp byte [eax + 0x18a], 0
je 0x58ea2e
mov eax, dword [ecx + 0xc8]
or eax, dword [ecx + 0xcc]
je 0x58ea84
mov byte [esi + 0x3264], 1
jmp 0x58ea84
push 9
push str.text_html
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00624bdd
add esp, 0xc
test eax, eax
je 0x58e943
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov ecx, eax
or ecx, edx
je 0x58e943
mov ecx, dword [esi + 0xc8]
cmp eax, dword [ecx + 0x138]
jne 0x58e943
cmp edx, dword [ecx + 0x13c]
jne 0x58e943
mov byte [ebp + 0x1b], 0
cmp byte [esi + 0x3264], 0
jne 0x58eaaf
mov edx, dword [esi + 0x322c]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58ea98
sub eax, edi
je 0x58eaaf
push edx
mov ecx, esi
call fcn.0057c270
jmp 0x58eaaf
xor ebx, ebx
push 0x67997c
lea ecx, [esi + 0x322c]
call fcn.0054f250
cmp byte [esi + 0x3264], 0
je 0x58ec2a
mov byte [esi + 0x3264], 0
lea ecx, [esi + 0x10]
call fcn.0056af10
mov eax, dword [esi + 0x3208]
cmp dword [eax + 0xb0], ebx
setne byte [ebp + 0xf]
lea ecx, [eax + 0x28]
call fcn.0055a950
mov eax, dword [esi + 0x3208]
mov dword [eax + 0xc8], ebx
mov dword [eax + 0xcc], ebx
mov eax, dword [esi + 0x3208]
mov dword [eax + 0xd0], ebx
mov dword [eax + 0xd4], ebx
mov eax, dword [esi + 0x3208]
mov dword [eax + 0x1c8], ebx
mov dword [eax + 0x1cc], ebx
mov dword [esi + 0x3260], ebx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], ebx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x3218], ebx
mov dword [esi + 0x321c], ebx
mov dword [esi + 0x3278], ebx
mov dword [esi + 0x327c], ebx
mov dword [esi + 0x3280], ebx
mov dword [esi + 0x3284], ebx
mov dword [esi + 0x3288], ebx
mov dword [esi + 0x328c], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x3298], ebx
mov dword [esi + 0x329c], ebx
mov eax, dword [esi + 0x3208]
cmp eax, ebx
je 0x58ebb2
mov byte [eax + 0x889], 0
push str.Restart_type_008_n
mov ecx, esi
call fcn.00561d20
mov ecx, esi
call fcn.0057d6e0
mov edx, dword [esi]
lea eax, [esi + 0x3200]
push eax
mov ecx, esi
mov edx, dword [edx + 0x18]
call edx
mov dword [ebp + 0x20], eax
cmp eax, ebx
jne 0x58ed05
mov eax, dword [ebp + 0x7c]
push eax
mov ecx, esi
call fcn.0058ca60
mov edi, eax
mov dword [ebp + 0x20], edi
cmp edi, ebx
jne 0x58cbf8
cmp byte [ebp + 0xf], 0
je 0x58ec1c
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 0x30]
push edx
push esi
mov ecx, dword [esi + 0x3208]
add ecx, 0x28
call fcn.0055aae0
mov edi, eax
mov dword [ebp + 0x20], edi
mov ecx, esi
call fcn.00562030
mov eax, edi
jmp 0x58ed05
lea eax, [ebp - 0x38]
push eax
call fcn.00623c91
movzx ecx, word [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
push str.Time:__ld._ld_r_n
lea eax, [ebp + 0x30]
push eax
call fcn.0062304b
add esp, 0x14
lea ecx, [ebp + 0x30]
push ecx
mov ecx, esi
call fcn.00561d20
mov dword [esi + 0xa4], 6
mov dword [esi + 0xc0], ebx
push 1
mov edx, dword [0x75eae0]
push edx
mov ecx, esi
call fcn.00562550
cmp dword [esi + 0xc4], ebx
jne 0x58eca6
mov eax, dword [esi + 0x3208]
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x58eca6
mov eax, dword [eax + 0xb8]
push eax
mov edx, dword [ebp + 0x1c]
push edx
push 0x111
mov eax, dword [ecx]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [ebp + 0xf], 0
je 0x58ece4
mov esi, dword [esi + 0x19c]
mov eax, 4
cmp dword [esi + 0x154], eax
jne 0x58ece4
cmp byte [esi + 0x15e], 0
je 0x58ece4
mov dword [ebp + 8], eax
push eax
lea ecx, [ebp + 8]
push ecx
push eax
push ebx
push str.SocksType
mov edx, dword [0x75dbe4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
xor eax, eax
jmp 0x58ed05
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x70]
xor ecx, ebp
call fcn.0062016f
add ebp, 0x74
mov esp, ebp
pop ebp
ret 4