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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x655479
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x7496c8]
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 0x581a5f
cmp byte [eax + 0x347], 0
mov eax, 5
jne 0x581a64
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 0x581c71
cmp edi, 0x2751
je 0x581aa0
cmp edi, 0x2743
jne 0x581b9a
mov eax, dword [esi + 0xc0]
test dword [eax + 0x154], 0x2400000
jne 0x581b9a
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 0x581c71
cmp dword [ebp - 0x34], edi
jne 0x581b1f
mov eax, dword [esi + 0xc0]
xor ecx, ecx
cmp byte [eax + 0x17b], cl
sete cl
mov byte [eax + 0x17b], cl
test edi, edi
je 0x581c8b
push edi
mov ecx, esi
call fcn.00557b50
test eax, eax
je 0x581b43
push edi
mov ecx, esi
call fcn.00557ad0
test eax, eax
je 0x581c23
mov ecx, esi
call fcn.00558900
test eax, eax
je 0x581c23
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 0x581c71
test edi, edi
je 0x581c8b
push edi
mov ecx, esi
call fcn.00557b50
test eax, eax
je 0x581b43
mov eax, edi
jmp 0x583c0f
cmp edi, 0x274c
jne 0x581b1f
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x17b], 0
je 0x581b27
test dword [eax + 0x154], 0x400000
jne 0x581b27
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 0x581c71
cmp edi, 0x274c
jne 0x581b1f
mov eax, dword [esi + 0xc0]
mov byte [eax + 0x17b], 1
jmp 0x581b27
test edi, edi
je 0x581c8b
mov dword [ebp - 0x58], 0
mov edi, edi
push edi
mov ecx, esi
call fcn.00557b50
test eax, eax
jne 0x581c83
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp eax, 5
jg 0x581c83
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 0x581c30
lea ecx, [eax + 0x28]
call fcn.0054fb20
mov eax, 0x7540
jmp 0x583c0f
test edi, edi
jne 0x581b93
mov dword [esi + 0x3244], 1
add dword [ebp - 0x28], 0x7d0
mov eax, dword [esi + 0x194]
test eax, eax
je 0x581d0b
mov cl, byte [eax + 0x15c]
mov byte [ebp - 0x35], cl
test cl, cl
je 0x581d0f
mov ecx, esi
call fcn.005718b0
mov edi, eax
mov dword [ebp - 0x24], edi
test edi, edi
je 0x581ea8
cmp edi, 0x7585
jne 0x581d9e
push str.Restart_type_002_n
mov ecx, esi
call fcn.005579a0
mov ecx, esi
call fcn.00573220
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 0x583c0f
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.00581a00
jmp 0x583c0f
mov byte [ebp - 0x35], 0
test eax, eax
je 0x581ea8
cmp byte [eax + 0x137], 0
je 0x581ea8
mov ecx, dword [esi + 0x346c]
test ecx, ecx
je 0x581ea8
lea edx, [ecx + 0x3328]
push edx
mov eax, dword [ecx + 0x337c]
push eax
call fcn.005cf390
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x583c0f
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.005d2220
mov dword [ebp - 0x24], eax
test eax, eax
je 0x581e96
cmp eax, 0x757e
jne 0x583c0f
push str.Restart_type_005_n
jmp 0x581e35
mov ecx, dword [esi + 0x194]
mov al, byte [ecx + 0x15d]
test al, al
jne 0x581dfd
cmp edi, 0x7559
jne 0x581dfd
cmp dword [ecx + 0x154], 5
jne 0x581dfd
cmp byte [ecx + 0x15e], al
jne 0x581dfd
cmp byte [ecx + 0x15f], al
jne 0x581dfd
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 0x581cd8
mov edx, dword [ecx + 0x154]
cmp edx, 5
jne 0x581e68
cmp edi, 0x7580
jne 0x581e68
cmp byte [ecx + 0x15e], 0
jne 0x581e68
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.005579a0
mov ecx, esi
call fcn.00573220
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 0x583c0f
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00581a00
jmp 0x583c0f
test al, al
jne 0x581e8f
cmp edx, 4
jne 0x581e8f
cmp byte [ecx + 0x15e], al
je 0x581e8f
cmp byte [ecx + 0x15f], al
je 0x581e8f
mov dword [ecx + 0x154], edx
mov edi, 0x7559
mov dword [ebp - 0x24], edi
mov eax, edi
jmp 0x583c0f
mov ecx, dword [esi + 0x346c]
lea edx, [ecx + 0x3330]
push edx
call fcn.005cfa50
add dword [ebp - 0x28], 0x153
mov byte [ebp - 0x36], 1
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x581ec2
mov eax, dword [eax + 0x10]
jmp 0x581ecb
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0x24]
cmp eax, 2
jne 0x582008
mov byte [ebp - 0x36], 0
mov ecx, dword [esi + 0x194]
cmp dword [ecx], 0
je 0x581f29
push 1
mov ecx, esi
call fcn.0057e7b0
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x583c0f
cmp dword [esi + 0x324c], 0xc8
je 0x581f1f
mov edx, dword [esi + 0x3234]
push edx
mov ecx, dword [esi + 0xac]
call fcn.00560a60
mov eax, 0x756d
jmp 0x583c0f
mov dword [esi + 0x9c], 0x10
lea eax, [esi + 0x3328]
push eax
mov eax, dword [esi + 0x337c]
push eax
mov ecx, esi
call fcn.005cf390
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x583c0f
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x581f57
mov eax, dword [eax]
jmp 0x581f5f
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.005d2220
mov dword [ebp - 0x24], eax
mov ecx, esi
test eax, eax
je 0x582002
call fcn.00573220
cmp byte [esi + 0xdb], 0
jne 0x581fe9
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x168], 5
jne 0x581fe9
mov eax, dword [ebp - 0x24]
cmp eax, 0x80090304
jne 0x581fec
mov ecx, esi
call fcn.00558900
test eax, eax
je 0x581ff8
push str.Try_next_server_n
mov ecx, esi
call fcn.005579a0
mov edx, dword [esi + 0xc0]
mov dword [edx + 0x168], 0
push str.Restart_type_006_n
mov ecx, esi
call fcn.005579a0
jmp 0x581ce6
mov eax, dword [ebp - 0x24]
cmp eax, 0x757e
je 0x581fd8
jmp 0x583c0f
mov eax, 0x80090304
jmp 0x583c0f
push edi
call fcn.005cfa50
mov ecx, esi
cmp dword [ebp + 8], 0
je 0x582017
call fcn.00570d10
jmp 0x582020
mov edx, dword [esi]
push 0
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x583c0f
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.0057e3f0
mov edi, eax
mov dword [ebp - 0x24], edi
cmp edi, 0x757e
jne 0x5820da
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x582056
mov eax, dword [eax + 0x10]
jmp 0x58205f
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x582171
mov edx, dword [esi + 0x3224]
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x582073
sub eax, ebx
je 0x5820b1
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax]
mov eax, edx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5820a8
test dl, dl
je 0x5820a4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5820a8
add eax, 2
add ecx, 2
test dl, dl
jne 0x582088
xor eax, eax
jmp 0x5820ad
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5820bb
cmp byte [ebp - 0x36], 0
je 0x582171
push str.Restart_type_007_n
mov ecx, esi
call fcn.005579a0
mov ecx, esi
call fcn.00573220
lea eax, [esi + 0x31f0]
push eax
jmp 0x581e44
cmp edi, 0x7586
jne 0x582109
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x5820f1
mov eax, dword [eax + 0x10]
jmp 0x5820fa
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x24]
cmp eax, 2
jne 0x582171
push str.Restart_type_007b_n
jmp 0x581cd8
test edi, edi
jne 0x582171
cmp dword [esi + 0x324c], 0xce
jne 0x582171
mov eax, dword [esi + 0x3258]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x582122
sub eax, edx
je 0x582171
mov eax, dword [esi + 0xc4]
test eax, eax
jne 0x582150
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx]
push edx
lea ecx, [ebp - 0x34]
call fcn.004030c0
mov byte [ebp - 4], 1
or dword [ebp - 0x50], 1
mov eax, dword [eax]
push str.sciencedirect.com
push eax
call fcn.006148e0
add esp, 8
test eax, eax
je 0x582171
cmp dword [esi + 0x31ec], 2
je 0x582171
mov bl, 1
jmp 0x582173
xor bl, bl
mov dword [ebp - 4], 0
test byte [ebp - 0x50], 1
je 0x58218c
and dword [ebp - 0x50], 0xfffffffe
lea ecx, [ebp - 0x34]
call fcn.00402570
test bl, bl
je 0x5821cc
mov ecx, dword [esi + 0x31f8]
test ecx, ecx
je 0x5821a3
mov eax, dword [ecx]
push 2
mov edx, dword [eax + 0xc]
call edx
mov dword [esi + 0x31ec], 2
mov ecx, esi
call fcn.00573220
push str.Restart_type_11_n
mov ecx, esi
call fcn.005579a0
lea eax, [esi + 0x31f0]
push eax
jmp 0x581e44
cmp dword [esi + 0x324c], 0xc8
jne 0x582321
mov edx, dword [esi + 0x58]
or edx, dword [esi + 0x5c]
jne 0x582321
cmp dword [esi + 0x64], edx
jg 0x582321
jl 0x5821fc
cmp dword [esi + 0x60], edx
ja 0x582321
cmp byte [esi + 0x31fd], 0
jne 0x582321
mov eax, dword [esi + 0x3270]
mov ecx, dword [esi + 0x3274]
mov edx, eax
or edx, ecx
je 0x582321
add eax, 1
adc ecx, 0
cmp eax, dword [esi + 0x3208]
jne 0x582321
cmp ecx, dword [esi + 0x320c]
jne 0x582321
mov edi, 0x7542
mov dword [ebp - 0x24], edi
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0x318]
cmp ecx, 0x40
je 0x582262
cmp ecx, 0x80
jne 0x58234b
mov ecx, dword [esi + 0x31f8]
test ecx, ecx
je 0x58234b
cmp byte [ecx + 0x251], 0
je 0x58234b
cmp byte [ecx + 0x252], 0
jne 0x58234b
mov byte [ecx + 0x252], 1
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str._tmp_dashinit
push eax
call fcn.006148e0
add esp, 8
test eax, eax
je 0x582302
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 0x66ae98
lea eax, [ebp - 0x28]
push eax
call fcn.00402f80
add esp, 0xc
push 0x66b96c
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.00426780
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov ecx, esi
call fcn.00573220
push str.Restart_type_s020s1_n
mov ecx, esi
call fcn.005579a0
lea eax, [esi + 0x31f0]
push eax
jmp 0x581e44
test edi, edi
je 0x582a5d
cmp edi, 0x7563
jne 0x582338
mov eax, edi
jmp 0x583c0f
cmp edi, 0x7581
jne 0x582245
mov eax, edi
jmp 0x583c0f
cmp byte [eax + 0x180], 0
jne 0x58239b
cmp dword [eax + 0x2fc], 0
jl 0x58239b
jg 0x582368
cmp dword [eax + 0x2f8], 0
jbe 0x58239b
mov ebx, 0x100
test dword [eax + 0x154], ebx
je 0x5823a0
mov byte [eax + 0x180], 1
mov ecx, esi
call fcn.00573220
push str.Restart_type_s021s2_n
mov ecx, esi
call fcn.005579a0
lea eax, [esi + 0x31f0]
push eax
jmp 0x581e44
mov ebx, 0x100
cmp byte [eax + 0x1a2], 0
je 0x5823e0
cmp byte [eax + 0x1a1], 0
jne 0x5823e0
test dword [eax + 0x154], ebx
je 0x5823e0
mov byte [eax + 0x1a1], 1
mov ecx, esi
call fcn.00573220
push str.Restart_type_s021s3_n
mov ecx, esi
call fcn.005579a0
lea eax, [esi + 0x31f0]
push eax
jmp 0x581e44
cmp dword [eax + 0x320], 0
jne 0x5825b9
test dword [eax + 0x154], ebx
je 0x5825b9
test edi, edi
je 0x5825b9
mov eax, dword [eax]
push str.youtube.com
push eax
call fcn.006148e0
add esp, 8
test eax, eax
jne 0x582433
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push str.googlevideo.com
push eax
call fcn.006148e0
add esp, 8
test eax, eax
je 0x5825b9
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str.sourceyt_otf
push eax
call fcn.006148e0
add esp, 8
test eax, eax
jne 0x58246d
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
push str._sourceyt_otf
push eax
call fcn.006148e0
add esp, 8
test eax, eax
je 0x5825b9
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 8]
push str.otf1
push eax
call fcn.006148e0
add esp, 8
test eax, eax
jne 0x5824a7
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 8]
push str._otf1
push eax
call fcn.006148e0
add esp, 8
test eax, eax
je 0x5825b9
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
push 0x6a371c
push eax
call fcn.006148e0
add esp, 8
test eax, eax
jne 0x5825b9
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 8]
push str._sq
push eax
call fcn.006148e0
add esp, 8
test eax, eax
jne 0x5825b9
mov ecx, esi
call fcn.00573220
push str.Restart_type_s020y_n
mov ecx, esi
call fcn.005579a0
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 0x582535
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x582535
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005c38a0
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.00402f80
add esp, 0xc
push 0
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [esi + 0xc0]
call fcn.00426780
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 0x582599
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov eax, ebx
jmp 0x583c0f
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00581a00
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402570
mov eax, esi
jmp 0x583c0f
cmp edi, 0x7566
jne 0x582735
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push str..dailymotion.com
push eax
call fcn.006148e0
add esp, 8
test eax, eax
jne 0x5825fd
mov eax, dword [esi + 0xc0]
mov eax, dword [eax]
push str..dmcdn.net
push eax
call fcn.006148e0
add esp, 8
test eax, eax
je 0x582735
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 8]
test eax, eax
je 0x582735
test dword [ecx + 0x154], ebx
je 0x582735
push 0x2e
push eax
call fcn.006159e0
add esp, 8
test eax, eax
je 0x582735
push 0x673c68
push eax
call fcn.00614d5e
add esp, 8
test eax, eax
jne 0x582735
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 0x66ae98
lea eax, [ebp - 0x34]
push eax
call fcn.00402f80
push 0x2e
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.006159e0
add esp, 0x14
test eax, eax
je 0x582729
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.00402f80
add esp, 0xc
push 0
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, dword [esi + 0xc0]
call fcn.00426780
mov ecx, esi
call fcn.00573220
push str.Restart_type_12_n
mov ecx, esi
call fcn.005579a0
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 0x5826fd
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 0x583c0f
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00581a00
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 0x583c0f
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.00402570
cmp dword [esi + 0x64], 0
jg 0x5827b3
jl 0x582743
cmp dword [esi + 0x60], 0
ja 0x5827b3
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x378]
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x582752
sub eax, ebx
je 0x5827b3
cmp byte [edx + 0x345], cl
jne 0x5827b3
cmp edi, 0x7565
je 0x58278d
cmp edi, 0x7566
je 0x58278d
cmp edi, 0x7542
je 0x58278d
cmp edi, 0x756e
je 0x58278d
cmp edi, 0x755e
jne 0x5827b3
mov byte [edx + 0x345], 1
mov ecx, esi
call fcn.00573220
push str.Restart__type_18_n
mov ecx, esi
call fcn.005579a0
lea eax, [esi + 0x31f0]
push eax
jmp 0x581e44
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.00587240
mov eax, dword [ebp - 0x30]
push eax
call fcn.004a6230
add esp, 4
cmp edi, 0x7565
je 0x5827f0
cmp edi, 0x7542
jne 0x582915
mov ecx, dword [esi + 0xc0]
cmp byte [ecx + 0x327], 0
jne 0x5828a6
test al, al
je 0x5828a6
mov ecx, esi
call fcn.00573220
push str.Restart_type_14_n
mov ecx, esi
call fcn.005579a0
cmp edi, 0x7542
jne 0x58285c
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x582835
mov eax, dword [eax + 0x10]
jmp 0x58283e
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x58285c
mov eax, dword [esi + 0xc0]
cmp dword [eax + 0x168], 0
jne 0x58285c
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 0x582c63
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x327], 1
mov edx, dword [ebp + 8]
push edx
mov ecx, esi
call fcn.00581a00
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, esi
jmp 0x583c0f
cmp edi, 0x7542
jne 0x582915
cmp dword [ebp + 8], 0
jne 0x582915
cmp dword [esi + 0x64], 0
jl 0x58292b
jg 0x5828c2
cmp dword [esi + 0x60], 0
jbe 0x582915
cmp dword [ecx + 0x300], 0
je 0x582915
mov eax, dword [esi + 0x31f8]
mov edx, dword [eax + 0xb8]
push edx
push 0
call fcn.005c2cf0
mov ecx, esi
call fcn.00573220
push str.Restart_type_15_n
mov ecx, esi
call fcn.005579a0
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 0x582c63
push eax
jmp 0x58288a
cmp dword [esi + 0x64], 0
jg 0x582a19
jl 0x58292b
cmp dword [esi + 0x60], 0
ja 0x582a19
cmp byte [esi + 0x31fd], 0
jne 0x582a19
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33e], 0
je 0x582a19
cmp byte [eax + 0x340], 0
jne 0x582a19
cmp edi, 0x7565
je 0x582984
cmp edi, 0x7566
je 0x582984
cmp edi, 0x7542
je 0x582984
cmp edi, 0x756e
je 0x582984
cmp edi, 0x755e
jne 0x582a19
mov byte [esi + 0x31fc], 1
mov byte [esi + 0x31fd], 1
cmp byte [eax + 0x33e], 0
je 0x5829a2
mov byte [eax + 0x340], 1
mov ecx, esi
call fcn.00573220
push str.Restart_type_16_n
mov ecx, esi
call fcn.005579a0
cmp edi, 0x7542
jne 0x5829f3
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x5829cc
mov eax, dword [eax + 0x10]
jmp 0x5829d5
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0x24]
cmp eax, 2
jne 0x5829f3
mov eax, dword [esi + 0xc0]
cmp dword [eax + 0x168], 0
jne 0x5829f3
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 0x582c63
mov ecx, dword [ebp + 8]
push ecx
jmp 0x58288a
mov ecx, dword [esi + 0x3210]
test ecx, ecx
je 0x582ab5
call fcn.0059d820
test al, al
jne 0x582aa2
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33f], 0
je 0x582aa2
cmp byte [eax + 0x340], 0
jne 0x582aa2
cmp byte [eax + 0x341], 0
jne 0x582aa2
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
cmp dword [esi + 0x3210], 0
je 0x5831ff
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
test eax, eax
jne 0x582a8a
test edi, edi
je 0x5831ff
test eax, eax
je 0x582cc2
push str.text_html
push eax
call fcn.00614d5e
add esp, 8
test eax, eax
sete bl
jmp 0x582cc4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, edi
jmp 0x583c0f
mov eax, dword [esi + 0xc0]
test dword [eax + 0x154], 0x80000
je 0x582b74
mov eax, dword [eax + 0x18c]
push str.Firefox_
push eax
call fcn.006148e0
add esp, 8
test eax, eax
jne 0x582b01
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x18c]
push str.Chrome_
push eax
call fcn.006148e0
add esp, 8
test eax, eax
je 0x582b74
mov ecx, dword [esi + 0xc0]
add ecx, 0x18c
push 0x74e84c
call fcn.00405920
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.00573220
push str.Restart_type_25_n
mov ecx, esi
call fcn.005579a0
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 0x582a10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00402570
mov eax, ebx
jmp 0x583c0f
mov eax, dword [esi + 0x3218]
test eax, eax
jne 0x582b83
mov eax, 0x66b96c
push eax
lea ecx, [ebp - 0x28]
call fcn.004030c0
mov byte [ebp - 4], 7
push 0x66b96c
mov ecx, dword [esi + 0xc0]
call fcn.0044f690
mov eax, dword [esi + 0x31f8]
test eax, eax
je 0x582bba
push 0x66b96c
lea ecx, [eax + 0x184]
call fcn.00545860
mov ecx, esi
call fcn.00576620
mov edi, dword [esi + 0x31f8]
test edi, edi
je 0x582ca2
cmp byte [edi + 0x253], 0
jne 0x582ca2
mov eax, dword [esi + 0x3218]
test eax, eax
je 0x582ca2
mov ecx, eax
lea ebx, [ecx + 1]
nop
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x582bf0
sub ecx, ebx
je 0x582ca2
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x582c02
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 0x582c13
sub eax, ebx
cmp edx, eax
je 0x582ca2
mov byte [edi + 0x253], 1
mov ecx, esi
call fcn.00573220
push str.Restart_type_23_n
mov ecx, esi
call fcn.005579a0
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 0x582c76
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 0x583c0f
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00581a00
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 0x583c0f
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 0x583c0f
xor bl, bl
mov ecx, dword [esi + 0x3210]
call fcn.0059d820
test al, al
jne 0x5831ff
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33f], 0
je 0x5831ff
cmp byte [eax + 0x340], 0
jne 0x5831ff
cmp byte [eax + 0x341], 0
jne 0x5831ff
test bl, bl
jne 0x582d10
test edi, edi
je 0x5831ff
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.0059d9e0
test al, al
je 0x5831b7
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.0059d9d0
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.0044f710
mov ebx, eax
cmp ebx, edi
je 0x582e3f
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
call fcn.004011f0
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 0x583c0f
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [esi + 0xc0]
call fcn.0044f780
mov ebx, eax
cmp ebx, edi
jne 0x582df0
push edi
mov edx, dword [ebp - 0x44]
push edx
mov ecx, dword [esi + 0xc0]
call fcn.00426780
mov ebx, eax
cmp ebx, edi
jne 0x582df0
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [esi + 0xc0]
call fcn.0044f690
push 0x66b96c
mov ecx, dword [esi + 0xc0]
add ecx, 0xc4
call fcn.00545860
mov ecx, dword [esi + 0xc0]
mov byte [ecx + 0x32d], 0
push 0x66b96c
mov ecx, dword [esi + 0xc0]
call fcn.0044f610
mov eax, dword [esi + 0x31f8]
cmp eax, edi
je 0x582ef0
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x582ef0
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x478], edi
jne 0x582ed4
push eax
call fcn.005c2b90
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0x478]
cmp eax, edi
je 0x582ef0
push str.Referer
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov ebx, dword [ebp - 0x20]
cmp ebx, edi
mov eax, ebx
jne 0x582efc
lea eax, [ebp - 0x1c]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x582f00
sub eax, edx
sar eax, 1
je 0x582f71
cmp ebx, edi
mov eax, ebx
jne 0x582f1a
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005c1b70
mov eax, dword [esi + 0x31f8]
cmp eax, edi
je 0x582f71
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x582f46
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005c3870
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x582f71
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 0x582f77
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 0xc0]
mov byte [edx + 0x19e], 1
push 0x66b96c
mov ecx, dword [esi + 0xc0]
add ecx, 0x188
call fcn.00545860
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.00509c30
add esp, 4
mov ecx, esi
call fcn.00573500
cmp dword [esi + 0xbc], edi
jne 0x583061
mov eax, dword [esi + 0xb0]
mov eax, dword [eax]
cmp dword [eax], edi
je 0x582ff9
push edi
push 0x1478
push 0x111
mov ecx, dword [eax]
push ecx
call ebx
mov eax, dword [esi + 0x31f8]
cmp eax, edi
je 0x583061
mov eax, dword [eax + 0xb8]
cmp eax, edi
je 0x583061
push edi
push edi
push eax
mov ecx, dword [esi + 0xc0]
call fcn.005c5db0
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
je 0x58303e
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 0x583061
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 0x583095
mov byte [ebp - 4], 0xe
mov eax, dword [esi + 0x31e8]
push eax
call fcn.005e76a7
add esp, 4
mov dword [ebp - 4], 0xd
jmp 0x583095
mov dword [esi + 0x31e8], 0
mov ecx, dword [esi + 0xc0]
call fcn.005bf7a0
mov ecx, esi
call fcn.00573220
push str.Restart_type_17_n
mov ecx, esi
call fcn.005579a0
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 0x583168
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.00581a00
mov edi, eax
test edi, edi
jne 0x583168
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx + 0xbc]
test eax, eax
je 0x583168
push str.text_html
push eax
call fcn.00614d5e
add esp, 8
test eax, eax
je 0x583168
mov eax, dword [esi + 0x31f8]
test eax, eax
je 0x583168
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x583168
mov ecx, dword [esi + 0xc0]
cmp dword [ecx + 0x478], edi
jne 0x583136
push eax
call fcn.005c2b90
mov esi, dword [esi + 0xc0]
cmp dword [esi + 0x478], 0
je 0x583168
mov dword [ebp - 0x28], 1
push 4
lea edx, [ebp - 0x28]
push edx
push 4
push 0
push str.noSyntRef
mov eax, dword [esi + 0x478]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
call fcn.004011f0
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 0x583c0f
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x20]
call fcn.004011f0
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 0x583227
mov ecx, dword [esi + 0x58]
or ecx, dword [esi + 0x5c]
jne 0x583227
mov eax, dword [esi + 0x3208]
mov dword [esi + 0x58], eax
mov ecx, dword [esi + 0x320c]
mov dword [esi + 0x5c], ecx
cmp edx, 0xce
jne 0x58331f
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
jne 0x58326d
cmp dword [esi + 0x64], eax
jg 0x58326d
jl 0x583247
cmp dword [esi + 0x60], eax
ja 0x58326d
mov eax, dword [esi + 0x3208]
mov ecx, dword [esi + 0x320c]
mov edi, eax
or edi, ecx
je 0x58326d
mov edi, dword [esi + 0x3270]
or edi, dword [esi + 0x3274]
jne 0x58326d
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ecx
cmp edx, 0xce
jne 0x58331f
mov ecx, dword [esi + 0x58]
or ecx, dword [esi + 0x5c]
jne 0x58331f
mov eax, dword [esi + 0x60]
mov edi, dword [esi + 0x64]
test edi, edi
jg 0x58330d
jl 0x583299
test eax, eax
ja 0x5832c9
mov ebx, dword [esi + 0x3270]
mov ecx, dword [esi + 0x3274]
mov edx, ebx
or edx, ecx
je 0x5832c9
mov edx, dword [esi + 0x3208]
mov eax, dword [esi + 0x320c]
cmp ecx, eax
jg 0x5832c9
jl 0x5832c1
cmp ebx, edx
jae 0x5832c9
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
jmp 0x58331f
test edi, edi
jg 0x58330d
jl 0x5832d5
cmp dword [esi + 0x60], 0
ja 0x58330d
mov edx, dword [esi + 0x3208]
mov ebx, dword [esi + 0x320c]
mov eax, edx
or eax, ebx
je 0x58330d
mov eax, edx
add eax, 1
mov ecx, ebx
adc ecx, 0
mov edi, dword [esi + 0x3270]
cmp edi, eax
jne 0x58330d
mov eax, dword [esi + 0x3274]
cmp eax, ecx
jne 0x58330d
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], ebx
jmp 0x58331f
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 0x583335
cmp edx, 0xce
jne 0x583359
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
jne 0x583359
mov ecx, dword [esi + 0x3288]
mov eax, dword [esi + 0x328c]
test eax, eax
jl 0x583359
jg 0x583353
test ecx, ecx
jbe 0x583359
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0xc0]
xor edi, edi
cmp dword [eax + 0x320], edi
je 0x5833a7
mov eax, dword [esi + 0x31f8]
cmp eax, edi
je 0x5833a7
cmp dword [eax + 0x40], edi
je 0x5833a7
cmp edx, 0xc8
jne 0x5833a1
mov ecx, dword [esi + 0x3208]
mov eax, dword [esi + 0x320c]
cmp eax, edi
jl 0x5833a1
jg 0x583396
cmp ecx, edi
jbe 0x5833a1
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 0x583489
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
mov ebx, ecx
or ebx, edx
je 0x583489
cmp ecx, edi
jne 0x5833e0
cmp edx, dword [esi + 0x5c]
je 0x583489
mov edi, dword [eax + 0xc8]
or edi, dword [eax + 0xcc]
je 0x583489
cmp byte [esi + 0x3254], 0
jne 0x5839ed
cmp dword [esi + 0x324c], 0xce
jne 0x58343f
mov edi, dword [esi + 0x3270]
mov ebx, dword [esi + 0x3274]
sub ecx, 1
sbb edx, 0
cmp edi, ecx
jne 0x58343f
cmp ebx, edx
jne 0x58343f
mov edx, dword [esi + 0x3278]
or edx, dword [esi + 0x327c]
jne 0x58343f
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 0x583725
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 0x583725
cmp dword [esi + 0x327c], edx
jne 0x583725
mov dword [esi + 0x58], ebx
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x5c], eax
cmp byte [esi + 0x3254], 0
jne 0x5839ed
mov eax, dword [esi + 0xc0]
mov edi, dword [eax + 0xbc]
xor ebx, ebx
cmp edi, ebx
je 0x5839c4
mov eax, dword [eax + 0x114]
mov dword [ebp - 0x3c], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5834b8
sub eax, edx
je 0x5839c4
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5834d0
sub eax, edx
je 0x5839c4
mov dword [ebp - 0x60], 1
push 0x3b
mov edx, dword [ebp - 0x3c]
push edx
call fcn.00614820
add esp, 8
test eax, eax
je 0x583549
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0xbc]
push 0x3b
push eax
call fcn.00614820
add esp, 8
test eax, eax
jne 0x583549
mov edi, dword [esi + 0xc0]
mov ecx, dword [edi + 0xbc]
mov eax, ecx
lea edx, [eax + 1]
mov dword [ebp - 0x3c], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x583527
sub eax, dword [ebp - 0x3c]
mov edi, dword [edi + 0x114]
push eax
push ecx
push edi
call fcn.0061a99c
add esp, 0xc
test eax, eax
jne 0x583549
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
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x583560
sub eax, dword [ebp - 0x3c]
push eax
mov edx, dword [edx + 0xbc]
push edx
push edi
call fcn.0061a99c
add esp, 0xc
test eax, eax
je 0x5839c4
cmp dword [ebp - 0x60], ebx
je 0x5839c4
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.00617c6f
add esp, 0xc
test eax, eax
jne 0x5835d4
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00617c6f
add esp, 0xc
test eax, eax
je 0x5835d4
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.00617c6f
add esp, 0xc
test eax, eax
jne 0x583618
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00617c6f
add esp, 0xc
test eax, eax
je 0x583618
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.0061a99c
add esp, 0xc
test eax, eax
jne 0x583690
push 0x1d
push str.application_vnd.apple.mpegurl
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.0061a99c
add esp, 0xc
test eax, eax
je 0x583676
push str.video_MP2T
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.00614d5e
add esp, 8
test eax, eax
jne 0x583690
mov byte [ebp - 0x29], 0
push 0x66b96c
mov ecx, dword [esi + 0xc0]
add ecx, 0x114
call fcn.00545860
push 9
push str.text_html
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
push eax
call fcn.00617c6f
add esp, 0xc
test eax, eax
je 0x583927
mov ecx, dword [esi + 0xc0]
mov eax, dword [ecx]
push 0x6706b8
push eax
call fcn.006148e0
add esp, 8
test eax, eax
jne 0x5836ec
mov edx, dword [esi + 0xc0]
mov eax, dword [edx]
push 0x6706a4
push eax
call fcn.006148e0
add esp, 8
test eax, eax
je 0x583927
mov eax, dword [esi + 0xc0]
mov edi, dword [eax + 8]
cmp edi, ebx
je 0x583927
mov ecx, 0xe
mov eax, str.videoplayback_
cmp ecx, 4
jb 0x583894
mov edx, dword [edi]
cmp edx, dword [eax]
jne 0x583927
sub ecx, 4
add eax, 4
add edi, 4
jmp 0x583707
cmp dword [esi + 0x324c], 0xce
jne 0x58377e
mov edi, dword [esi + 0x3290]
mov ecx, dword [esi + 0x3294]
mov edx, edi
or edx, ecx
je 0x58377e
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 0x58377e
mov ecx, dword [esi + 0x320c]
cmp ecx, edx
jne 0x58377e
mov dword [esi + 0x58], ebx
mov edx, dword [ebp - 0x3c]
mov dword [esi + 0x5c], edx
jmp 0x583489
mov edx, dword [esi + 0xc0]
cmp dword [eax + 0x13c], 0
je 0x5837ab
cmp byte [edx + 0x343], 0
jne 0x58379f
cmp byte [edx + 0x17a], 0
je 0x5837ab
mov byte [esi + 0x3254], 1
jmp 0x583489
mov bl, byte [esi + 0x3262]
test bl, bl
je 0x5837e9
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xd4]
mov edi, dword [esi + 0x3270]
cmp edi, ecx
jne 0x5837e9
mov edi, dword [esi + 0x3274]
cmp edi, eax
jne 0x5837e9
cmp dword [esi + 0x324c], 0xce
jne 0x5837e9
mov dword [esi + 0x58], ecx
jmp 0x583486
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x64]
test eax, eax
jg 0x583846
jl 0x5837f9
test ecx, ecx
ja 0x58383c
cmp byte [esi + 0x31fd], 0
jne 0x58383c
cmp byte [edx + 0x33e], 0
je 0x58383c
cmp byte [edx + 0x340], 0
jne 0x58383c
mov byte [esi + 0x31fc], 1
mov byte [esi + 0x31fd], 1
cmp byte [edx + 0x33e], 0
je 0x583832
mov byte [edx + 0x340], 1
push str.Restart_type_21a_n
jmp 0x5820c0
test eax, eax
jl 0x583883
jg 0x583846
test ecx, ecx
jbe 0x583883
cmp byte [esi + 0x3204], 0
jne 0x583883
test bl, bl
jne 0x583883
mov byte [esi + 0x3262], 1
mov dword [edx + 0x300], 1
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x33e], bl
je 0x583879
mov byte [eax + 0x340], 1
push str.Restart_type_21b_n
jmp 0x5820c0
mov ecx, esi
call fcn.00573220
mov eax, 0x757a
jmp 0x583c0f
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x583927
mov dl, byte [eax + 1]
cmp dl, byte [edi + 1]
jne 0x583927
push 6
push str.video_
mov eax, dword [esi + 0xc0]
mov ecx, dword [eax + 0xbc]
push ecx
call fcn.00617c6f
add esp, 0xc
test eax, eax
jne 0x583908
push 6
push str.audio_
mov edx, dword [esi + 0xc0]
mov eax, dword [edx + 0xbc]
push eax
call fcn.00617c6f
add esp, 0xc
test eax, eax
jne 0x583908
push str.application_octet_stream
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00614d5e
add esp, 8
test eax, eax
jne 0x583927
mov byte [ebp - 0x29], 0
push 0x66b96c
mov ecx, dword [esi + 0xc0]
add ecx, 0x114
call fcn.00545860
jmp 0x5839c4
cmp byte [ebp - 0x29], 0
je 0x5839c4
mov ecx, dword [esi + 0x31f8]
cmp dword [ecx + 0x13c], ebx
je 0x58396e
mov eax, dword [esi + 0xc0]
cmp byte [eax + 0x343], 0
jne 0x583957
cmp byte [eax + 0x17a], 0
je 0x58396e
mov eax, dword [ecx + 0xc8]
or eax, dword [ecx + 0xcc]
je 0x5839c4
mov byte [esi + 0x3254], 1
jmp 0x5839c4
push 9
push str.text_html
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0xbc]
push edx
call fcn.00617c6f
add esp, 0xc
test eax, eax
je 0x583883
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
mov ecx, eax
or ecx, edx
je 0x583883
mov ecx, dword [esi + 0xc0]
cmp eax, dword [ecx + 0x130]
jne 0x583883
cmp edx, dword [ecx + 0x134]
jne 0x583883
mov byte [ebp - 0x29], 0
cmp byte [esi + 0x3254], 0
jne 0x5839ef
mov edx, dword [esi + 0x321c]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5839d8
sub eax, edi
je 0x5839ef
push edx
mov ecx, esi
call fcn.00571db0
jmp 0x5839ef
xor ebx, ebx
push 0x66b96c
lea ecx, [esi + 0x321c]
call fcn.00545860
cmp byte [esi + 0x3254], 0
je 0x583b64
mov byte [esi + 0x3254], 0
lea ecx, [esi + 0x10]
call fcn.00560b50
mov eax, dword [esi + 0x31f8]
cmp dword [eax + 0xb0], ebx
setne byte [ebp - 0x35]
lea ecx, [eax + 0x28]
call fcn.005509a0
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 0x583aec
mov byte [eax + 0x871], 0
push str.Restart_type_008_n
mov ecx, esi
call fcn.005579a0
mov ecx, esi
call fcn.00573220
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 0x583c0f
mov eax, dword [ebp + 8]
push eax
mov ecx, esi
call fcn.00581a00
mov edi, eax
mov dword [ebp - 0x24], edi
cmp edi, ebx
jne 0x581b93
cmp byte [ebp - 0x35], 0
je 0x583b56
mov ecx, dword [esi + 0xc0]
mov edx, dword [ecx + 0x30]
push edx
push esi
mov ecx, dword [esi + 0x31f8]
add ecx, 0x28
call fcn.00550b30
mov edi, eax
mov dword [ebp - 0x24], edi
mov ecx, esi
call fcn.00557cd0
mov eax, edi
jmp 0x583c0f
mov dword [esi + 0x9c], 6
mov dword [esi + 0xb8], ebx
push 1
mov eax, dword [0x74f8c8]
push eax
mov ecx, esi
call fcn.005581e0
cmp dword [esi + 0xbc], ebx
jne 0x583bb1
mov eax, dword [esi + 0x31f8]
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x583bb1
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 0x583bee
mov esi, dword [esi + 0x194]
mov eax, 4
cmp dword [esi + 0x154], eax
jne 0x583bee
cmp byte [esi + 0x15e], 0
je 0x583bee
mov dword [ebp - 0x3c], eax
push eax
lea edx, [ebp - 0x3c]
push edx
push eax
push ebx
push str.SocksType
mov eax, dword [0x74ea0c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
xor eax, eax
jmp 0x583c0f
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.00613241
mov esp, ebp
pop ebp
ret 4