Function at 0x452100
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x5f7bd9
mov eax, dword fs:[0]
push eax
mov eax, 0x12d0
call fcn.005c3610
mov eax, dword [0x6f1550]
xor eax, esp
mov dword [esp + 0x12cc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6f1550]
xor eax, esp
push eax
lea eax, [esp + 0x12e4]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x12f4]
mov eax, dword [esp + 0x12fc]
mov dword [esp + 0x98], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], 0
mov ebx, 1
mov dword [esp + 0x12ec], ebx
lea ecx, [esp + 0x9c]
call fcn.00449430
push 4
push str.http
lea ecx, [esp + 0xa4]
push 0x21
mov esi, 2
push ecx
mov dword [esp + 0x12d4], esi
mov dword [esp + 0x12d8], 4
mov word [esp + 0x12d2], 0x50
call fcn.005c2e0a
push eax
call fcn.00401310
add esp, 0x14
lea ecx, [esp + 0x1c]
call fcn.00401a30
mov byte [esp + 0x12ec], 2
lea ecx, [esp + 0x24]
call fcn.00401a30
mov byte [esp + 0x12ec], 3
mov ecx, dword [esp + 0x12f8]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x452dde
push 0x616f80
push ecx
call fcn.005c0219
mov ecx, dword [esp + 0x1300]
add esp, 8
test eax, eax
je 0x452dde
sub eax, ecx
js 0x452dde
push 0
push ecx
lea ecx, [esp + 0xa4]
call fcn.0044bc40
lea edx, [esp + 0x9c]
push 0x61cef0
push edx
call fcn.005c0d42
add esp, 8
test eax, eax
jne 0x45224e
push str.audio_x_pn_realaudio
mov ecx, ebp
call fcn.00401f00
mov dword [esp + 0x18], ebx
jmp 0x4534f4
lea eax, [esp + 0x9c]
push 0x61ceec
push eax
call fcn.005c0d42
add esp, 8
test eax, eax
jne 0x45227c
push str.video_x_ms_asf
mov ecx, ebp
call fcn.00401f00
mov dword [esp + 0x18], ebx
jmp 0x4534f4
lea ecx, [esp + 0x9c]
push str.http
push ecx
call fcn.005c0d42
add esp, 8
test eax, eax
je 0x4522aa
push 0x612ba8
mov ecx, ebp
call fcn.00401f00
mov dword [esp + 0x18], ebx
jmp 0x4534f4
xor edi, edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x4c], edi
call fcn.00401a30
mov byte [esp + 0x12ec], 4
mov dword [esp + 0x14], 0x101
mov dword [esp + 0x3c], edi
mov byte [esp + 0x12ec], 5
push 0x20019
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
push reloc.DSOUND.dll_DirectSoundCreate
lea ecx, [esp + 0x48]
call fcn.00413720
test eax, eax
jne 0x452564
lea edx, [esp + 0x4c]
push edx
push str.ProxyEnable
lea ecx, [esp + 0x44]
call fcn.00449860
test eax, eax
jne 0x452564
cmp dword [esp + 0x4c], eax
je 0x452564
lea eax, [esp + 0x14]
push eax
push 0x100
lea ecx, [esp + 0x34]
call fcn.004314c0
push eax
push str.ProxyServer
lea ecx, [esp + 0x48]
call fcn.004137b0
test eax, eax
jne 0x452564
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x30]
call fcn.004019b0
push 0xa
lea ecx, [esp + 0x6c]
call fcn.004dc130
mov byte [esp + 0x12ec], 6
push edi
push 0x3b
lea edx, [esp + 0x70]
push edx
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.00404170
mov byte [esp + 0x12fc], 7
lea ecx, [esp + 0x24]
push ecx
mov byte [esp + 0x1300], 6
call fcn.004048e0
add esp, 0x14
mov byte [esp + 0x12ec], 8
push eax
lea ecx, [esp + 0x30]
call fcn.004044c0
mov byte [esp + 0x12ec], 6
lea ecx, [esp + 0x14]
call fcn.00401aa0
cmp dword [esp + 0x70], ebx
jbe 0x4524d9
mov eax, dword [esp + 0x68]
test eax, eax
mov dword [esp + 0x14], eax
je 0x4524d9
lea ebx, [edi + 9]
jmp 0x4523e0
push 0xa
lea ecx, [esp + 0x84]
call fcn.004dc130
mov byte [esp + 0x12ec], bl
push str.http
push esi
push 0x3d
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x7c]
call fcn.0055dda0
push ecx
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00404170
mov byte [esp + 0x1300], 0xa
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0x1304], bl
call fcn.004048e0
add esp, 0x14
mov byte [esp + 0x12f0], 0xb
or dword [esp + 0x1c], esi
mov ecx, eax
call fcn.00414280
test eax, eax
jne 0x452461
cmp dword [esp + 0x88], esi
mov byte [esp + 0x33], 1
je 0x452466
mov byte [esp + 0x33], 0
mov dword [esp + 0x12ec], ebx
test byte [esp + 0x18], 2
je 0x452482
and dword [esp + 0x18], 0xfffffffd
lea ecx, [esp + 0x28]
call fcn.00401aa0
cmp byte [esp + 0x33], 0
jne 0x4524aa
mov byte [esp + 0x12ec], 6
lea ecx, [esp + 0x80]
call fcn.00404010
cmp dword [esp + 0x14], 0
jne 0x4523e0
jmp 0x4524d4
lea ecx, [esp + 0x80]
call fcn.004cd3b0
push eax
lea ecx, [esp + 0x30]
call fcn.004044c0
mov byte [esp + 0x12ec], 6
lea ecx, [esp + 0x80]
call fcn.00404010
mov ebx, 1
push 0
push 0x3a
lea edx, [esp + 0x70]
push edx
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
call fcn.00404170
mov byte [esp + 0x12fc], 0xc
lea ecx, [esp + 0x24]
push ecx
mov byte [esp + 0x1300], 6
call fcn.004048e0
add esp, 0x14
mov byte [esp + 0x12ec], 0xd
push eax
lea ecx, [esp + 0x30]
call fcn.004044c0
mov byte [esp + 0x12ec], 6
lea ecx, [esp + 0x14]
call fcn.00401aa0
cmp dword [esp + 0x70], ebx
jbe 0x452553
lea ecx, [esp + 0x68]
call fcn.004cd3b0
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.005c2719
add esp, 0xc
mov edi, eax
mov byte [esp + 0x12ec], 5
lea ecx, [esp + 0x68]
call fcn.00404010
lea ecx, [esp + 0x50]
call fcn.005b09fb
mov byte [esp + 0x12ec], 0xe
push 0
push 0x3f
push ebx
push 0
lea ecx, [esp + 0x60]
call fcn.005b05cc
cmp dword [esp + 0x4c], 0
je 0x452594
mov esi, edi
lea eax, [esp + 0x2c]
jmp 0x4525ba
movzx esi, word [esp + 0x12c2]
lea edx, [esp + 0xbd]
push edx
lea ecx, [esp + 0x18]
call fcn.00401f00
mov byte [esp + 0x12ec], 0xf
or dword [esp + 0x18], 4
mov eax, dword [eax]
push esi
push eax
lea ecx, [esp + 0x58]
call fcn.005affde
mov esi, eax
mov dword [esp + 0x12ec], 0xe
test byte [esp + 0x18], 4
je 0x4525e9
and dword [esp + 0x18], 0xfffffffb
lea ecx, [esp + 0x14]
call fcn.00401aa0
test esi, esi
je 0x452da6
lea eax, [esp + 0xbd]
push eax
lea ecx, [esp + 0x2c]
call fcn.00401f00
mov byte [esp + 0x12ec], 0x10
lea ecx, [esp + 0xac1]
push ecx
lea ecx, [esp + 0x38]
call fcn.00401f00
mov esi, eax
mov byte [esp + 0x12ec], 0x11
lea edx, [esp + 0x2c0]
push edx
lea ecx, [esp + 0x18]
call fcn.00401f00
mov byte [esp + 0x12ec], 0x12
push esi
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00418d30
add esp, 0xc
mov byte [esp + 0x12ec], 0x14
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x15
lea ecx, [esp + 0x34]
call fcn.00401aa0
cmp dword [esp + 0x4c], 0
je 0x4526de
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x18]
push 0x616fa4
push edx
call fcn.00426000
mov bl, 0x16
mov byte [esp + 0x12f8], bl
lea ecx, [esp + 0x44]
push ecx
push eax
lea edx, [esp + 0x48]
push edx
call fcn.00418d30
add esp, 0x18
mov byte [esp + 0x12ec], 0x17
push eax
lea ecx, [esp + 0x3c]
call fcn.004044c0
mov byte [esp + 0x12ec], bl
lea ecx, [esp + 0x34]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x15
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov ebx, 1
lea ecx, [esp + 0x20]
call fcn.00401a30
mov byte [esp + 0x12ec], 0x18
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
push eax
push ecx
lea edx, [esp + 0x28]
push str.GET__s_HTTP_1.0_r_nUser_Agent:_NovaSoft_Network_Player_r_nHost:__s_r_nAccept:___r_n_r_n
push edx
call fcn.0040ada0
mov eax, dword [esp + 0x30]
mov esi, dword [eax - 0xc]
add esp, 0x10
push 0
push esi
push eax
lea ecx, [esp + 0x5c]
call fcn.005b0741
cmp eax, esi
jge 0x45279e
push 0x612ba8
mov ecx, ebp
call fcn.00401f00
or dword [esp + 0x18], ebx
mov byte [esp + 0x12ec], 0x15
lea ecx, [esp + 0x20]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x10
lea ecx, [esp + 0x38]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0xe
lea ecx, [esp + 0x28]
call fcn.00401aa0
mov byte [esp + 0x12ec], 5
lea ecx, [esp + 0x50]
call fcn.005b0a17
mov byte [esp + 0x12ec], 4
lea ecx, [esp + 0x3c]
call fcn.00403f60
mov byte [esp + 0x12ec], 3
lea ecx, [esp + 0x2c]
call fcn.00401aa0
jmp 0x4534f4
lea ecx, [esp + 0x20]
call fcn.00401950
mov bl, 0x19
mov edi, 0x100
mov edi, edi
lea ecx, [esp + 0x14]
call fcn.00401a30
mov byte [esp + 0x12ec], bl
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, edi
or eax, ecx
jge 0x4527e3
push edi
lea ecx, [esp + 0x18]
call fcn.004019e0
mov edx, dword [esp + 0x14]
push 0
push edi
push edx
lea ecx, [esp + 0x5c]
call fcn.005b038d
push eax
lea ecx, [esp + 0x18]
call fcn.004150b0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x4528b3
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.00401ce0
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
jl 0x452838
push str._r_n_r_n
push eax
call fcn.005c0219
add esp, 8
test eax, eax
je 0x452838
sub eax, dword [esp + 0x20]
mov esi, eax
jns 0x45284e
mov byte [esp + 0x12ec], 0x18
lea ecx, [esp + 0x14]
call fcn.00401aa0
jmp 0x4527b0
lea eax, [esi + 4]
push eax
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x28]
call fcn.00404540
mov byte [esp + 0x12ec], 0x1a
push eax
lea ecx, [esp + 0x28]
call fcn.004044c0
mov byte [esp + 0x12ec], bl
lea ecx, [esp + 0x34]
call fcn.00401aa0
push esi
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x28]
call fcn.0042ebc0
mov byte [esp + 0x12ec], 0x1b
push eax
lea ecx, [esp + 0x24]
call fcn.004044c0
mov byte [esp + 0x12ec], bl
lea ecx, [esp + 0x34]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x18
lea ecx, [esp + 0x14]
call fcn.00401aa0
push 0xa
lea ecx, [esp + 0x84]
call fcn.004dc130
mov byte [esp + 0x12ec], 0x1c
push 0
push 0xa
lea eax, [esp + 0x88]
push eax
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.00404170
mov byte [esp + 0x12fc], 0x1d
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x1300], 0x1c
call fcn.004048e0
add esp, 0x14
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x34]
call fcn.00401aa0
mov esi, dword [esp + 0x80]
test esi, esi
je 0x452a6e
mov bl, 0x1f
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x452aea
mov eax, esi
mov esi, dword [esi]
push 0xa
lea ecx, [esp + 0x6c]
lea edi, [eax + 8]
call fcn.004dc130
mov byte [esp + 0x12ec], bl
push 2
push 0x3a
lea ecx, [esp + 0x70]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push edi
call fcn.00404170
mov byte [esp + 0x12fc], 0x20
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0x1300], bl
call fcn.004048e0
add esp, 0x14
mov byte [esp + 0x12ec], bl
lea ecx, [esp + 0x34]
call fcn.00401aa0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x6c]
call fcn.00437e70
mov byte [esp + 0x12ec], 0x22
mov ecx, eax
call fcn.00418620
push eax
lea ecx, [esp + 0x18]
call fcn.00404170
mov byte [esp + 0x12ec], 0x24
lea ecx, [esp + 0x44]
call fcn.00401aa0
mov ecx, dword [esp + 0x14]
push str.location
push ecx
call fcn.005c0e71
add esp, 8
test eax, eax
sete al
test al, al
je 0x4529fe
cmp dword [esp + 0x70], 0
jne 0x452af4
mov edx, dword [esp + 0x14]
push str.content_type
push edx
call fcn.005c0e71
add esp, 8
test eax, eax
sete al
test al, al
je 0x452a40
cmp dword [esp + 0x70], 0
je 0x452a40
mov ecx, dword [esp + 0x68]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x452aea
lea eax, [ecx + 8]
push eax
lea ecx, [esp + 0x20]
call fcn.004044c0
mov byte [esp + 0x12ec], bl
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x68]
call fcn.00404010
test esi, esi
jne 0x452936
mov edi, 0x100
mov ecx, dword [esp + 0x24]
cmp dword [ecx - 0xc], edi
jge 0x452b78
mov bl, 0x26
lea ecx, [ecx]
lea ecx, [esp + 0x14]
call fcn.00401a30
mov byte [esp + 0x12ec], bl
push 0
push edi
push edi
lea ecx, [esp + 0x20]
call fcn.00401b00
push eax
lea ecx, [esp + 0x5c]
call fcn.005b038d
push eax
lea ecx, [esp + 0x18]
call fcn.004150b0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x452b67
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.00401ce0
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov edx, dword [esp + 0x24]
cmp dword [edx - 0xc], edi
jl 0x452a80
jmp 0x452b78
push 0x80004005
call fcn.00401480
mov eax, dword [esp + 0x48]
push eax
lea ecx, [esp + 0x6c]
call fcn.00454720
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00404170
mov byte [esp + 0x12f4], 0x25
push ebp
mov byte [esp + 0x12f8], 0x24
call fcn.00452100
or dword [esp + 0x24], 1
add esp, 0xc
mov byte [esp + 0x12ec], bl
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x68]
call fcn.00404010
mov byte [esp + 0x12ec], 0x18
lea ecx, [esp + 0x80]
call fcn.00404010
jmp 0x452733
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov eax, dword [esp + 0x24]
cmp dword [eax - 0xc], 8
jl 0x452c66
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00404170
mov byte [esp + 0x12f0], 0x27
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x12f4], 0x1c
call fcn.00494680
mov byte [esp + 0x12f4], 0x28
mov ecx, dword [esp + 0x1c]
push 3
push 0x617f70
push ecx
call fcn.005c19b2
add esp, 0x14
test eax, eax
jne 0x452c0c
push str.audio_x_pn_realaudio
mov ecx, ebp
call fcn.00401f00
or dword [esp + 0x18], 1
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x18
lea ecx, [esp + 0x80]
call fcn.00404010
jmp 0x452733
mov edx, dword [esp + 0x14]
push 4
push str..RMF
push edx
call fcn.005c19b2
add esp, 0xc
test eax, eax
je 0x452bd1
mov eax, dword [esp + 0x14]
cmp dword [eax], 0x75b22630
jne 0x452c37
push str.video_x_ms_wmv
jmp 0x452bd6
push 4
add eax, 4
push str.moov
push eax
call fcn.005c19b2
add esp, 0xc
test eax, eax
jne 0x452c55
push str.video_quicktime
jmp 0x452bd6
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x14]
call fcn.00401aa0
cmp dword [esp + 0x48], 0
je 0x452d5a
lea eax, [esp + 0x1c]
push str.video_x_ms_asf
push eax
call fcn.00416280
add esp, 8
test al, al
jne 0x452ccd
lea ecx, [esp + 0x1c]
push str.audio_scpls
push ecx
call fcn.00416280
add esp, 8
test al, al
jne 0x452ccd
lea edx, [esp + 0x1c]
push str.audio_x_mpegurl
push edx
call fcn.00416280
add esp, 8
test al, al
jne 0x452ccd
lea eax, [esp + 0x1c]
push str.text_html
push eax
call fcn.00416280
add esp, 8
test al, al
je 0x452d5a
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 0xc]
cmp eax, 0x1000
jge 0x452d5a
mov bl, 0x29
lea ecx, [ecx]
lea ecx, [esp + 0x14]
call fcn.00401a30
mov byte [esp + 0x12ec], bl
push 0
push edi
push edi
lea ecx, [esp + 0x20]
call fcn.00401b00
push eax
lea ecx, [esp + 0x5c]
call fcn.005b038d
push eax
lea ecx, [esp + 0x18]
call fcn.004150b0
mov edx, dword [esp + 0x14]
cmp dword [edx - 0xc], 0
je 0x452d49
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
call fcn.00428a50
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov ecx, dword [esp + 0x24]
cmp dword [ecx - 0xc], 0x1000
jl 0x452ce0
jmp 0x452d5a
mov byte [esp + 0x12ec], 0x1c
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x18
lea ecx, [esp + 0x80]
call fcn.00404010
mov byte [esp + 0x12ec], 0x15
lea ecx, [esp + 0x20]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0x10
lea ecx, [esp + 0x38]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0xe
lea ecx, [esp + 0x28]
call fcn.00401aa0
mov ebx, 1
mov byte [esp + 0x12ec], 5
lea ecx, [esp + 0x50]
call fcn.005b0a17
mov byte [esp + 0x12ec], 4
lea ecx, [esp + 0x3c]
call fcn.00403f60
mov byte [esp + 0x12ec], 3
lea ecx, [esp + 0x2c]
call fcn.00401aa0
jmp 0x452fd3
cmp dword [ecx - 0xc], 0
je 0x452fd3
push ecx
lea ecx, [esp + 0x50]
call fcn.0041a6b0
mov byte [esp + 0x12ec], 0x2a
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0x50]
call fcn.00429af0
mov byte [esp + 0x12ec], 0x2b
mov ecx, eax
call fcn.00418620
push eax
lea ecx, [esp + 0x2c]
call fcn.00404170
mov byte [esp + 0x12ec], 0x2d
lea ecx, [esp + 0x44]
call fcn.00401aa0
mov eax, dword [esp + 0x28]
push str..asx
push eax
call fcn.005c0e71
add esp, 8
test eax, eax
sete al
test al, al
je 0x452e54
push str.video_x_ms_asf
jmp 0x452eae
mov ecx, dword [esp + 0x28]
push str..pls
push ecx
call fcn.005c0e71
add esp, 8
test eax, eax
sete al
test al, al
je 0x452e76
push str.audio_scpls
jmp 0x452eae
lea edx, [esp + 0x28]
push str..m3u
push edx
call fcn.00416280
add esp, 8
test al, al
je 0x452e93
push str.audio_x_mpegurl
jmp 0x452eae
lea eax, [esp + 0x28]
push str..qtl
push eax
call fcn.00416280
add esp, 8
test al, al
je 0x452eb7
push str.application_x_quicktimeplayer
lea ecx, [esp + 0x20]
call fcn.00401e80
mov ecx, dword [esp + 0x12f8]
push 0x61cdb4
push ecx
call fcn.005c248b
mov esi, eax
add esp, 8
test esi, esi
je 0x452fb1
lea ecx, [esp + 0x14]
call fcn.00401a30
mov bl, 0x2e
mov byte [esp + 0x12ec], bl
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, 0x2800
or eax, ecx
jge 0x452f12
push 0x2800
lea ecx, [esp + 0x18]
call fcn.004019e0
mov edx, dword [esp + 0x14]
push esi
push 0x2800
push 1
push edx
call fcn.005c3bf3
add esp, 0x10
test eax, eax
jl 0x453052
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx - 8]
jg 0x453052
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x14]
push ecx
mov byte [eax + edx], 0
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00404170
mov byte [esp + 0x12f0], 0x2f
lea ecx, [esp + 0x48]
push ecx
mov byte [esp + 0x12f4], bl
call fcn.00494440
add esp, 8
mov byte [esp + 0x12ec], 0x30
push eax
lea ecx, [esp + 0x28]
call fcn.004044c0
mov byte [esp + 0x12ec], bl
lea ecx, [esp + 0x44]
call fcn.00401aa0
push esi
call fcn.005c234b
add esp, 4
mov byte [esp + 0x12ec], 0x2d
lea ecx, [esp + 0x14]
call fcn.00401aa0
mov ebx, 1
mov byte [esp + 0x12ec], 0x2a
lea ecx, [esp + 0x28]
call fcn.00401aa0
mov byte [esp + 0x12ec], 3
lea ecx, [esp + 0x4c]
call fcn.00416d50
mov edx, dword [esp + 0x24]
cmp dword [edx - 0xc], 4
jl 0x4530a9
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00404170
mov byte [esp + 0x12f0], 0x31
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x12f4], 3
call fcn.00494680
mov byte [esp + 0x12f4], 0x32
mov edx, dword [esp + 0x1c]
push 3
push 0x617f70
push edx
call fcn.005c19b2
add esp, 0x14
test eax, eax
jne 0x45305c
push str.audio_x_pn_realaudio
mov ecx, ebp
call fcn.00401f00
or dword [esp + 0x18], ebx
mov byte [esp + 0x12ec], 3
lea ecx, [esp + 0x14]
call fcn.00401aa0
jmp 0x4534f4
push 0x80070057
call fcn.00401480
mov eax, dword [esp + 0x14]
push 3
push 0x61cdb0
push eax
call fcn.005c19b2
add esp, 0xc
test eax, eax
jne 0x45307b
push str.application_x_shockwave_flash
jmp 0x453031
mov ecx, dword [esp + 0x14]
push str.MPCPLAYLIST
push ecx
call fcn.005c1860
add esp, 8
test eax, eax
je 0x453098
push str.application_x_mpc_playlist
jmp 0x453031
mov byte [esp + 0x12ec], 3
lea ecx, [esp + 0x14]
call fcn.00401aa0
cmp dword [esp + 0x48], 0
je 0x4534e4
mov edx, dword [esp + 0x1c]
cmp dword [edx - 0xc], 0
je 0x4534e4
push 0xa
lea ecx, [esp + 0x54]
call fcn.0044a560
mov byte [esp + 0x12ec], 0x33
mov dword [esp + 0x20], 0
mov bl, 0x34
mov byte [esp + 0x12ec], bl
lea eax, [esp + 0x1c]
push str.video_x_ms_asf
push eax
call fcn.00416280
add esp, 8
test al, al
je 0x45316a
push 0x20
call fcn.0059b02f
add esp, 4
test eax, eax
je 0x453113
mov ecx, eax
call fcn.0044a020
jmp 0x453115
xor eax, eax
test eax, eax
mov dword [esp + 0x20], eax
je 0x45313d
push 0
push str._a_zA_Z_:____n___
mov ecx, eax
call fcn.0044c2d0
test eax, eax
jne 0x45313d
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x54]
call fcn.0044d7b0
push 0x20
call fcn.0059b02f
add esp, 4
test eax, eax
je 0x453154
mov ecx, eax
call fcn.0044a020
jmp 0x453156
xor eax, eax
test eax, eax
mov dword [esp + 0x20], eax
je 0x4531c5
push 0
push str.Refz_b_b_____a_zA_Z_:____n__
jmp 0x4532e8
lea eax, [esp + 0x1c]
push str.audio_scpls
push eax
call fcn.00416280
add esp, 8
test al, al
je 0x45324b
push 0x20
call fcn.0059b02f
add esp, 4
test eax, eax
je 0x45319b
mov ecx, eax
call fcn.0044a020
jmp 0x45319d
xor eax, eax
test eax, eax
mov dword [esp + 0x20], eax
je 0x4531c5
push 0
push str.filez_b_b_____n__
mov ecx, eax
call fcn.0044c2d0
test eax, eax
jne 0x4531c5
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x54]
call fcn.0044d7b0
mov eax, dword [esp + 0x24]
cmp dword [eax - 0xc], 0
je 0x4534bd
mov eax, dword [esp + 0x12f8]
cmp dword [eax - 0xc], 0
jl 0x453483
push 0x616f80
push eax
call fcn.005c0219
add esp, 8
test eax, eax
je 0x453483
sub eax, dword [esp + 0x12f8]
js 0x453483
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x50]
push ecx
push edx
lea eax, [esp + 0x2c]
push eax
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.00404170
mov byte [esp + 0x12fc], 0x37
lea eax, [esp + 0xac]
push eax
mov byte [esp + 0x1300], bl
call fcn.0044ce70
add esp, 0x14
jmp 0x4534bd
lea edx, [esp + 0x1c]
push str.audio_x_mpegurl
push edx
call fcn.00416280
add esp, 8
test al, al
je 0x4532a6
push 0x20
call fcn.0059b02f
add esp, 4
test eax, eax
je 0x453278
mov ecx, eax
call fcn.0044a020
jmp 0x45327a
xor eax, eax
test eax, eax
mov dword [esp + 0x20], eax
je 0x4531c5
push 0
push str.____n_
mov ecx, eax
call fcn.0044c2d0
test eax, eax
jne 0x4531c5
lea eax, [esp + 0x20]
push eax
jmp 0x4531bc
lea ecx, [esp + 0x1c]
push str.audio_x_pn_realaudio
push ecx
call fcn.00416280
add esp, 8
test al, al
je 0x453301
push 0x20
call fcn.0059b02f
add esp, 4
test eax, eax
je 0x4532d3
mov ecx, eax
call fcn.0044a020
jmp 0x4532d5
xor eax, eax
test eax, eax
mov dword [esp + 0x20], eax
je 0x4531c5
push 0
push str.rtsp:____n_
mov ecx, eax
call fcn.0044c2d0
test eax, eax
jne 0x4531c5
lea edx, [esp + 0x20]
push edx
jmp 0x4531bc
lea eax, [esp + 0x1c]
push str.text_html
push eax
call fcn.00416280
add esp, 8
test al, al
je 0x4531c5
push 0x20
call fcn.0059b02f
add esp, 4
test eax, eax
je 0x453332
mov ecx, eax
call fcn.0044a020
jmp 0x453334
xor eax, eax
test eax, eax
mov dword [esp + 0x20], eax
je 0x45335c
push 0
push str._a_zA_Z_:____n___
mov ecx, eax
call fcn.0044c2d0
test eax, eax
jne 0x45335c
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x54]
call fcn.0044d7b0
push 0x20
call fcn.0059b02f
add esp, 4
test eax, eax
je 0x453373
mov ecx, eax
call fcn.0044a020
jmp 0x453375
xor eax, eax
test eax, eax
mov dword [esp + 0x20], eax
je 0x45339d
push 0
push str.Refz_b_b_____a_zA_Z_:____n__
mov ecx, eax
call fcn.0044c2d0
test eax, eax
jne 0x45339d
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x54]
call fcn.0044d7b0
mov eax, dword [esp + 0x24]
cmp dword [eax - 0xc], 0
je 0x45344e
mov eax, dword [esp + 0x12f8]
cmp dword [eax - 0xc], 0
jl 0x453414
push 0x616f80
push eax
call fcn.005c0219
add esp, 8
test eax, eax
je 0x453414
sub eax, dword [esp + 0x12f8]
js 0x453414
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x50]
push ecx
push edx
lea eax, [esp + 0x2c]
push eax
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.00404170
mov byte [esp + 0x12fc], 0x35
lea eax, [esp + 0xac]
push eax
mov byte [esp + 0x1300], bl
call fcn.0044ce70
add esp, 0x14
jmp 0x45344e
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x50]
push ecx
push edx
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.00404170
mov byte [esp + 0x12f8], 0x36
lea ecx, [esp + 0x1304]
push ecx
mov byte [esp + 0x12fc], bl
call fcn.00451510
add esp, 0x10
lea edx, [esp + 0x1c]
push edx
mov ecx, ebp
call fcn.00404170
or dword [esp + 0x18], 1
mov byte [esp + 0x12ec], 0x33
lea ecx, [esp + 0x20]
call fcn.0044b6b0
mov byte [esp + 0x12ec], 3
lea ecx, [esp + 0x50]
call fcn.0044a510
jmp 0x4534f4
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x50]
push ecx
push edx
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.00404170
mov byte [esp + 0x12f8], 0x38
lea ecx, [esp + 0x1304]
push ecx
mov byte [esp + 0x12fc], bl
call fcn.00451510
add esp, 0x10
mov byte [esp + 0x12ec], 0x33
lea ecx, [esp + 0x20]
call fcn.0044b6b0
mov byte [esp + 0x12ec], 3
lea ecx, [esp + 0x50]
call fcn.0044a510
mov ebx, 1
lea edx, [esp + 0x1c]
push edx
mov ecx, ebp
call fcn.00404170
or dword [esp + 0x18], ebx
mov byte [esp + 0x12ec], 2
lea ecx, [esp + 0x24]
call fcn.00401aa0
mov byte [esp + 0x12ec], 1
lea ecx, [esp + 0x1c]
call fcn.00401aa0
mov byte [esp + 0x12ec], 0
lea ecx, [esp + 0x12f8]
call fcn.00401aa0
mov eax, ebp
mov ecx, dword [esp + 0x12e4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x12cc]
xor ecx, esp
call fcn.005bf6a4
add esp, 0x12dc
ret