Function at 0x4a58d7
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x671096
call fcn.006313fc
sub esp, 0x384
push ebx
push ebp
mov ebp, dword [esp + 0x3a0]
mov ebx, ecx
push esi
push edi
push 0x14
push str.info
mov ecx, ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x1f], 0
call fcn.0045bc70
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
jne 0x4a591c
xor al, al
jmp 0x4a7d87
cmp byte [esp + 0x3ac], 0
jne 0x4a5943
test byte [ebx + 0x335], 1
jne 0x4a5943
push esi
lea ecx, [ebx + 8]
call fcn.004f6702
test al, al
jne 0x4a59b7
mov byte [esp + 0x17], 1
jmp 0x4a59b7
lea edi, [ebx + 8]
mov ecx, 0x7641f4
push edi
lea eax, [esp + 0x1c]
push eax
call fcn.0048eec1
mov eax, dword [esp + 0x18]
cmp eax, dword [0x7641f4]
je 0x4a59b2
push edi
mov ecx, 0x7641f4
call fcn.00524069
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x28]
lea edi, [esp + 0x214]
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x214]
mov dword [esp + 0x228], ebx
mov esi, 0x7641f4
push eax
mov ecx, esi
call fcn.0050b3a0
push eax
add eax, 0x10
mov ecx, esi
push eax
push 0
lea eax, [esp + 0x4c]
push eax
call fcn.00493f22
jmp 0x4a59b7
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0
push str.path
lea eax, [esp + 0x174]
mov ecx, ebp
push eax
call fcn.0045bd54
and dword [esp + 0x39c], 0
xor eax, eax
and dword [esp + 0x6c], 0
mov dword [esp + 0x70], 7
mov word [esp + 0x5c], ax
mov byte [esp + 0x39c], 1
cmp dword [esp + 0x17c], eax
je 0x4a5a0e
push 0xffffffffffffffff
push eax
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x68]
call fcn.0042358a
push 0
push str.rootdir
lea eax, [esp + 0x88]
mov ecx, ebp
push eax
call fcn.0045bd54
xor esi, esi
mov byte [esp + 0x39c], 2
push esi
push str.relative
mov ecx, ebp
call fcn.0045bb2b
test eax, eax
setne al
test al, al
je 0x4a5a6f
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x308]
push eax
call fcn.0046e8dd
push eax
lea ecx, [esp + 0x60]
call fcn.0044dbe6
push esi
push 1
lea ecx, [esp + 0x30c]
call fcn.0042341c
cmp byte [esp + 0x3ac], 0
push 8
pop edi
je 0x4a5b93
sub esp, 0x18
lea eax, [esp + 0x74]
mov ecx, esp
push eax
call fcn.00422efb
mov ecx, dword [ebx + 0xd8]
call fcn.004fe77e
cmp dword [esp + 0x90], esi
je 0x4a5b4a
sub esp, 0x18
lea eax, [esp + 0x98]
mov ecx, esp
push eax
call fcn.00422efb
mov ecx, dword [ebx + 0xd8]
call fcn.004fe80e
test al, al
jne 0x4a5d06
mov byte [esp + 0x1f], 1
call fcn.00475044
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x39c], 3
cmp dword [esp + 0x70], edi
jae 0x4a5aec
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x278]
push eax
call fcn.004cba91
push eax
lea ecx, [esp + 0x84]
call fcn.0044dbe6
push esi
push 1
lea ecx, [esp + 0x27c]
call fcn.0042341c
mov byte [esp + 0x1f], 0
call fcn.00475085
sub esp, 0x18
lea eax, [esp + 0x98]
mov ecx, esp
push eax
call fcn.00422efb
mov ecx, dword [ebx + 0xd8]
call fcn.004fe80e
mov byte [esp + 0x39c], 2
jmp 0x4a5d06
mov byte [esp + 0x52], 1
call fcn.00475044
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x39c], 4
cmp dword [esp + 0x70], edi
jae 0x4a5b6a
lea ecx, [esp + 0x5c]
sub esp, 0x18
mov eax, esp
push ecx
push eax
call fcn.004cba91
mov ecx, dword [ebx + 0xd8]
call fcn.004fe80e
mov byte [esp + 0x39c], 2
call fcn.00475085
jmp 0x4a5d06
and dword [esp + 0xa8], esi
xor eax, eax
mov dword [esp + 0xac], 7
mov word [esp + 0x98], ax
mov byte [esp + 0x39c], 5
cmp dword [esp + 0x90], eax
jne 0x4a5c2b
mov byte [esp + 0x53], 1
call fcn.00475044
push 6
pop eax
mov byte [esp + 0x39c], al
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x70], edi
jae 0x4a5be2
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x248]
push eax
call fcn.004cba91
push eax
lea ecx, [esp + 0x9c]
call fcn.0044dbe6
push 0
push 1
lea ecx, [esp + 0x24c]
call fcn.0042341c
mov byte [esp + 0x39c], 5
call fcn.00475085
cmp dword [esp + 0x90], 0
lea eax, [esp + 0x98]
je 0x4a5c32
lea eax, [esp + 0x80]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00422efb
sub esp, 0x18
mov byte [esp + 0x3cc], 7
lea eax, [esp + 0x8c]
mov ecx, esp
push eax
call fcn.00422efb
mov byte [esp + 0x3cc], 5
mov ecx, dword [ebx + 0xd8]
call fcn.004fe9bd
mov eax, dword [ebx + 0xd8]
cmp dword [eax + 0x50], 0
jne 0x4a5cee
mov byte [esp + 0x3b], 1
call fcn.00475044
push 8
pop eax
cmp dword [esp + 0x70], eax
mov byte [esp + 0x39c], al
mov eax, dword [esp + 0x5c]
jae 0x4a5c9c
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x2a8]
push eax
call fcn.004cba91
push eax
lea ecx, [esp + 0x9c]
call fcn.0044dbe6
push 0
push 1
lea ecx, [esp + 0x2ac]
call fcn.0042341c
mov byte [esp + 0x3b], 0
call fcn.00475085
sub esp, 0x18
lea eax, [esp + 0xb0]
mov ecx, esp
push eax
call fcn.00422efb
mov ecx, dword [ebx + 0xd8]
call fcn.004fe80e
push 0
push 1
lea ecx, [esp + 0xa0]
mov byte [esp + 0x3a4], 2
call fcn.0042341c
push 0
push 0x1000
mov ecx, ebx
call fcn.0049f278
and dword [esp + 0x4c], 0
lea eax, [esp + 0x4c]
push eax
push 0x696910
mov ecx, ebp
call fcn.0045bcaf
mov esi, eax
test esi, esi
je 0x4a5d70
cmp dword [esp + 0x4c], 0
jbe 0x4a5d70
push 0x310
call fcn.00630af1
pop ecx
mov dword [esp + 0x30], eax
mov byte [esp + 0x39c], 9
test eax, eax
je 0x4a5d60
push dword [esp + 0x4c]
mov ecx, eax
push esi
call fcn.0051cbb6
jmp 0x4a5d62
xor eax, eax
mov byte [esp + 0x39c], 2
mov dword [ebx + 0x52c], eax
push 0
push 0
push 0x69e900
mov ecx, ebp
call fcn.0045bac4
push 0
push 0
push 0x69deec
mov ecx, ebp
mov dword [ebx + 0x27c], eax
mov dword [ebx + 0x280], edx
call fcn.0045bac4
push 0
push 0
push str.corrupt
mov ecx, ebp
mov dword [ebx + 0x284], eax
mov dword [ebx + 0x288], edx
call fcn.0045bac4
push 0
push str.trackermode
mov ecx, ebp
mov dword [ebx + 0x28c], eax
mov dword [ebx + 0x290], edx
call fcn.0045bb2b
push 0
push str.moved
mov ecx, ebp
mov byte [ebx + 0x13f], al
call fcn.0045bb2b
test eax, eax
mov ecx, ebp
push 1
setne al
shl al, 2
xor al, byte [ebx + 0x133]
and al, 4
xor byte [ebx + 0x133], al
push str.prio2
call fcn.0045bb2b
push 0xffffffffffffffff
push str._max_connections
mov ecx, ebp
mov byte [ebx + 0x140], al
call fcn.0045bb2b
mov esi, dword [ebx + 0xcc]
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov edi, dword [esi]
call dword [edi + 0x2c]
push eax
push 0x69e9a8
mov ecx, ebp
call fcn.0045bb2b
push eax
mov ecx, esi
call dword [edi + 0x110]
push 0
push str.vote
mov ecx, ebp
call fcn.0045bb2b
mov dword [ebx + 0x14c], eax
test eax, eax
jns 0x4a5e6b
mov dword [ebx + 0x14c], 1
jmp 0x4a5e78
push 5
pop ecx
cmp eax, ecx
jle 0x4a5e78
mov dword [ebx + 0x14c], ecx
push 0xffffffffffffffff
push str.votes
mov ecx, ebp
call fcn.0045bb6f
mov edi, eax
test edi, edi
je 0x4a5ec5
mov ecx, edi
call fcn.0045ba56
cmp eax, 5
jne 0x4a5ec5
xor esi, esi
lea ebp, [ebx + 0x150]
push 0
push esi
mov ecx, edi
call fcn.0045bb4e
inc esi
mov dword [ebp], eax
lea ebp, [ebp + 4]
cmp esi, 5
jl 0x4a5ea0
mov ebp, dword [esp + 0x3a8]
lea esi, [ebx + 0x150]
jmp 0x4a5ed4
lea esi, [ebx + 0x150]
xor eax, eax
mov edi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 1
push str.visible
mov ecx, ebp
call fcn.0045bb2b
test eax, eax
mov ecx, ebp
push 0
setne al
add al, al
xor al, byte [ebx + 0x134]
and al, 2
xor byte [ebx + 0x134], al
push str.last_seen_complete
call fcn.0045bb2b
cdq
mov dword [ebx + 0x11c], eax
xor eax, eax
mov dword [ebx + 0x120], edx
mov ecx, eax
mov dword [esp + 0xb0], eax
lea edx, [esp + 0xb0]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov eax, dword [esi + ecx*4]
cmp eax, dword [edx + ecx*4]
jne 0x4a5f82
inc ecx
cmp ecx, 5
jne 0x4a5f40
call fcn.00637f73
cdq
mov ecx, 0xc8
idiv ecx
push 0
mov eax, edx
cdq
mov edi, eax
mov esi, edx
sub edi, 0xe10
sbb esi, 0
call fcn.004919d8
add eax, edi
mov dword [ebx + 0x164], eax
adc edx, esi
mov dword [ebx + 0x168], edx
push 0
push str.caption
lea eax, [esp + 0x1a4]
mov ecx, ebp
push eax
call fcn.0045bd54
cmp dword [esp + 0x1ac], 0
mov byte [esp + 0x39c], 0xa
je 0x4a5fc7
sub esp, 0x18
lea eax, [esp + 0x1b4]
mov ecx, esp
push eax
call fcn.00422efb
mov ecx, dword [ebx + 0xd8]
call fcn.004fe6a2
push 0
push str.feed_url
mov ecx, ebp
call fcn.0045bcaf
mov esi, eax
test esi, esi
je 0x4a5fef
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [ebx + 0x430]
call fcn.00409b2f
push 0
push 0x69a3ac
mov ecx, ebp
call fcn.0045bcaf
test eax, eax
je 0x4a6049
push eax
lea ecx, [esp + 0x1d0]
call fcn.00409ba7
lea ecx, [ebx + 0x44c]
mov byte [esp + 0x39c], 0xb
lea eax, [esp + 0x1cc]
cmp ecx, eax
je 0x4a6031
push 0xffffffffffffffff
push 0
push eax
call fcn.0040a034
push 0
push 1
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x3a4], 0xa
call fcn.0040a0e9
push 0
push str.update_freq
mov ecx, ebp
call fcn.0045bb2b
push 0
push str.download_url
mov ecx, ebp
mov dword [ebx + 0x464], eax
call fcn.0045bcaf
mov esi, eax
test esi, esi
je 0x4a6085
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [ebx + 0x418]
call fcn.00409b2f
push 0
push str.rss_name
lea eax, [esp + 0x124]
mov ecx, ebp
push eax
call fcn.0045bd54
cmp dword [esp + 0x12c], 0
mov byte [esp + 0x39c], 0xc
je 0x4a60c8
lea ecx, [ebx + 0x4d4]
lea eax, [esp + 0x11c]
cmp ecx, eax
je 0x4a60c8
push 0xffffffffffffffff
push 0
push eax
call fcn.0042358a
push 0
push str.app_owner
lea eax, [esp + 0x18c]
mov ecx, ebp
push eax
call fcn.0045bd54
cmp dword [esp + 0x194], 0
mov byte [esp + 0x39c], 0xd
je 0x4a6109
sub esp, 0x18
lea eax, [esp + 0x19c]
mov ecx, esp
push eax
call fcn.00422efb
mov ecx, ebx
call fcn.004b1944
push 0
push str.app_type
lea eax, [esp + 0x13c]
mov ecx, ebp
push eax
call fcn.0045bd54
cmp dword [esp + 0x144], 0
mov byte [esp + 0x39c], 0xe
je 0x4a614c
lea ecx, [ebx + 0x4a4]
lea eax, [esp + 0x134]
cmp ecx, eax
je 0x4a614c
push 0xffffffffffffffff
push 0
push eax
call fcn.0042358a
push 0
push str.app_url
mov ecx, ebp
call fcn.0045bcaf
mov esi, eax
test esi, esi
je 0x4a6179
cmp byte [esi], 0
je 0x4a6179
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [ebx + 0x4bc]
call fcn.00409b2f
push 0
push str.season
mov ecx, ebp
call fcn.0045bb2b
push 0
push str.episode
mov ecx, ebp
mov dword [ebx + 0x4ec], eax
call fcn.0045bb2b
push 0
push str.episode_to
mov ecx, ebp
mov dword [ebx + 0x4f0], eax
call fcn.0045bb2b
push 0
push str.quality
mov ecx, ebp
mov dword [ebx + 0x4f4], eax
call fcn.0045bb2b
push 0
push str.codec
mov ecx, ebp
mov dword [ebx + 0x4f8], eax
call fcn.0045bb2b
push 0
push str.outofspace
mov ecx, ebp
mov dword [ebx + 0x4fc], eax
call fcn.0045bb2b
mov cl, byte [ebx + 0x13c]
xor cl, al
and cl, 1
xor byte [ebx + 0x13c], cl
mov ecx, ebp
push 0
push str.wasforce
call fcn.0045bb2b
add al, al
mov ecx, ebp
xor al, byte [ebx + 0x13c]
push 0
and al, 2
xor byte [ebx + 0x13c], al
push str.web_seeding_enabled
call fcn.0045bb2b
push 0
and al, 1
mov ecx, ebp
push str.is_update_torrent
mov byte [ebx + 0x320], al
call fcn.0045bb2b
push 0
and al, 1
mov ecx, ebp
push str.is_update_available
mov byte [ebx + 0x468], al
call fcn.0045bb2b
push 0x14
and al, 1
mov ecx, ebp
push str.parent_info
mov byte [ebx + 0x47e], al
call fcn.0045bc70
push eax
lea ecx, [ebx + 0x469]
call fcn.0049a9f6
push str.gate_info_url
lea eax, [esp + 0x368]
mov ecx, ebp
push eax
call fcn.0045bbbd
push eax
lea ecx, [ebx + 0xa8]
call fcn.00409822
push 0
push 1
lea ecx, [esp + 0x36c]
call fcn.0040a0e9
cmp dword [ebx + 0xb8], 0
je 0x4a638d
push 0xffffffffffffffff
push str.gate_progress
mov ecx, ebp
call fcn.0045bb2b
mov dword [esp + 0x28], eax
cmp eax, 0x2710
ja 0x4a62e0
fild dword [esp + 0x28]
fstp qword [esp + 0x74]
fld qword [esp + 0x74]
fdiv qword [0x69ef80]
jmp 0x4a62e6
fld qword [0x69ef98]
push str.gate_url
lea eax, [esp + 0x2d8]
mov ecx, ebp
push eax
fstp dword [ebx + 0x58]
call fcn.0045bbbd
push eax
lea ecx, [ebx + 0x74]
call fcn.00409822
push 0
push 1
lea ecx, [esp + 0x2dc]
call fcn.0040a0e9
push 0
push str.gate_string
lea eax, [esp + 0x33c]
mov ecx, ebp
push eax
call fcn.0045bd54
push eax
lea ecx, [ebx + 0x5c]
call fcn.0044dbe6
push 0
push 1
lea ecx, [esp + 0x33c]
call fcn.0042341c
push str.next_gate
lea eax, [esp + 0x260]
mov ecx, ebp
push eax
call fcn.0045bbbd
push eax
lea ecx, [ebx + 0x8c]
call fcn.00409822
push 0
push 1
lea ecx, [esp + 0x264]
call fcn.0040a0e9
push 1
push str.gate_launch_external
mov ecx, ebp
call fcn.0045bb2b
and al, 1
mov byte [ebx + 0xa4], al
jmp 0x4a63dd
fld dword [0x69ef94]
mov esi, 0x70522c
push esi
fstp dword [ebx + 0x58]
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [ebx + 0x74]
call fcn.00409b2f
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [ebx + 0x8c]
call fcn.00409b2f
mov esi, 0x689954
push esi
call fcn.004236bc
pop ecx
push eax
push esi
lea ecx, [ebx + 0x5c]
call fcn.00434a57
mov byte [ebx + 0xa4], 1
push 0
push str.upspeed
mov ecx, ebp
call fcn.0045bb2b
push 0
mov dword [ebx + 0x370], eax
mov ecx, ebp
mov eax, dword [ebx + 0x348]
push str.downspeed
mov dword [ebx + 0x374], eax
call fcn.0045bb2b
push 0
mov dword [ebx + 0x348], eax
mov ecx, ebp
push str.runtime
mov dword [ebx + 0x374], eax
call fcn.0045bb2b
cdq
mov ecx, ebp
push 0
push 0x69eb54
mov dword [ebx + 0x338], eax
mov dword [ebx + 0x33c], edx
call fcn.0045bb2b
push 8
mov dword [ebx + 0x50c], eax
mov ecx, ebp
movzx eax, byte [ebx + 0x13e]
pop edi
and eax, edi
push eax
push 0x697144
call fcn.0045bb2b
mov cl, byte [ebx + 0x13e]
and cl, 0xf7
or al, cl
mov ecx, ebp
push 1
push 0x697590
mov byte [ebx + 0x13e], al
call fcn.0045bb2b
mov cl, byte [ebx + 0x13e]
and cl, 0xa
or al, cl
mov ecx, ebp
push 0
push str.seedtime
mov byte [ebx + 0x13e], al
call fcn.0045bb2b
cdq
mov ecx, ebp
push 0
push 0x69e9ec
mov dword [ebx + 0x340], eax
mov dword [ebx + 0x344], edx
call fcn.0045bb2b
test eax, eax
mov al, byte [ebx + 0x133]
push 0
setne cl
and al, 0x7f
shl cl, 7
or cl, al
mov byte [ebx + 0x133], cl
mov ecx, ebp
push str.created_torrent
call fcn.0045bb2b
test eax, eax
mov ecx, ebp
push 0
setne al
shl al, 4
xor al, byte [ebx + 0x134]
and al, 0x10
xor byte [ebx + 0x134], al
push str.superseed_cur_piece
call fcn.0045bb2b
push 0xffffffffffffffff
mov dword [ebx + 0x2e0], eax
mov ecx, ebp
push str.order
call fcn.0045bb2b
mov dword [ebx + 0x148], eax
mov ecx, ebp
push dword [0x73facc]
push str.wanted_seedtime
call fcn.0045bb2b
mov dword [ebx + 0x500], eax
mov ecx, ebp
push dword [0x73fac8]
push str.wanted_ratio
call fcn.0045bb2b
mov dword [ebx + 0x508], eax
mov ecx, ebp
push dword [0x73fad0]
push str.wanted_seednum
call fcn.0045bb2b
push 0
push str.override_seedsettings
mov ecx, ebp
mov dword [ebx + 0x504], eax
call fcn.0045bb2b
mov cl, byte [ebx + 0x134]
xor cl, al
and cl, 1
xor byte [ebx + 0x134], cl
mov ecx, ebp
push 0
push str.added_on
call fcn.0045bb2b
cdq
mov ecx, eax
or ecx, edx
je 0x4a65a4
mov dword [ebx + 0x300], eax
mov dword [ebx + 0x304], edx
push 0
push str.published_on
mov ecx, ebp
call fcn.0045bb2b
cdq
mov ecx, eax
or ecx, edx
je 0x4a65c5
mov dword [ebx + 0x308], eax
mov dword [ebx + 0x30c], edx
push 0
push str.completed_on
mov ecx, ebp
call fcn.0045bb2b
cdq
mov ecx, ebp
push 0
push str.last_active
mov dword [ebx + 0x310], eax
mov dword [ebx + 0x314], edx
call fcn.0045bb2b
push 0
cdq
mov ecx, ebp
push 0
push str.waste
mov dword [ebx + 0x318], eax
mov dword [ebx + 0x31c], edx
call fcn.0045bac4
push 0
push str.hashfails
mov ecx, ebp
mov dword [ebx + 0x2e4], eax
mov dword [ebx + 0x2e8], edx
call fcn.0045bb2b
push 0
push 0x69ea38
mov ecx, ebp
mov dword [ebx + 0x2f4], eax
call fcn.0045bb2b
mov dword [ebx + 0x448], eax
test eax, eax
jne 0x4a66ce
cmp dword [ebx + 0x440], eax
je 0x4a66ce
lea eax, [ebx + 0x430]
cmp dword [eax + 0x14], 0x10
jb 0x4a665d
mov eax, dword [eax]
push eax
lea eax, [esp + 0x230]
push 0x68984c
push eax
call fcn.0047224d
add esp, 0xc
lea ecx, [esp + 0x54]
mov byte [esp + 0x39c], 0xf
call fcn.004b9bd4
lea eax, [esp + 0x22c]
mov byte [esp + 0x39c], 0x10
push eax
call fcn.004bca68
test eax, eax
je 0x4a66a5
mov eax, dword [eax]
mov dword [ebx + 0x448], eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x39c], 0xf
call fcn.00488604
push 0
push 1
lea ecx, [esp + 0x234]
mov byte [esp + 0x3a4], 0xe
call fcn.0042341c
push 0xffffffffffffffff
mov esi, str.use_utp
mov ecx, ebp
push esi
call fcn.0045b99c
test eax, eax
je 0x4a6701
push 0
push esi
mov ecx, ebp
call fcn.0045bb2b
test eax, eax
setne al
shl al, 6
xor al, byte [ebx + 0x13c]
and al, 0x40
xor byte [ebx + 0x13c], al
push 0xffffffffffffffff
mov esi, str.use_utp_only
mov ecx, ebp
push esi
call fcn.0045b99c
test eax, eax
je 0x4a6736
push 0
push esi
mov ecx, ebp
call fcn.0045bb2b
test eax, eax
mov al, byte [ebx + 0x13c]
setne cl
and al, 0x7f
shl cl, 7
or cl, al
mov byte [ebx + 0x13c], cl
push 0
push 0x68ca44
lea eax, [esp + 0x294]
mov ecx, ebp
push eax
call fcn.0045bd54
mov byte [esp + 0x39c], 0x11
cmp dword [eax + 0x14], edi
jb 0x4a675b
mov eax, dword [eax]
push eax
mov ecx, ebx
call fcn.004b23c8
push 0
push 1
lea ecx, [esp + 0x294]
mov byte [esp + 0x3a4], 0xe
call fcn.0042341c
push 0
push str.run_program
lea eax, [esp + 0x2c4]
mov ecx, ebp
push eax
call fcn.0045bd54
push eax
lea ecx, [ebx + 0x680]
call fcn.0044dbe6
push 0
push 1
lea ecx, [esp + 0x2c4]
call fcn.0042341c
lea eax, [esp + 0x7c]
mov byte [esp + 0x1f], 0
push eax
push str.physmap
mov ecx, ebp
call fcn.0045bcaf
mov edx, 0xfff7
test eax, eax
je 0x4a67ec
push dword [esp + 0x7c]
mov ecx, dword [ebx + 0xd8]
push eax
call fcn.004feae4
test al, al
jne 0x4a67e7
mov byte [esp + 0x1f], 1
jmp 0x4a6856
mov edx, 0xfff7
cmp byte [esp + 0x17], 0
je 0x4a6856
mov ax, word [ebx + 0x128]
mov ecx, ebx
and ax, dx
movzx eax, ax
push eax
call fcn.004b249a
push 1
call fcn.00490095
push eax
push 0x13
lea ecx, [esp + 0x168]
call fcn.0048f892
push 0x12
pop eax
sub esp, 0x18
mov byte [esp + 0x3b8], al
mov eax, esp
lea ecx, [esp + 0x178]
push ecx
push eax
call fcn.004916a8
mov ecx, ebx
call fcn.004b1ee5
lea ecx, [esp + 0x15c]
mov byte [esp + 0x39c], 0xe
call fcn.0048f8e2
mov edi, dword [ebx + 0xd8]
mov ecx, 0x9c
add edi, 4
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], edi
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv ecx
mov ecx, ebp
push eax
push str.prio
call fcn.0045bc70
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x4a68ee
cmp byte [esp + 0x3ac], 0
jne 0x4a68ee
mov eax, dword [edi + 4]
xor esi, esi
sub eax, dword [edi]
cdq
idiv dword [esp + 0x2c]
test eax, eax
je 0x4a68ee
xor ebp, ebp
movzx eax, byte [esi + ecx]
mov ecx, ebx
push 1
and eax, 0xf
push eax
push esi
call fcn.004b1f95
mov eax, dword [esp + 0x24]
mov ecx, dword [edi]
mov al, byte [esi + eax]
shr al, 6
xor al, byte [ecx + ebp + 0x66]
and al, 2
xor byte [ecx + ebp + 0x66], al
mov ecx, 0x9c
mov eax, dword [edi + 4]
inc esi
sub eax, dword [edi]
add ebp, ecx
cdq
idiv ecx
mov ecx, dword [esp + 0x24]
cmp esi, eax
jne 0x4a68a7
mov ebp, dword [esp + 0x3a8]
push 0xffffffffffffffff
push str.modtimes
mov ecx, ebp
call fcn.0045bb6f
xor esi, esi
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a6958
xor ebx, ebx
mov ebp, eax
mov ecx, ebp
call fcn.0045ba56
cmp esi, eax
jae 0x4a694d
mov ecx, dword [edi]
mov eax, dword [edi + 4]
sub eax, ecx
mov dword [esp + 0x18], ecx
cdq
mov ecx, 0x9c
idiv ecx
cmp esi, eax
jae 0x4a694d
push 0
push 0
push esi
mov ecx, ebp
call fcn.0045baee
mov ecx, dword [esp + 0x18]
inc esi
mov dword [ebx + ecx + 0x2c], eax
mov dword [ebx + ecx + 0x30], edx
add ebx, 0x9c
jmp 0x4a690a
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x3a8]
push 0xffffffffffffffff
push str.read_only
mov ecx, ebp
call fcn.0045bb6f
xor esi, esi
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a69c2
xor ebx, ebx
mov ebp, eax
mov ecx, ebp
call fcn.0045ba56
cmp esi, eax
jae 0x4a69b7
mov eax, dword [edi + 4]
mov ecx, 0x9c
sub eax, dword [edi]
cdq
idiv ecx
cmp esi, eax
jae 0x4a69b7
push 0
push esi
mov ecx, ebp
call fcn.0045bb4e
mov ecx, dword [edi]
test eax, eax
setne al
shl al, 5
xor al, byte [ebx + ecx + 0x66]
and al, 0x20
xor byte [ebx + ecx + 0x66], al
inc esi
add ebx, 0x9c
jmp 0x4a6974
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x3a8]
mov eax, dword [edi + 4]
mov esi, 0x9c
sub eax, dword [edi]
mov ecx, ebp
cdq
idiv esi
push eax
push str.meta_available
call fcn.0045bc70
mov dword [esp + 0x54], eax
mov ecx, ebp
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv esi
push eax
push str.meta_vlc_supported
call fcn.0045bc70
mov dword [esp + 0x28], eax
mov ecx, ebp
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv esi
shl eax, 2
push eax
push str.meta_durations
call fcn.0045bc70
mov dword [esp + 0x74], eax
mov ecx, ebp
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv esi
shl eax, 2
push eax
push str.meta_encoding_rates
call fcn.0045bc70
mov dword [esp + 0x20], eax
mov ecx, ebp
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv esi
add eax, eax
push eax
push str.meta_video_heights
call fcn.0045bc70
mov dword [esp + 0x24], eax
mov ecx, ebp
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv esi
add eax, eax
push eax
push str.meta_video_widths
call fcn.0045bc70
mov esi, eax
mov ecx, 0x9c
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv ecx
mov ecx, ebp
mov dword [esp + 0x10], esi
add eax, eax
push eax
push str.meta_containers
call fcn.0045bc70
cmp dword [esp + 0x54], 0
mov dword [esp + 0x18], eax
je 0x4a6c09
cmp dword [esp + 0x74], 0
je 0x4a6c09
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4a6c09
cmp dword [esp + 0x24], 0
je 0x4a6c09
test esi, esi
je 0x4a6c09
cmp byte [esp + 0x3ac], 0
jne 0x4a6c09
mov eax, dword [edi + 4]
mov esi, 0x9c
sub eax, dword [edi]
cdq
idiv esi
and dword [esp + 0x48], 0
test eax, eax
je 0x4a6c09
mov ebx, dword [esp + 0x10]
xor esi, esi
mov ebp, dword [esp + 0x28]
mov eax, ebp
mov edx, dword [esp + 0x18]
sub dword [esp + 0x74], ecx
sub edx, ebx
sub dword [esp + 0x24], ebx
sub dword [esp + 0x54], ebp
mov ebp, dword [edi]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x54]
cmp byte [eax + ecx], 0
mov ecx, dword [esp + 0x20]
je 0x4a6bc8
lea ecx, [esi + ebp]
call fcn.004b22a2
cmp dword [esp + 0x28], 0
mov eax, dword [edi]
mov eax, dword [esi + eax + 0x94]
mov byte [eax + 0x68], 3
je 0x4a6b5a
mov eax, dword [edi]
mov ecx, dword [esi + eax + 0x94]
mov eax, dword [esp + 0x40]
mov al, byte [eax]
shl al, 3
xor al, byte [ecx + 0x69]
and al, 8
xor byte [ecx + 0x69], al
cmp dword [esp + 0x18], 0
mov eax, dword [edi]
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + eax + 0x94]
mov eax, dword [esp + 0x74]
mov eax, dword [edx + eax]
mov dword [ecx + 0x14], eax
mov eax, dword [edi]
mov ecx, dword [esi + eax + 0x94]
mov eax, dword [edx]
mov edx, dword [esp + 0x48]
mov dword [ecx + 0xc], eax
mov eax, dword [edi]
mov ecx, dword [esi + eax + 0x94]
mov eax, dword [esp + 0x24]
movzx eax, word [ebx + eax]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [esi + eax + 0x94]
movzx eax, word [ebx]
mov dword [ecx + 0x18], eax
je 0x4a6bc0
mov eax, dword [edi]
mov ecx, dword [esi + eax + 0x94]
mov eax, dword [esp + 0x10]
mov al, byte [ebx + eax]
mov byte [ecx + 0x5c], al
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov ebp, dword [edi]
inc edx
inc eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
add ecx, 4
mov eax, dword [edi + 4]
add esi, 0x9c
sub eax, ebp
mov dword [esp + 0x20], ecx
cdq
add ebx, 2
idiv dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
cmp edx, eax
mov eax, dword [esp + 0x40]
jne 0x4a6b12
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x3a8]
push 0xffffffffffffffff
push str.meta_video_codec
mov ecx, ebp
call fcn.0045bb6f
mov dword [esp + 0x10], eax
test eax, eax
je 0x4a6cbe
cmp byte [esp + 0x3ac], 0
jne 0x4a6cbe
xor esi, esi
mov ecx, eax
mov dword [esp + 0x28], esi
call fcn.0045ba56
test eax, eax
je 0x4a6cbe
mov ebx, dword [esp + 0x10]
xor ebp, ebp
mov eax, dword [edi + 4]
mov ecx, 0x9c
sub eax, dword [edi]
cdq
idiv ecx
cmp esi, eax
jae 0x4a6cb3
push 0
push esi
mov ecx, ebx
call fcn.0045bcde
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a6c9d
cmp byte [eax], 0
je 0x4a6c9d
mov ecx, dword [edi]
add ecx, ebp
call fcn.004b22a2
mov eax, dword [edi]
push dword [esp + 0x18]
mov esi, dword [eax + ebp + 0x94]
call fcn.00409db4
pop ecx
push eax
push dword [esp + 0x1c]
lea ecx, [esi + 0x44]
call fcn.00409b2f
mov esi, dword [esp + 0x28]
inc esi
mov ecx, ebx
mov dword [esp + 0x28], esi
add ebp, 0x9c
call fcn.0045ba56
cmp esi, eax
jb 0x4a6c48
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x3a8]
push 0xffffffffffffffff
push str.meta_audio_codec
mov ecx, ebp
call fcn.0045bb6f
mov dword [esp + 0x10], eax
test eax, eax
je 0x4a6d6e
cmp byte [esp + 0x3ac], 0
jne 0x4a6d6e
xor esi, esi
mov ecx, eax
mov dword [esp + 0x28], esi
call fcn.0045ba56
test eax, eax
je 0x4a6d6e
mov ebx, dword [esp + 0x10]
xor ebp, ebp
mov eax, dword [edi + 4]
mov ecx, 0x9c
sub eax, dword [edi]
cdq
idiv ecx
cmp esi, eax
jae 0x4a6d63
push 0
push esi
mov ecx, ebx
call fcn.0045bcde
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a6d4d
mov ecx, dword [edi]
add ecx, ebp
call fcn.004b22a2
mov ecx, dword [edi]
push dword [esp + 0x18]
mov esi, dword [ecx + ebp + 0x94]
call fcn.00409db4
pop ecx
push eax
push dword [esp + 0x1c]
lea ecx, [esi + 0x2c]
call fcn.00409b2f
mov esi, dword [esp + 0x28]
inc esi
mov ecx, ebx
mov dword [esp + 0x28], esi
add ebp, 0x9c
call fcn.0045ba56
cmp esi, eax
jb 0x4a6cfd
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x3a8]
push 0xffffffffffffffff
push str.targets
mov ecx, ebp
call fcn.0045bb6f
mov dword [esp + 0x10], eax
test eax, eax
je 0x4a6e2b
mov ecx, eax
xor esi, esi
call fcn.0045ba56
test eax, eax
je 0x4a6e2b
mov ebp, dword [esp + 0x10]
mov eax, dword [edi + 4]
mov ecx, 0x9c
sub eax, dword [edi]
cdq
idiv ecx
cmp esi, eax
jae 0x4a6e24
push esi
mov ecx, ebp
call fcn.0045bb8b
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a6e14
mov ecx, eax
call fcn.0045ba56
cmp eax, 2
jne 0x4a6e14
mov ecx, dword [esp + 0x18]
push 0
push 0
call fcn.0045bb4e
mov ecx, eax
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
cmp ecx, eax
jae 0x4a6e14
mov ecx, dword [esp + 0x18]
sub esp, 0x18
mov eax, esp
push 0
push 1
push eax
call fcn.0045bd9b
imul eax, dword [esp + 0x28], 0x9c
mov ecx, dword [ebx + 0xd8]
add eax, dword [edi]
push eax
call fcn.004fe73e
mov ecx, ebp
inc esi
call fcn.0045ba56
cmp esi, eax
jb 0x4a6d9d
mov ebp, dword [esp + 0x3a8]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x154]
test al, al
jne 0x4a6fe9
and dword [esp + 0x20], 0
lea eax, [esp + 0x20]
push eax
push str.peers
mov ecx, ebp
call fcn.0045bcaf
mov esi, eax
xor edx, edx
mov eax, dword [esp + 0x20]
push 6
pop ecx
div ecx
test edx, edx
jne 0x4a6f12
and dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
test eax, eax
je 0x4a6f12
mov edi, dword [esp + 0x10]
mov ebp, 0xffff
movzx eax, word [esi + 4]
lea ecx, [esp + 0xc4]
push eax
push dword [esi]
call fcn.004c6176
lea ecx, [esp + 0xc4]
call fcn.004640b5
test al, al
jne 0x4a6ef7
cmp word [esp + 0xd4], bp
jne 0x4a6eb8
xor eax, eax
mov word [esp + 0xd4], ax
xor ecx, ecx
lea eax, [esp + 0xc4]
push ecx
push eax
push ecx
push ecx
mov ecx, ebx
call fcn.0049b4fc
mov ecx, eax
test ecx, ecx
je 0x4a6ef7
mov eax, dword [ecx + 0x5e]
shl eax, 4
sar eax, 4
cdq
add eax, dword [0x768d00]
adc edx, dword [0x768d04]
sub eax, 0x708
sbb edx, 0
push edx
push eax
call fcn.004b225b
push 6
pop eax
inc edi
add esi, eax
cmp edi, dword [esp + 0x20]
jb 0x4a6e81
mov ebp, dword [esp + 0x3a8]
mov edi, dword [esp + 0x34]
and dword [esp + 0x20], 0
lea eax, [esp + 0x20]
push eax
push str.peers6
mov ecx, ebp
call fcn.0045bcaf
mov esi, eax
xor edx, edx
mov eax, dword [esp + 0x20]
push 0x12
pop ecx
div ecx
test edx, edx
jne 0x4a6fe9
and dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
test eax, eax
je 0x4a6fe9
mov edi, dword [esp + 0x10]
mov ebp, 0xffff
push esi
lea ecx, [esp + 0xdc]
call fcn.004c61a3
mov ax, word [esi + 0x10]
lea ecx, [esp + 0xd8]
mov word [esp + 0xe8], ax
call fcn.004640b5
test al, al
jne 0x4a6fce
cmp word [esi + 0x10], bp
jne 0x4a6f8f
xor eax, eax
mov word [esp + 0xe8], ax
xor ecx, ecx
lea eax, [esp + 0xd8]
push ecx
push eax
push ecx
push ecx
mov ecx, ebx
call fcn.0049b4fc
mov ecx, eax
test ecx, ecx
je 0x4a6fce
mov eax, dword [ecx + 0x5e]
shl eax, 4
sar eax, 4
cdq
add eax, dword [0x768d00]
adc edx, dword [0x768d04]
sub eax, 0x708
sbb edx, 0
push edx
push eax
call fcn.004b225b
push 0x12
pop eax
inc edi
add esi, eax
cmp edi, dword [esp + 0x20]
jb 0x4a6f56
mov ebp, dword [esp + 0x3a8]
mov edi, dword [esp + 0x34]
mov eax, dword [ebx + 0xe8]
mov ecx, ebp
add eax, 7
shr eax, 3
push eax
push str.have
call fcn.0045bc70
mov ecx, dword [ebx + 0xe8]
add ecx, 7
mov dword [esp + 0x18], eax
shr ecx, 3
push ecx
push str.hashed
mov ecx, ebp
call fcn.0045bc70
mov ecx, dword [ebx + 0xe8]
add ecx, 7
mov dword [esp + 0x10], eax
shr ecx, 3
push ecx
push str.known
mov ecx, ebp
call fcn.0045bc70
mov esi, eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4a7062
mov ecx, dword [ebx + 0xe8]
add ecx, 7
shr ecx, 3
push ecx
push eax
push dword [ebx + 0x10c]
call fcn.00631810
add esp, 0xc
test esi, esi
je 0x4a7082
mov eax, dword [ebx + 0xe8]
add eax, 7
shr eax, 3
push eax
push esi
push dword [ebx + 0x110]
call fcn.00631810
add esp, 0xc
mov esi, dword [esp + 0x18]
test esi, esi
je 0x4a72bb
xor edx, edx
cmp dword [ebx + 0xe8], edx
jmp 0x4a70f6
mov eax, edx
mov cl, dl
shr eax, 3
and cl, 7
mov al, byte [eax + esi]
shr al, cl
and al, 1
mov byte [esp + 0x17], al
je 0x4a70cc
mov ecx, dword [ebx + 0xd8]
push edx
call fcn.004a54cf
mov edx, dword [esp + 0x20]
test al, al
mov al, byte [esp + 0x17]
jne 0x4a70cc
mov byte [esp + 0x1f], 1
test al, al
je 0x4a70ef
mov ecx, dword [ebx + 0xd8]
push edx
call fcn.004a54cf
test al, al
je 0x4a70eb
push dword [esp + 0x20]
mov ecx, ebx
call fcn.004b2018
mov edx, dword [esp + 0x20]
inc edx
cmp edx, dword [ebx + 0xe8]
mov dword [esp + 0x20], edx
jne 0x4a7098
cmp byte [esp + 0x1f], 0
je 0x4a71de
mov ax, word [ebx + 0x128]
mov ecx, 0xfff7
and ax, cx
mov ecx, ebx
movzx eax, ax
push eax
call fcn.004b249a
mov ecx, dword [ebx + 0xd8]
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
mov ecx, 0x9c
cdq
idiv ecx
mov esi, eax
test esi, esi
je 0x4a7163
xor edx, edx
mov edi, ecx
mov ecx, dword [ebx + 0xd8]
mov eax, dword [ecx + 4]
xor ecx, ecx
add eax, edx
add edx, edi
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
dec esi
jne 0x4a713f
mov edi, dword [esp + 0x34]
jmp 0x4a7165
xor ecx, ecx
mov esi, dword [ebx + 0xe8]
add esi, 0x1f
shr esi, 5
shl esi, 2
push esi
push ecx
push dword [ebx + 0x110]
call fcn.00635a30
push esi
push 0
push dword [ebx + 0xfc]
call fcn.00635a30
xor esi, esi
add esp, 0x18
cmp dword [ebx + 0xe8], esi
je 0x4a72bb
mov ecx, dword [ebx + 0xd8]
push dword [ecx + 0xcc]
add ecx, 0xd8
push esi
call fcn.004b7a76
mov ecx, dword [ebx + 0xd8]
push dword [ecx + 0xcc]
add ecx, 0xe4
push esi
call fcn.004b7a76
inc esi
cmp esi, dword [ebx + 0xe8]
jne 0x4a71a0
jmp 0x4a72bb
push 0
push str.valid
mov ecx, ebp
call fcn.0045bb2b
test eax, eax
je 0x4a720d
mov ax, word [ebx + 0x128]
push 8
pop ecx
or ax, cx
mov ecx, ebx
movzx eax, ax
push eax
call fcn.004b249a
jmp 0x4a72bb
mov ecx, dword [ebx + 0xd8]
cmp dword [ecx + 0xd8], 0
jne 0x4a72bb
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
mov ecx, 0x9c
cdq
idiv ecx
mov ecx, ebp
mov dword [esp + 0x18], eax
lea esi, [eax + 7]
shr esi, 3
push esi
push str.resume_valid
call fcn.0045bc70
mov dword [esp + 0x28], eax
test eax, eax
je 0x4a72bb
mov cx, word [ebx + 0x128]
push 8
pop eax
or cx, ax
movzx ecx, cx
push ecx
mov ecx, ebx
call fcn.004b249a
xor edx, edx
cmp dword [esp + 0x18], edx
je 0x4a72bb
mov edi, dword [esp + 0x28]
mov eax, edx
shr eax, 3
mov cl, dl
and cl, 7
mov al, byte [eax + edi]
mov edi, dword [esp + 0x34]
shr al, cl
test al, 1
je 0x4a7291
inc edx
cmp edx, dword [esp + 0x18]
jne 0x4a726d
jmp 0x4a72bb
mov ax, word [ebx + 0x128]
mov ecx, 0xfff7
and ax, cx
mov ecx, ebx
movzx eax, ax
push eax
call fcn.004b249a
push esi
push dword [esp + 0x2c]
call fcn.004c5fbd
mov dword [ebx + 0x108], eax
push 0xffffffffffffffff
push 0x69ecc4
mov ecx, ebp
call fcn.0045bb6f
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4a741a
mov ecx, dword [ebx + 0x1d0]
sub ecx, dword [ebx + 0x1cc]
test ecx, 0xfffffffc
je 0x4a730d
push dword [ebx + 0x1cc]
mov ecx, ebx
call fcn.0049ee97
mov eax, dword [ebx + 0x1d0]
sub eax, dword [ebx + 0x1cc]
test eax, 0xfffffffc
jne 0x4a72e9
mov eax, dword [esp + 0x2c]
mov ecx, eax
xor esi, esi
call fcn.0045ba56
test eax, eax
je 0x4a741a
mov ebp, dword [esp + 0x2c]
push 0
push esi
lea eax, [esp + 0x1bc]
mov ecx, ebp
push eax
call fcn.0045bd9b
and dword [esp + 0x24], 0
cmp dword [esp + 0x1c4], 0
mov byte [esp + 0x39c], 0x14
je 0x4a7361
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
lea eax, [esp + 0x1b8]
push eax
call fcn.0049bcbf
jmp 0x4a73da
push esi
mov ecx, ebp
call fcn.0045bb8b
and dword [esp + 0x10], 0
mov edi, eax
test edi, edi
je 0x4a73e7
mov ebp, dword [esp + 0x10]
mov ecx, edi
call fcn.0045ba56
cmp ebp, eax
je 0x4a73d6
push 0
push ebp
lea eax, [esp + 0x1ec]
mov ecx, edi
push eax
call fcn.0045bd9b
cmp dword [esp + 0x1f4], 0
mov byte [esp + 0x39c], 0x15
je 0x4a73bb
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
lea eax, [esp + 0x1e8]
push eax
call fcn.0049bcbf
push 0
push 1
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x3a4], 0x14
call fcn.0042341c
inc ebp
jmp 0x4a7378
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4a73e7
call fcn.004aef31
push 0
push 1
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x3a4], 0xe
call fcn.0042341c
mov ecx, ebp
inc esi
call fcn.0045ba56
cmp esi, eax
jne 0x4a7322
mov ebp, dword [esp + 0x3a8]
mov edi, dword [esp + 0x34]
push 0xffffffffffffffff
push str.labels
mov ecx, ebp
call fcn.0045bb6f
mov esi, eax
test esi, esi
je 0x4a74ad
and dword [esp + 0x10], 0
mov ecx, esi
call fcn.0045ba56
test eax, eax
je 0x4a74ad
mov ebp, dword [esp + 0x10]
push 8
pop edi
push 0
push ebp
lea eax, [esp + 0xf4]
mov ecx, esi
push eax
call fcn.0045bd9b
mov ecx, dword [esp + 0xec]
mov byte [esp + 0x39c], 0x16
cmp dword [esp + 0x100], edi
jae 0x4a7476
lea ecx, [esp + 0xec]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x3c]
push 0
push 1
lea ecx, [esp + 0xf4]
mov byte [esp + 0x3a4], 0xe
call fcn.0042341c
mov ecx, esi
inc ebp
call fcn.0045ba56
cmp ebp, eax
jb 0x4a7445
mov ebp, dword [esp + 0x3a8]
mov edi, dword [esp + 0x34]
push 0xffffffffffffffff
push str.webseeds
mov ecx, ebp
call fcn.0045bb6f
mov esi, eax
test esi, esi
je 0x4a7585
push ebx
call fcn.004c750a
lea ecx, [ebx + 0x1d8]
call fcn.00463ded
and dword [esp + 0x10], 0
mov ecx, esi
call fcn.0045ba56
test eax, eax
je 0x4a757e
mov ebp, dword [esp + 0x10]
push 0
push ebp
lea eax, [esp + 0x204]
mov ecx, esi
push eax
call fcn.0045bd9b
cmp dword [esp + 0x20c], 0
mov byte [esp + 0x39c], 0x17
je 0x4a754b
lea eax, [esp + 0x1fc]
push eax
lea eax, [esp + 0x2f0]
push eax
call fcn.0043d091
push eax
lea ecx, [ebx + 0x1d8]
mov byte [esp + 0x3a0], 0x18
call fcn.00464677
push 0
push 1
lea ecx, [esp + 0x2f4]
call fcn.0040a0e9
push 0
push 1
lea ecx, [esp + 0x204]
mov byte [esp + 0x3a4], 0xe
call fcn.0042341c
mov ecx, esi
inc ebp
call fcn.0045ba56
cmp ebp, eax
jne 0x4a74ee
mov ebp, dword [esp + 0x3a8]
mov edi, dword [esp + 0x34]
and byte [ebx + 0x134], 0xf7
push dword [ebx + 0xf4]
mov ecx, ebp
push str.blocksize
call fcn.0045bb2b
push 0xffffffffffffffff
push str.blocks
mov ecx, ebp
mov dword [ebx + 0xf4], eax
call fcn.0045bb6f
xor esi, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], esi
test eax, eax
je 0x4a76c3
mov edi, eax
mov ecx, edi
call fcn.0045ba56
cmp esi, eax
je 0x4a76b8
and dword [esp + 0x2c], 0
lea eax, [esp + 0x2c]
push eax
push esi
mov ecx, edi
call fcn.0045bcde
cmp dword [esp + 0x2c], 4
mov dword [esp + 0x18], eax
jbe 0x4a76ae
mov ecx, dword [eax]
cmp ecx, dword [ebx + 0xe8]
jae 0x4a76ae
mov eax, dword [ebx + 0xfc]
mov edx, ecx
shr edx, 3
and cl, 7
mov al, byte [edx + eax]
shr al, cl
test al, 1
jne 0x4a76ae
mov eax, dword [esp + 0x18]
mov ecx, ebx
push 0x5175bb
push dword [eax]
call fcn.004aa425
mov esi, eax
mov eax, dword [esi + 8]
mov byte [esi + 0x34], 3
lea ecx, [eax + 7]
shr ecx, 3
add ecx, 4
cmp dword [esp + 0x2c], ecx
jne 0x4a76aa
xor edx, edx
mov dword [esp + 0x28], edx
test eax, eax
je 0x4a76aa
mov ebp, dword [esp + 0x18]
mov eax, edx
mov cl, dl
shr eax, 3
and cl, 7
mov al, byte [eax + ebp + 4]
shr al, cl
test al, 1
je 0x4a76a0
cmp dword [esi + 0x10], 1
je 0x4a76a0
mov eax, dword [esi + 0x28]
mov ecx, ebx
push edx
mov dword [eax + edx*4], 0x764ae8
mov eax, dword [esi + 0x48]
mov byte [edx + eax], 9
dec dword [esi + 0x10]
dec dword [esi + 0xc]
push dword [esi + 4]
dec dword [esi + 0x1c]
call fcn.004a0fca
add dword [ebx + 0x294], eax
mov edx, dword [esp + 0x28]
adc dword [ebx + 0x298], 0
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esi + 8]
jne 0x4a7650
mov esi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x24], esi
jmp 0x4a75bf
mov ebp, dword [esp + 0x3a8]
mov edi, dword [esp + 0x34]
push 0xffffffffffffffff
push str.pieces_to_download
mov ecx, ebp
call fcn.0045bb6f
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a777c
mov ecx, dword [ebx + 0xcc]
mov byte [ebx + 0xd0], 1
push 0
mov edx, dword [ecx]
call dword [edx + 0xbc]
test byte [ebx + 0x13c], 8
je 0x4a7771
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
test eax, eax
je 0x4a7771
mov eax, dword [ebx]
mov ecx, ebx
xor esi, esi
call dword [eax + 4]
test eax, eax
je 0x4a7731
mov eax, dword [ebx + 0x114]
push 0xf
lea ecx, [eax + esi*2]
call fcn.004b7bc7
mov eax, dword [ebx]
mov ecx, ebx
inc esi
call dword [eax + 4]
cmp esi, eax
jne 0x4a7715
mov ecx, dword [esp + 0x18]
xor esi, esi
call fcn.0045ba56
test eax, eax
je 0x4a7771
mov ebp, dword [esp + 0x18]
push 0
push esi
mov ecx, ebp
call fcn.0045bb4e
mov ecx, dword [ebx + 0x114]
push 7
lea ecx, [ecx + eax*2]
call fcn.004b7bc7
mov ecx, ebp
inc esi
call fcn.0045ba56
cmp esi, eax
jne 0x4a7744
mov ebp, dword [esp + 0x3a8]
mov eax, dword [ebx]
mov ecx, ebx
push 0xffffffffffffffff
push 0
call dword [eax + 0x50]
cmp byte [esp + 0x3ac], 0
jne 0x4a78d8
push 0
push str.started
mov ecx, ebp
call fcn.0045bb2b
push 0
mov esi, eax
mov ecx, ebp
push str.dl_error
lea eax, [esp + 0x10c]
push eax
call fcn.0045bd54
movzx eax, word [ebx + 0x128]
mov byte [esp + 0x39c], 0x19
test al, 0x10
jne 0x4a78b5
cmp esi, 1
jne 0x4a77d8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x54]
jmp 0x4a78c0
cmp esi, 2
jne 0x4a77e9
mov ecx, ebx
call fcn.004ae653
jmp 0x4a78c0
cmp esi, 3
jne 0x4a77fe
or eax, 0x21
mov ecx, ebx
push eax
call fcn.004b249a
jmp 0x4a78c0
cmp esi, 4
jne 0x4a78ac
test byte [ebx + 0x13c], 1
je 0x4a7823
push str.LoadResume
push 0x70
mov ecx, ebx
call fcn.004b1e25
jmp 0x4a78b5
cmp dword [esp + 0x114], 0
jne 0x4a788f
call fcn.00490095
push eax
push 0x14
lea ecx, [esp + 0x154]
call fcn.0048f892
lea eax, [esp + 0x14c]
mov byte [esp + 0x39c], 0x1a
push eax
lea eax, [esp + 0x320]
push eax
call fcn.004916a8
push eax
lea ecx, [esp + 0x108]
call fcn.0044dbe6
push 0
push 1
lea ecx, [esp + 0x324]
call fcn.0042341c
lea ecx, [esp + 0x14c]
mov byte [esp + 0x39c], 0x19
call fcn.0048f8e2
push 1
sub esp, 0x18
lea eax, [esp + 0x120]
mov ecx, esp
push eax
call fcn.00422efb
mov ecx, ebx
call fcn.004b1ee5
jmp 0x4a78b5
push 0
mov ecx, ebx
call fcn.004b405f
mov eax, dword [ebx]
mov ecx, ebx
push 0xffffffffffffffff
push 1
call dword [eax + 0x50]
push 0
push 1
lea ecx, [esp + 0x10c]
mov byte [esp + 0x3a4], 0xe
call fcn.0042341c
push 0xffffffffffffffff
push str.antivirus
mov ecx, ebp
call fcn.0045bb6f
mov dword [esp + 0x18], eax
mov byte [esp + 0x17], 0
test eax, eax
je 0x4a7a68
cmp byte [esp + 0x3ac], 0
jne 0x4a7a68
and dword [esp + 0x10], 0
mov ecx, eax
call fcn.0045ba56
test eax, eax
je 0x4a7a68
mov ebp, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x40], esi
mov eax, dword [edi + 4]
mov ecx, 0x9c
sub eax, dword [edi]
cdq
idiv ecx
cmp ebp, eax
jae 0x4a7a61
mov ecx, dword [esp + 0x18]
push ebp
call fcn.0045bb8b
mov dword [esp + 0x24], eax
test eax, eax
je 0x4a7a45
mov ecx, eax
call fcn.0045ba56
mov dword [esp + 0x10], eax
test eax, eax
jle 0x4a7985
mov esi, dword [edi]
mov ecx, dword [esp + 0x24]
add esi, dword [esp + 0x40]
push 0
push 0
call fcn.0045bb4e
mov byte [esi + 0x68], al
mov ecx, dword [edi]
mov esi, dword [esp + 0x40]
mov al, byte [ecx + esi + 0x68]
mov byte [ecx + esi + 0x67], al
mov eax, dword [esp + 0x10]
cmp eax, 1
jle 0x4a79dd
mov esi, dword [edi]
mov ecx, dword [esp + 0x24]
add esi, dword [esp + 0x40]
push 0
push 0
push 1
call fcn.0045baee
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], edx
mov eax, dword [edi]
mov esi, dword [esp + 0x40]
mov ecx, dword [eax + esi + 0x84]
mov eax, dword [eax + esi + 0x88]
cmp eax, dword [ebx + 0x6c8]
jl 0x4a79dd
jg 0x4a79d1
cmp ecx, dword [ebx + 0x6c4]
jbe 0x4a79dd
mov dword [ebx + 0x6c4], ecx
mov dword [ebx + 0x6c8], eax
mov ecx, dword [esp + 0x24]
call fcn.0045ba56
cmp eax, 2
jbe 0x4a7a1d
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x34c]
push 0
push 2
push eax
call fcn.0045bd9b
lea ecx, [esi + 0x6c]
add ecx, dword [edi]
push eax
call fcn.0044dbe6
push 0
push 1
lea ecx, [esp + 0x354]
call fcn.0042341c
jmp 0x4a7a37
mov eax, dword [edi]
add eax, 0x6c
add eax, esi
push 8
pop ecx
and dword [eax + 0x10], 0
cmp dword [eax + 0x14], ecx
jb 0x4a7a32
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [edi]
cmp byte [eax + esi + 0x68], 1
jne 0x4a7a45
mov byte [esp + 0x17], 1
mov ecx, dword [esp + 0x18]
add esi, 0x9c
inc ebp
mov dword [esp + 0x40], esi
call fcn.0045ba56
cmp ebp, eax
jb 0x4a7923
mov ebp, dword [esp + 0x3a8]
push 0xffffffffffffffff
push str.infected
mov ecx, ebp
call fcn.0045bb6f
mov esi, eax
test esi, esi
je 0x4a7b0b
and dword [esp + 0x10], 0
mov ecx, esi
call fcn.0045ba56
test eax, eax
je 0x4a7ac9
mov ebp, dword [esp + 0x10]
push 0
push ebp
mov ecx, esi
call fcn.0045bb4e
mov dword [esp + 0x10], eax
lea ecx, [ebx + 0x6cc]
lea eax, [esp + 0x10]
push eax
call fcn.005cc413
mov ecx, esi
inc ebp
call fcn.0045ba56
cmp ebp, eax
jb 0x4a7a94
mov ebp, dword [esp + 0x3a8]
mov edi, dword [esp + 0x34]
mov ecx, esi
call fcn.0045ba56
test eax, eax
jne 0x4a7af2
cmp dword [ebx + 0x6c8], eax
jl 0x4a7af2
jg 0x4a7ae6
cmp dword [ebx + 0x6c4], eax
jbe 0x4a7af2
mov dword [ebx + 0x6c0], 5
jmp 0x4a7b0b
mov ecx, esi
call fcn.0045ba56
neg eax
push 6
sbb eax, eax
and eax, 0xfffffffb
pop ecx
add eax, ecx
mov dword [ebx + 0x6c0], eax
push 0xffffffffffffffff
push str.quarantined
mov ecx, ebp
call fcn.0045bb6f
mov esi, eax
test esi, esi
je 0x4a7b7a
and dword [esp + 0x10], 0
mov ecx, esi
call fcn.0045ba56
test eax, eax
je 0x4a7b68
mov ebp, dword [esp + 0x10]
push 0
push ebp
mov ecx, esi
call fcn.0045bb4e
mov dword [esp + 0x28], eax
lea ecx, [ebx + 0x6e0]
lea eax, [esp + 0x28]
push eax
call fcn.005cc413
mov ecx, esi
inc ebp
call fcn.0045ba56
cmp ebp, eax
jb 0x4a7b33
mov ebp, dword [esp + 0x3a8]
mov edi, dword [esp + 0x34]
mov ecx, esi
call fcn.0045ba56
test eax, eax
je 0x4a7b7a
and dword [ebx + 0x6c0], 0
cmp byte [esp + 0x17], 0
je 0x4a7b8b
mov dword [ebx + 0x6c0], 3
push 0
push 0x80
mov ecx, ebx
call fcn.0049f278
push 0
push str.suffixes
mov ecx, ebp
call fcn.0045bcaf
mov dword [esp + 0x18], eax
test eax, eax
je 0x4a7c0e
mov eax, dword [edi + 4]
mov ecx, 0x9c
mov esi, dword [edi]
sub eax, esi
cdq
idiv ecx
and dword [esp + 0x10], 0
test eax, eax
je 0x4a7c0e
mov ebx, dword [esp + 0x10]
xor ebp, ebp
mov edx, dword [esp + 0x18]
mov eax, ebx
shr eax, 3
mov cl, bl
and cl, 7
mov al, byte [eax + edx]
shr al, cl
mov ecx, 0x9c
shl al, 2
xor al, byte [esi + ebp + 0x66]
and al, 4
xor byte [esi + ebp + 0x66], al
inc ebx
mov eax, dword [edi + 4]
add ebp, ecx
mov esi, dword [edi]
sub eax, esi
cdq
idiv ecx
cmp ebx, eax
jb 0x4a7bcd
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x3a8]
push 0xffffffffffffffff
push str.converted_media
mov ecx, ebp
call fcn.0045bb6f
test eax, eax
je 0x4a7c33
lea ecx, [ebx + 0x650]
push ecx
mov ecx, dword [ebx + 0xd4]
push eax
call fcn.00516720
push 0xffffffffffffffff
push str.transcode
mov ecx, ebp
call fcn.0045ba72
mov esi, eax
test esi, esi
je 0x4a7c61
lea eax, [esp + 0x30]
mov ecx, 0x764368
push eax
call fcn.004887a3
mov ecx, dword [esp + 0x30]
push esi
push ebx
call fcn.0049f15b
push 0xffffffffffffffff
push str.observers
mov ecx, ebp
call fcn.0045bb6f
mov edi, eax
test edi, edi
je 0x4a7cc0
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 4]
test eax, eax
jne 0x4a7c89
test byte [ebx + 0x13c], 8
jne 0x4a7cc0
mov ecx, edi
xor esi, esi
call fcn.0045ba56
test eax, eax
je 0x4a7cc0
push esi
mov ecx, edi
call fcn.0045ba8e
push eax
push ebx
call fcn.0050f535
test eax, eax
je 0x4a7cb4
mov edx, dword [ebx]
mov ecx, ebx
push eax
call dword [edx + 0x188]
mov ecx, edi
inc esi
call fcn.0045ba56
cmp esi, eax
jb 0x4a7c96
mov eax, dword [ebx]
mov ecx, ebx
push str.CommentsObserver
call dword [eax + 0x190]
push 0xffffffffffffffff
push str.comments
mov ecx, ebp
mov esi, eax
call fcn.0045bb6f
test eax, eax
je 0x4a7cee
push 0
push eax
lea ecx, [esi + 8]
call fcn.0050f0bd
push str.tfurl
lea eax, [esp + 0x380]
mov ecx, ebp
push eax
call fcn.0045bbbd
push eax
lea ecx, [ebx + 0x204]
call fcn.00409822
xor ebx, ebx
lea ecx, [esp + 0x37c]
push ebx
push 1
call fcn.0040a0e9
push ebx
push 1
lea ecx, [esp + 0x13c]
call fcn.0042341c
push ebx
push 1
lea ecx, [esp + 0x18c]
call fcn.0042341c
push ebx
push 1
lea ecx, [esp + 0x124]
call fcn.0042341c
push ebx
push 1
lea ecx, [esp + 0x1a4]
call fcn.0042341c
push ebx
push 1
lea ecx, [esp + 0x88]
call fcn.0042341c
push ebx
push 1
lea ecx, [esp + 0x64]
call fcn.0042341c
push ebx
push 1
lea ecx, [esp + 0x174]
call fcn.0042341c
mov al, 1
mov ecx, dword [esp + 0x394]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 8