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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x657bf9
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x74d890]
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 0x582eaf
cmp byte [eax + 0x347], 0
mov eax, 5
jne 0x582eb4
mov eax, 0xf
lea ebx, [esi + 0x31f0]
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 + 0x31f8]
cmp dword [eax + 0x1c], 0
jne 0x5830c1
cmp edi, 0x2751
je 0x582ef0
cmp edi, 0x2743
jne 0x582fea
mov eax, dword [esi + 0xc0]
test dword [eax + 0x154], 0x2400000
jne 0x582fea
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 + 0x31f8]
cmp dword [eax + 0x1c], 0
jne 0x5830c1
cmp dword [ebp - 0x34], edi
jne 0x582f6f
mov eax, dword [esi + 0xc0]
xor ecx, ecx
cmp byte [eax + 0x17b], cl
sete cl
mov byte [eax + 0x17b], cl
test edi, edi
je 0x5830db
push edi
mov ecx, esi
call fcn.00558fd0
test eax, eax
je 0x582f93
push edi
mov ecx, esi
call fcn.00558f50
test eax, eax
je 0x583073
mov ecx, esi
call fcn.00559d80
test eax, eax
je 0x583073
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 + 0x31f8]
cmp dword [eax + 0x1c], 0
jne 0x5830c1
test edi, edi
je 0x5830db
push edi
mov ecx, esi
call fcn.00558fd0
test eax, eax
je 0x582f93
mov eax, edi
jmp 0x5850a7
cmp edi, 0x274c
jne 0x582f6f
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x17b], 0
je 0x582f77
test dword [eax + 0x154], 0x400000
jne 0x582f77
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 + 0x31f8]
cmp dword [eax + 0x1c], 0
jne 0x5830c1
cmp edi, 0x274c
jne 0x582f6f
mov eax, dword [esi + 0xc0]
mov byte [eax + 0x17b], 1
jmp 0x582f77
test edi, edi
je 0x5830db
mov dword [ebp - 0x58], 0
mov edi, edi
push edi
mov ecx, esi
call fcn.00558fd0
test eax, eax
jne 0x5830d3
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp eax, 5
jg 0x5830d3
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 + 0x31f8]
cmp dword [eax + 0x1c], 0
je 0x583080
lea ecx, [eax + 0x28]
call fcn.00550ed0
mov eax, 0x7540
jmp 0x5850a7
test edi, edi
jne 0x582fe3
mov dword [esi + 0x3244], 1
add dword [ebp - 0x28], 0x7d0
mov eax, dword [esi + 0x194]
test eax, eax
je 0x58315b
mov cl, byte [eax + 0x15c]
mov byte [ebp - 0x35], cl
test cl, cl
je 0x58315f
mov ecx, esi
call fcn.00572c80
mov edi, eax
mov dword [ebp - 0x24], edi
test edi, edi
je 0x5832f8
cmp edi, 0x7585
jne 0x5831ee
push str.Restart_type_002_n
mov ecx, esi
call fcn.00558e10
mov ecx, esi
call fcn.005745f0
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 0x5850a7
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.00582e50
jmp 0x5850a7
mov byte [ebp - 0x35], 0
test eax, eax
je 0x5832f8
cmp byte [eax + 0x137], 0
je 0x5832f8
mov ecx, dword [esi + 0x346c]
test ecx, ecx
je 0x5832f8
lea edx, [ecx + 0x3328]
push edx
mov eax, dword [ecx + 0x337c]
push eax
call fcn.005d17a0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x5850a7
mov ecx, dword [esi + 0x346c]
push 1
lea edx, [ecx + 0x3338]
push edx
lea eax, [ecx + 0x3330]
push eax
mov edx, dword [esi + 0x194]
mov eax, dword [edx]
push eax
lea edx, [ecx + 0x3328]
push edx
mov eax, dword [ebx]
push eax
call fcn.005d4630
mov dword [ebp - 0x24], eax
test eax, eax
je 0x5832e6
cmp eax, 0x757e
jne 0x5850a7
push str.Restart_type_005_n
jmp 0x583285
mov ecx, dword [esi + 0x194]
mov al, byte [ecx + 0x15d]
test al, al
jne 0x58324d
cmp edi, 0x7559
jne 0x58324d
cmp dword [ecx + 0x154], 5
jne 0x58324d
cmp byte [ecx + 0x15e], al
jne 0x58324d
cmp byte [ecx + 0x15f], al
jne 0x58324d
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 0x583128
mov edx, dword [ecx + 0x154]
cmp edx, 5
jne 0x5832b8
cmp edi, 0x7580
jne 0x5832b8
cmp byte [ecx + 0x15e], 0
jne 0x5832b8
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.00558e10
mov ecx, esi
call fcn.005745f0
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 0x5850a7
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00582e50
jmp 0x5850a7
test al, al
jne 0x5832df
cmp edx, 4
jne 0x5832df
cmp byte [ecx + 0x15e], al
je 0x5832df
cmp byte [ecx + 0x15f], al
je 0x5832df
mov dword [ecx + 0x154], edx
mov edi, 0x7559
mov dword [ebp - 0x24], edi
mov eax, edi
jmp 0x5850a7
mov ecx, dword [esi + 0x346c]
lea edx, [ecx + 0x3330]
push edx
call fcn.005d1e60
add dword [ebp - 0x28], 0x153
mov byte [ebp - 0x36], 1
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x583312
mov eax, dword [eax + 0x10]
jmp 0x58331b
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0x24]
cmp eax, 2
jne 0x583458
mov byte [ebp - 0x36], 0
mov ecx, dword [esi + 0x194]
cmp dword [ecx], 0
je 0x583379
push 1
mov ecx, esi
call fcn.0057fbf0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x5850a7
cmp dword [esi + 0x324c], 0xc8
je 0x58336f
mov edx, dword [esi + 0x3234]
push edx
mov ecx, dword [esi + 0xac]
call fcn.00561de0
mov eax, 0x756d
jmp 0x5850a7
mov dword [esi + 0x9c], 0x10
lea eax, [esi + 0x3328]
push eax
mov eax, dword [esi + 0x337c]
push eax
mov ecx, esi
call fcn.005d17a0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x5850a7
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x5833a7
mov eax, dword [eax]
jmp 0x5833af
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx]
lea edi, [esi + 0x3330]
push 1
lea edx, [esi + 0x3338]
push edx
push edi
push eax
lea eax, [esi + 0x3328]
push eax
mov eax, dword [ebx]
push eax
mov ecx, esi
call fcn.005d4630
mov dword [ebp - 0x24], eax
mov ecx, esi
test eax, eax
je 0x583452
call fcn.005745f0
cmp byte [esi + 0xdb], 0
jne 0x583439
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x168], 5
jne 0x583439
mov eax, dword [ebp - 0x24]
cmp eax, 0x80090304
jne 0x58343c
mov ecx, esi
call fcn.00559d80
test eax, eax
je 0x583448
push str.Try_next_server_n
mov ecx, esi
call fcn.00558e10
mov edx, dword [esi + 0xc0]
mov dword [edx + 0x168], 0
push str.Restart_type_006_n
mov ecx, esi
call fcn.00558e10
jmp 0x583136
mov eax, dword [ebp - 0x24]
cmp eax, 0x757e
je 0x583428
jmp 0x5850a7
mov eax, 0x80090304
jmp 0x5850a7
push edi
call fcn.005d1e60
mov ecx, esi
cmp dword [ebp + 8], 0
je 0x583467
call fcn.005720e0
jmp 0x583470
mov edx, dword [esi]
push 0
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x5850a7
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.0057f830
mov edi, eax
mov dword [ebp - 0x24], edi
cmp edi, 0x757e
jne 0x58352a
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x5834a6
mov eax, dword [eax + 0x10]
jmp 0x5834af
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x5835c1
mov edx, dword [esi + 0x3224]
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5834c3
sub eax, ebx
je 0x583501
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax]
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5834f8
test dl, dl
je 0x5834f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5834f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x5834d8
xor eax, eax
jmp 0x5834fd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x58350b
cmp byte [ebp - 0x36], 0
je 0x5835c1
push str.Restart_type_007_n
mov ecx, esi
call fcn.00558e10
mov ecx, esi
call fcn.005745f0
lea eax, [esi + 0x31f0]
push eax
jmp 0x583294
cmp edi, 0x7586
jne 0x583559
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x583541
mov eax, dword [eax + 0x10]
jmp 0x58354a
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x5835c1
push str.Restart_type_007b_n
jmp 0x583128
test edi, edi
jne 0x5835c1
cmp dword [esi + 0x324c], 0xce
jne 0x5835c1
mov eax, dword [esi + 0x3258]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x583572
sub eax, edx
je 0x5835c1
mov eax, dword [esi + 0xc4]
test eax, eax
jne 0x5835a0
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.00616e70
add esp, 8
test eax, eax
je 0x5835c1
cmp dword [esi + 0x31ec], 2
je 0x5835c1
mov bl, 1
jmp 0x5835c3
xor bl, bl
mov dword [ebp - 4], 0
test byte [ebp - 0x50], 1
je 0x5835dc
and dword [ebp - 0x50], 0xfffffffe
lea ecx, [ebp - 0x34]
call fcn.00402570
test bl, bl
je 0x58361c
mov ecx, dword [esi + 0x31f8]
test ecx, ecx
je 0x5835f3
mov eax, dword [ecx]
push 2
mov edx, dword [eax + 0xc]
call edx
mov dword [esi + 0x31ec], 2
mov ecx, esi
call fcn.005745f0
push str.Restart_type_11_n
mov ecx, esi
call fcn.00558e10
lea eax, [esi + 0x31f0]
push eax
jmp 0x583294
cmp dword [esi + 0x324c], 0xc8
jne 0x583771
mov edx, dword [esi + 0x58]
or edx, dword [esi + 0x5c]
jne 0x583771
cmp dword [esi + 0x64], edx
jg 0x583771
jl 0x58364c
cmp dword [esi + 0x60], edx
ja 0x583771
cmp byte [esi + 0x31fd], 0
jne 0x583771
mov eax, dword [esi + 0x3270]
mov ecx, dword [esi + 0x3274]
mov edx, eax
or edx, ecx
je 0x583771
add eax, 1
adc ecx, 0
cmp eax, dword [esi + 0x3208]
jne 0x583771
cmp ecx, dword [esi + 0x320c]
jne 0x583771
mov edi, 0x7542
mov dword [ebp - 0x24], edi
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0x318]
cmp ecx, 0x40
je 0x5836b2
cmp ecx, 0x80
jne 0x58379b
mov ecx, dword [esi + 0x31f8]
test ecx, ecx
je 0x58379b
cmp byte [ecx + 0x251], 0
je 0x58379b
cmp byte [ecx + 0x252], 0
jne 0x58379b
mov byte [ecx + 0x252], 1
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str._tmp_dashinit
push eax
call fcn.00616e70
add esp, 8
test eax, eax
je 0x583752
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 0x66dea8
lea eax, [ebp - 0x28]
push eax
call fcn.00402f70
add esp, 0xc
push 0x66e97c
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.00426490
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov ecx, esi
call fcn.005745f0
push str.Restart_type_s020s1_n
mov ecx, esi
call fcn.00558e10
lea eax, [esi + 0x31f0]
push eax
jmp 0x583294
test edi, edi
je 0x583ec8
cmp edi, 0x7563
jne 0x583788
mov eax, edi
jmp 0x5850a7
cmp edi, 0x7581
jne 0x583695
mov eax, edi
jmp 0x5850a7
cmp byte [eax + 0x180], 0
jne 0x5837eb
cmp dword [eax + 0x2fc], 0
jl 0x5837eb
jg 0x5837b8
cmp dword [eax + 0x2f8], 0
jbe 0x5837eb
mov ebx, pe_nt_image_headers32
test dword [eax + 0x154], ebx
je 0x5837f0
mov byte [eax + 0x180], 1
mov ecx, esi
call fcn.005745f0
push str.Restart_type_s021s2_n
mov ecx, esi
call fcn.00558e10
lea eax, [esi + 0x31f0]
push eax
jmp 0x583294
mov ebx, pe_nt_image_headers32
cmp byte [eax + 0x1a2], 0
je 0x583830
cmp byte [eax + 0x1a1], 0
jne 0x583830
test dword [eax + 0x154], ebx
je 0x583830
mov byte [eax + 0x1a1], 1
mov ecx, esi
call fcn.005745f0
push str.Restart_type_s021s3_n
mov ecx, esi
call fcn.00558e10
lea eax, [esi + 0x31f0]
push eax
jmp 0x583294
cmp dword [eax + 0x320], 0
jne 0x583a09
test dword [eax + 0x154], ebx
je 0x583a09
test edi, edi
je 0x583a09
mov eax, dword [eax]
push str.youtube.com
push eax
call fcn.00616e70
add esp, 8
test eax, eax
jne 0x583883
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push str.googlevideo.com
push eax
call fcn.00616e70
add esp, 8
test eax, eax
je 0x583a09
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str.sourceyt_otf
push eax
call fcn.00616e70
add esp, 8
test eax, eax
jne 0x5838bd
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
push str._sourceyt_otf
push eax
call fcn.00616e70
add esp, 8
test eax, eax
je 0x583a09
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 8]
push str.otf1
push eax
call fcn.00616e70
add esp, 8
test eax, eax
jne 0x5838f7
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str._otf1
push eax
call fcn.00616e70
add esp, 8
test eax, eax
je 0x583a09
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
push 0x6a6770
push eax
call fcn.00616e70
add esp, 8
test eax, eax
jne 0x583a09
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 8]
push str._sq
push eax
call fcn.00616e70
add esp, 8
test eax, eax
jne 0x583a09
mov ecx, esi
call fcn.005745f0
push str.Restart_type_s020y_n
mov ecx, esi
call fcn.00558e10
mov eax, dword [esi + 0xc0]
mov dword [eax + 0x320], 0x200
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x324], 1
mov eax, dword [esi + 0x31f8]
test eax, eax
je 0x583985
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x583985
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005c5300
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.00426490
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x5839e9
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov eax, ebx
jmp 0x5850a7
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00582e50
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov eax, esi
jmp 0x5850a7
cmp edi, 0x7566
jne 0x583b85
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push str..dailymotion.com
push eax
call fcn.00616e70
add esp, 8
test eax, eax
jne 0x583a4d
mov eax, dword [esi + 0xc0]
mov eax, dword [eax]
push str..dmcdn.net
push eax
call fcn.00616e70
add esp, 8
test eax, eax
je 0x583b85
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
test eax, eax
je 0x583b85
test dword [ecx + 0x154], ebx
je 0x583b85
push 0x2e
push eax
call fcn.00617f70
add esp, 8
test eax, eax
je 0x583b85
push 0x676c88
push eax
call fcn.006172ee
add esp, 8
test eax, eax
jne 0x583b85
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 0x66dea8
lea eax, [ebp - 0x34]
push eax
call fcn.00402f70
push 0x2e
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00617f70
add esp, 0x14
test eax, eax
je 0x583b79
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.00426490
mov ecx, esi
call fcn.005745f0
push str.Restart_type_12_n
mov ecx, esi
call fcn.00558e10
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x583b4d
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 0x5850a7
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00582e50
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 0x5850a7
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.00402570
cmp dword [esi + 0x64], 0
jg 0x583c1e
jl 0x583b9b
cmp dword [esi + 0x60], 0
ja 0x583c1e
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 0x583bb0
sub eax, ebx
je 0x583c1e
cmp byte [edx + 0x345], cl
jne 0x583c1e
cmp edi, 0x7565
je 0x583beb
cmp edi, 0x7566
je 0x583beb
cmp edi, 0x7542
je 0x583beb
cmp edi, 0x756e
je 0x583beb
cmp edi, 0x755e
jne 0x583c1e
mov byte [edx + 0x345], 1
mov edx, dword [esi + 0xc0]
mov byte [edx + 0x34d], 1
mov ecx, esi
call fcn.005745f0
push str.Restart__type_18_n
mov ecx, esi
call fcn.00558e10
lea eax, [esi + 0x31f0]
push eax
jmp 0x583294
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.005886e0
mov eax, dword [ebp - 0x30]
push eax
call fcn.004a76c0
add esp, 4
cmp edi, 0x7565
je 0x583c5b
cmp edi, 0x7542
jne 0x583d80
mov ecx, dword [esi + 0xc0]
cmp byte [ecx + 0x327], 0
jne 0x583d11
test al, al
je 0x583d11
mov ecx, esi
call fcn.005745f0
push str.Restart_type_14_n
mov ecx, esi
call fcn.00558e10
cmp edi, 0x7542
jne 0x583cc7
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x583ca0
mov eax, dword [eax + 0x10]
jmp 0x583ca9
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x583cc7
mov eax, dword [esi + 0xc0]
cmp dword [eax + 0x168], 0
jne 0x583cc7
mov dword [eax + 0x168], 1
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x5840ff
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x327], 1
mov edx, dword [ebp + 8]
push edx
mov ecx, esi
call fcn.00582e50
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, esi
jmp 0x5850a7
cmp edi, 0x7542
jne 0x583d80
cmp dword [ebp + 8], 0
jne 0x583d80
cmp dword [esi + 0x64], 0
jl 0x583d96
jg 0x583d2d
cmp dword [esi + 0x60], 0
jbe 0x583d80
cmp dword [ecx + 0x300], 0
je 0x583d80
mov eax, dword [esi + 0x31f8]
mov edx, dword [eax + 0xb8]
push edx
push 0
call fcn.005c4750
mov ecx, esi
call fcn.005745f0
push str.Restart_type_15_n
mov ecx, esi
call fcn.00558e10
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x5840ff
push eax
jmp 0x583cf5
cmp dword [esi + 0x64], 0
jg 0x583e84
jl 0x583d96
cmp dword [esi + 0x60], 0
ja 0x583e84
cmp byte [esi + 0x31fd], 0
jne 0x583e84
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33e], 0
je 0x583e84
cmp byte [eax + 0x340], 0
jne 0x583e84
cmp edi, 0x7565
je 0x583def
cmp edi, 0x7566
je 0x583def
cmp edi, 0x7542
je 0x583def
cmp edi, 0x756e
je 0x583def
cmp edi, 0x755e
jne 0x583e84
mov byte [esi + 0x31fc], 1
mov byte [esi + 0x31fd], 1
cmp byte [eax + 0x33e], 0
je 0x583e0d
mov byte [eax + 0x340], 1
mov ecx, esi
call fcn.005745f0
push str.Restart_type_16_n
mov ecx, esi
call fcn.00558e10
cmp edi, 0x7542
jne 0x583e5e
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x583e37
mov eax, dword [eax + 0x10]
jmp 0x583e40
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x583e5e
mov eax, dword [esi + 0xc0]
cmp dword [eax + 0x168], 0
jne 0x583e5e
mov dword [eax + 0x168], 1
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x5840ff
mov ecx, dword [ebp + 8]
push ecx
jmp 0x583cf5
mov ecx, dword [esi + 0x3210]
test ecx, ecx
je 0x583f20
call fcn.0059f000
test al, al
jne 0x583f0d
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33f], 0
je 0x583f0d
cmp byte [eax + 0x340], 0
jne 0x583f0d
cmp byte [eax + 0x341], 0
jne 0x583f0d
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
cmp dword [esi + 0x3210], 0
je 0x58469b
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
test eax, eax
jne 0x583ef5
test edi, edi
je 0x58469b
test eax, eax
je 0x58415e
push str.text_html
push eax
call fcn.006172ee
add esp, 8
test eax, eax
sete bl
jmp 0x584160
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, edi
jmp 0x5850a7
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 0x583f30
sub eax, ebx
je 0x583f8d
cmp byte [ecx + 0x34d], dl
jne 0x583f8d
mov byte [ecx + 0x34d], 1
mov ecx, esi
call fcn.005745f0
push str.Restart_type_26_n
mov ecx, esi
call fcn.00558e10
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x583e7b
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, ebx
jmp 0x5850a7
test dword [ecx + 0x154], 0x80000
je 0x584010
mov ecx, dword [ecx + 0x18c]
push str.Firefox_
push ecx
call fcn.00616e70
add esp, 8
test eax, eax
jne 0x583fcf
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x18c]
push str.Chrome_
push eax
call fcn.00616e70
add esp, 8
test eax, eax
je 0x584010
mov ecx, dword [esi + 0xc0]
add ecx, 0x18c
push 0x752a0c
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.005745f0
push str.Restart_type_25_n
jmp 0x583f56
mov eax, dword [esi + 0x3218]
test eax, eax
jne 0x58401f
mov eax, 0x66e97c
push eax
lea ecx, [ebp - 0x28]
call fcn.004030b0
mov byte [ebp - 4], 7
push 0x66e97c
mov ecx, dword [esi + 0xc0]
call fcn.0044fd40
mov eax, dword [esi + 0x31f8]
test eax, eax
je 0x584056
push 0x66e97c
lea ecx, [eax + 0x184]
call fcn.00546c40
mov ecx, esi
call fcn.005779f0
mov edi, dword [esi + 0x31f8]
test edi, edi
je 0x58413e
cmp byte [edi + 0x253], 0
jne 0x58413e
mov eax, dword [esi + 0x3218]
test eax, eax
je 0x58413e
mov ecx, eax
lea ebx, [ecx + 1]
jmp 0x584090
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x584090
sub ecx, ebx
je 0x58413e
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5840a2
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 0x5840b3
sub eax, ebx
cmp edx, eax
je 0x58413e
mov byte [edi + 0x253], 1
mov ecx, esi
call fcn.005745f0
push str.Restart_type_23_n
mov ecx, esi
call fcn.00558e10
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov eax, dword [edx + 0x18]
call eax
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x584112
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 0x5850a7
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00582e50
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 0x5850a7
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 0x5850a7
xor bl, bl
mov ecx, dword [esi + 0x3210]
call fcn.0059f000
test al, al
jne 0x58469b
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33f], 0
je 0x58469b
cmp byte [eax + 0x340], 0
jne 0x58469b
cmp byte [eax + 0x341], 0
jne 0x58469b
test bl, bl
jne 0x5841ac
test edi, edi
je 0x58469b
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 + 0x3210]
call fcn.0059f1c0
test al, al
je 0x584653
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 + 0x3210]
call fcn.0059f1b0
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.0044fdc0
mov ebx, eax
cmp ebx, edi
je 0x5842db
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 0x5850a7
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [esi + 0xc0]
call fcn.0044fe30
mov ebx, eax
cmp ebx, edi
jne 0x58428c
push edi
mov edx, dword [ebp - 0x44]
push edx
mov ecx, dword [esi + 0xc0]
call fcn.00426490
mov ebx, eax
cmp ebx, edi
jne 0x58428c
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [esi + 0xc0]
call fcn.0044fd40
push 0x66e97c
mov ecx, dword [esi + 0xc0]
add ecx, 0xc4
call fcn.00546c40
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x32d], 0
push 0x66e97c
mov ecx, dword [esi + 0xc0]
call fcn.0044fcc0
mov eax, dword [esi + 0x31f8]
cmp eax, edi
je 0x58438c
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x58438c
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x47c], edi
jne 0x584370
push eax
call fcn.005c45f0
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x47c]
cmp eax, edi
je 0x58438c
push str.Referer
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov ebx, dword [ebp - 0x20]
cmp ebx, edi
mov eax, ebx
jne 0x584398
lea eax, [ebp - 0x1c]
lea edx, [eax + 2]
jmp 0x5843a0
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x5843a0
sub eax, edx
sar eax, 1
je 0x584411
cmp ebx, edi
mov eax, ebx
jne 0x5843ba
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005c35d0
mov eax, dword [esi + 0x31f8]
cmp eax, edi
je 0x584411
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x5843e6
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005c52d0
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x584411
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 0x584417
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 0xc0]
mov byte [edx + 0x19e], 1
push 0x66e97c
mov ecx, dword [esi + 0xc0]
add ecx, 0x188
call fcn.00546c40
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.0050ae30
add esp, 4
mov ecx, esi
call fcn.005748d0
cmp dword [esi + 0xbc], edi
jne 0x584501
mov eax, dword [esi + 0xb0]
mov eax, dword [eax]
cmp dword [eax], edi
je 0x584499
push edi
push 0x1478
push 0x111
mov ecx, dword [eax]
push ecx
call ebx
mov eax, dword [esi + 0x31f8]
cmp eax, edi
je 0x584501
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x584501
push edi
push edi
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005c7890
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x5844de
mov edx, dword [eax + 0xb8]
push edx
push 0x1395
push 0x111
mov eax, dword [ecx]
push eax
call ebx
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0x18]
cmp ecx, edi
je 0x584501
mov edx, dword [eax + 0xb8]
push edx
push 0x1395
push 0x111
mov eax, dword [ecx]
push eax
call ebx
cmp dword [esi + 0x31e8], edi
je 0x584535
mov byte [ebp - 4], 0xe
mov eax, dword [esi + 0x31e8]
push eax
call fcn.005e9ab2
add esp, 4
mov dword [ebp - 4], 0xd
jmp 0x584535
mov dword [esi + 0x31e8], 0
mov ecx, dword [esi + 0xc0]
call fcn.005c11f0
mov ecx, esi
call fcn.005745f0
push str.Restart_type_17_n
mov ecx, esi
call fcn.00558e10
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
test edi, edi
jne 0x584604
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.00582e50
mov edi, eax
test edi, edi
jne 0x584604
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x584604
push str.text_html
push eax
call fcn.006172ee
add esp, 8
test eax, eax
je 0x584604
mov eax, dword [esi + 0x31f8]
test eax, eax
je 0x584604
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x584604
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x47c], edi
jne 0x5845d2
push eax
call fcn.005c45f0
mov esi, dword [esi + 0xc0]
cmp dword [esi + 0x47c], 0
je 0x584604
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 0x5850a7
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 + 0x324c]
cmp edx, 0xc8
jne 0x5846c3
mov ecx, dword [esi + 0x58]
or ecx, dword [esi + 0x5c]
jne 0x5846c3
mov eax, dword [esi + 0x3208]
mov dword [esi + 0x58], eax
mov ecx, dword [esi + 0x320c]
mov dword [esi + 0x5c], ecx
cmp edx, 0xce
jne 0x5847b7
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
jne 0x584709
cmp dword [esi + 0x64], eax
jg 0x584709
jl 0x5846e3
cmp dword [esi + 0x60], eax
ja 0x584709
mov eax, dword [esi + 0x3208]
mov ecx, dword [esi + 0x320c]
mov edi, eax
or edi, ecx
je 0x584709
mov edi, dword [esi + 0x3270]
or edi, dword [esi + 0x3274]
jne 0x584709
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ecx
cmp edx, 0xce
jne 0x5847b7
mov ecx, dword [esi + 0x58]
or ecx, dword [esi + 0x5c]
jne 0x5847b7
mov eax, dword [esi + 0x60]
mov edi, dword [esi + 0x64]
test edi, edi
jg 0x5847a5
jl 0x584731
test eax, eax
ja 0x584761
mov ebx, dword [esi + 0x3270]
mov ecx, dword [esi + 0x3274]
mov edx, ebx
or edx, ecx
je 0x584761
mov edx, dword [esi + 0x3208]
mov eax, dword [esi + 0x320c]
cmp ecx, eax
jg 0x584761
jl 0x584759
cmp ebx, edx
jae 0x584761
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
jmp 0x5847b7
test edi, edi
jg 0x5847a5
jl 0x58476d
cmp dword [esi + 0x60], 0
ja 0x5847a5
mov edx, dword [esi + 0x3208]
mov ebx, dword [esi + 0x320c]
mov eax, edx
or eax, ebx
je 0x5847a5
mov eax, edx
add eax, 1
mov ecx, ebx
adc ecx, 0
mov edi, dword [esi + 0x3270]
cmp edi, eax
jne 0x5847a5
mov eax, dword [esi + 0x3274]
cmp eax, ecx
jne 0x5847a5
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], ebx
jmp 0x5847b7
mov ecx, dword [esi + 0x3270]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x3274]
mov dword [esi + 0x5c], edx
mov edx, dword [esi + 0x324c]
cmp edx, 0xc8
je 0x5847cd
cmp edx, 0xce
jne 0x5847f1
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
jne 0x5847f1
mov ecx, dword [esi + 0x3288]
mov eax, dword [esi + 0x328c]
test eax, eax
jl 0x5847f1
jg 0x5847eb
test ecx, ecx
jbe 0x5847f1
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0xc0]
xor edi, edi
cmp dword [eax + 0x320], edi
je 0x58483f
mov eax, dword [esi + 0x31f8]
cmp eax, edi
je 0x58483f
cmp dword [eax + 0x40], edi
je 0x58483f
cmp edx, 0xc8
jne 0x584839
mov ecx, dword [esi + 0x3208]
mov eax, dword [esi + 0x320c]
cmp eax, edi
jl 0x584839
jg 0x58482e
cmp ecx, edi
jbe 0x584839
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 0x584921
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov ebx, ecx
or ebx, edx
je 0x584921
cmp ecx, edi
jne 0x584878
cmp edx, dword [esi + 0x5c]
je 0x584921
mov edi, dword [eax + 0xc8]
or edi, dword [eax + 0xcc]
je 0x584921
cmp byte [esi + 0x3254], 0
jne 0x584e85
cmp dword [esi + 0x324c], 0xce
jne 0x5848d7
mov edi, dword [esi + 0x3270]
mov ebx, dword [esi + 0x3274]
sub ecx, 1
sbb edx, 0
cmp edi, ecx
jne 0x5848d7
cmp ebx, edx
jne 0x5848d7
mov edx, dword [esi + 0x3278]
or edx, dword [esi + 0x327c]
jne 0x5848d7
mov dword [esi + 0x3278], edi
mov dword [esi + 0x327c], ebx
mov edi, dword [esi + 0x3278]
mov ecx, dword [esi + 0x327c]
mov edx, edi
or edx, ecx
je 0x584bbe
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 0x584bbe
cmp dword [esi + 0x327c], edx
jne 0x584bbe
mov dword [esi + 0x58], ebx
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x5c], eax
cmp byte [esi + 0x3254], 0
jne 0x584e85
mov eax, dword [esi + 0xc0]
mov edi, dword [eax + 0xbc]
xor ebx, ebx
cmp edi, ebx
je 0x584e59
mov eax, dword [eax + 0x114]
mov dword [ebp - 0x3c], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x584950
sub eax, edx
je 0x584e59
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x584964
sub eax, edx
je 0x584e59
mov dword [ebp - 0x60], 1
push 0x3b
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00616db0
add esp, 8
test eax, eax
je 0x5849e2
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0xbc]
push 0x3b
push eax
call fcn.00616db0
add esp, 8
test eax, eax
jne 0x5849e2
mov edi, dword [esi + 0xc0]
mov ecx, dword [edi + 0xbc]
mov eax, ecx
lea edx, [eax + 1]
mov dword [ebp - 0x3c], edx
jmp 0x5849c0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x5849c0
sub eax, dword [ebp - 0x3c]
mov edi, dword [edi + 0x114]
push eax
push ecx
push edi
call fcn.0061cf0f
add esp, 0xc
test eax, eax
jne 0x5849e2
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 0x5849f6
sub eax, dword [ebp - 0x3c]
push eax
mov edx, dword [edx + 0xbc]
push edx
push edi
call fcn.0061cf0f
add esp, 0xc
test eax, eax
je 0x584e59
cmp dword [ebp - 0x60], ebx
je 0x584e59
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.0061a1ff
add esp, 0xc
test eax, eax
jne 0x584a6a
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.0061a1ff
add esp, 0xc
test eax, eax
je 0x584a6a
mov byte [ebp - 0x29], 0
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0x114]
push 0xa
push str.text_plain
push eax
call fcn.0061a1ff
add esp, 0xc
test eax, eax
jne 0x584aae
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.0061a1ff
add esp, 0xc
test eax, eax
je 0x584aae
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.0061cf0f
add esp, 0xc
test eax, eax
jne 0x584b26
push 0x1d
push str.application_vnd.apple.mpegurl
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.0061cf0f
add esp, 0xc
test eax, eax
je 0x584b0c
push str.video_MP2T
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.006172ee
add esp, 8
test eax, eax
jne 0x584b26
mov byte [ebp - 0x29], 0
push 0x66e97c
mov ecx, dword [esi + 0xc0]
add ecx, 0x114
call fcn.00546c40
push 9
push str.text_html
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
push eax
call fcn.0061a1ff
add esp, 0xc
test eax, eax
je 0x584dbc
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx]
push 0x6736c8
push eax
call fcn.00616e70
add esp, 8
test eax, eax
jne 0x584b82
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push 0x6736b4
push eax
call fcn.00616e70
add esp, 8
test eax, eax
je 0x584dbc
mov eax, dword [esi + 0xc0]
mov edi, dword [eax + 8]
cmp edi, ebx
je 0x584dbc
mov ecx, 0xe
mov eax, str.videoplayback_
lea ecx, [ecx]
cmp ecx, 4
jb 0x584d2d
mov edx, dword [edi]
cmp edx, dword [eax]
jne 0x584dbc
sub ecx, 4
add eax, 4
add edi, 4
jmp 0x584ba0
cmp dword [esi + 0x324c], 0xce
jne 0x584c17
mov edi, dword [esi + 0x3290]
mov ecx, dword [esi + 0x3294]
mov edx, edi
or edx, ecx
je 0x584c17
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 + 0x3294]
mov edi, dword [esi + 0x3208]
cmp edi, ecx
jne 0x584c17
mov ecx, dword [esi + 0x320c]
cmp ecx, edx
jne 0x584c17
mov dword [esi + 0x58], ebx
mov edx, dword [ebp - 0x3c]
mov dword [esi + 0x5c], edx
jmp 0x584921
mov edx, dword [esi + 0xc0]
cmp dword [eax + 0x13c], 0
je 0x584c44
cmp byte [edx + 0x343], 0
jne 0x584c38
cmp byte [edx + 0x17a], 0
je 0x584c44
mov byte [esi + 0x3254], 1
jmp 0x584921
mov bl, byte [esi + 0x3262]
test bl, bl
je 0x584c82
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xd4]
mov edi, dword [esi + 0x3270]
cmp edi, ecx
jne 0x584c82
mov edi, dword [esi + 0x3274]
cmp edi, eax
jne 0x584c82
cmp dword [esi + 0x324c], 0xce
jne 0x584c82
mov dword [esi + 0x58], ecx
jmp 0x58491e
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x64]
test eax, eax
jg 0x584cdf
jl 0x584c92
test ecx, ecx
ja 0x584cd5
cmp byte [esi + 0x31fd], 0
jne 0x584cd5
cmp byte [edx + 0x33e], 0
je 0x584cd5
cmp byte [edx + 0x340], 0
jne 0x584cd5
mov byte [esi + 0x31fc], 1
mov byte [esi + 0x31fd], 1
cmp byte [edx + 0x33e], 0
je 0x584ccb
mov byte [edx + 0x340], 1
push str.Restart_type_21a_n
jmp 0x583510
test eax, eax
jl 0x584d1c
jg 0x584cdf
test ecx, ecx
jbe 0x584d1c
cmp byte [esi + 0x3204], 0
jne 0x584d1c
test bl, bl
jne 0x584d1c
mov byte [esi + 0x3262], 1
mov dword [edx + 0x300], 1
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33e], bl
je 0x584d12
mov byte [eax + 0x340], 1
push str.Restart_type_21b_n
jmp 0x583510
mov ecx, esi
call fcn.005745f0
mov eax, 0x757a
jmp 0x5850a7
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x584dbc
mov dl, byte [eax + 1]
cmp dl, byte [edi + 1]
jne 0x584dbc
push 6
push str.video_
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.0061a1ff
add esp, 0xc
test eax, eax
jne 0x584d9d
push 6
push str.audio_
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
push eax
call fcn.0061a1ff
add esp, 0xc
test eax, eax
jne 0x584d9d
push str.application_octet_stream
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.006172ee
add esp, 8
test eax, eax
jne 0x584dbc
mov byte [ebp - 0x29], 0
push 0x66e97c
mov ecx, dword [esi + 0xc0]
add ecx, 0x114
call fcn.00546c40
jmp 0x584e59
cmp byte [ebp - 0x29], 0
je 0x584e59
mov ecx, dword [esi + 0x31f8]
cmp dword [ecx + 0x13c], ebx
je 0x584e03
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x343], 0
jne 0x584dec
cmp byte [eax + 0x17a], 0
je 0x584e03
mov eax, dword [ecx + 0xc8]
or eax, dword [ecx + 0xcc]
je 0x584e59
mov byte [esi + 0x3254], 1
jmp 0x584e59
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.0061a1ff
add esp, 0xc
test eax, eax
je 0x584d1c
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov ecx, eax
or ecx, edx
je 0x584d1c
mov ecx, dword [esi + 0xc0]
cmp eax, dword [ecx + 0x130]
jne 0x584d1c
cmp edx, dword [ecx + 0x134]
jne 0x584d1c
mov byte [ebp - 0x29], 0
cmp byte [esi + 0x3254], 0
jne 0x584e87
mov edx, dword [esi + 0x321c]
mov eax, edx
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x584e70
sub eax, edi
je 0x584e87
push edx
mov ecx, esi
call fcn.00573180
jmp 0x584e87
xor ebx, ebx
push 0x66e97c
lea ecx, [esi + 0x321c]
call fcn.00546c40
cmp byte [esi + 0x3254], 0
je 0x584ffc
mov byte [esi + 0x3254], 0
lea ecx, [esi + 0x10]
call fcn.00561ed0
mov eax, dword [esi + 0x31f8]
cmp dword [eax + 0xb0], ebx
setne byte [ebp - 0x35]
lea ecx, [eax + 0x28]
call fcn.00551d50
mov eax, dword [esi + 0x31f8]
mov dword [eax + 0xc8], ebx
mov dword [eax + 0xcc], ebx
mov eax, dword [esi + 0x31f8]
mov dword [eax + 0xd0], ebx
mov dword [eax + 0xd4], ebx
mov eax, dword [esi + 0x31f8]
mov dword [eax + 0x1c0], ebx
mov dword [eax + 0x1c4], ebx
mov dword [esi + 0x3250], 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 + 0x3208], ebx
mov dword [esi + 0x320c], ebx
mov dword [esi + 0x3268], ebx
mov dword [esi + 0x326c], ebx
mov dword [esi + 0x3270], ebx
mov dword [esi + 0x3274], ebx
mov dword [esi + 0x3278], ebx
mov dword [esi + 0x327c], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x3288], ebx
mov dword [esi + 0x328c], ebx
mov eax, dword [esi + 0x31f8]
cmp eax, ebx
je 0x584f84
mov byte [eax + 0x871], 0
push str.Restart_type_008_n
mov ecx, esi
call fcn.00558e10
mov ecx, esi
call fcn.005745f0
mov edx, dword [esi]
lea eax, [esi + 0x31f0]
push eax
mov ecx, esi
mov edx, dword [edx + 0x18]
call edx
mov dword [ebp - 0x24], eax
cmp eax, ebx
jne 0x5850a7
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.00582e50
mov edi, eax
mov dword [ebp - 0x24], edi
cmp edi, ebx
jne 0x582fe3
cmp byte [ebp - 0x35], 0
je 0x584fee
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0x30]
push edx
push esi
mov ecx, dword [esi + 0x31f8]
add ecx, 0x28
call fcn.00551ee0
mov edi, eax
mov dword [ebp - 0x24], edi
mov ecx, esi
call fcn.00559150
mov eax, edi
jmp 0x5850a7
mov dword [esi + 0x9c], 6
mov dword [esi + 0xb8], ebx
push 1
mov eax, dword [0x753a88]
push eax
mov ecx, esi
call fcn.00559660
cmp dword [esi + 0xbc], ebx
jne 0x585049
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x585049
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 0x585086
mov esi, dword [esi + 0x194]
mov eax, 4
cmp dword [esi + 0x154], eax
jne 0x585086
cmp byte [esi + 0x15e], 0
je 0x585086
mov dword [ebp - 0x3c], eax
push eax
lea edx, [ebp - 0x3c]
push edx
push eax
push ebx
push str.SocksType
mov eax, dword [0x752bcc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
xor eax, eax
jmp 0x5850a7
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.006157d3
mov esp, ebp
pop ebp
ret 4