Function at 0x414c90
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x58aae0
mov eax, dword fs:[0]
push eax
mov eax, 0x24f0
call fcn.004727c0
mov eax, dword [0x61c948]
xor eax, esp
mov dword [esp + 0x24ec], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x61c948]
xor eax, esp
push eax
lea eax, [esp + 0x2504]
mov dword fs:[0], eax
mov edi, dword [esp + 0x2514]
mov eax, dword [esp + 0x251c]
xor ebp, ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x28], ebp
lea ecx, [esp + 0x94]
mov dword [esp + 0x250c], ebp
call fcn.004121a0
push 4
push str.http
lea ecx, [esp + 0x9c]
push 0x21
push ecx
mov dword [esp + 0x24f4], 2
mov dword [esp + 0x24f8], 4
mov word [esp + 0x24f0], 0x50
call fcn.00474d43
push eax
call fcn.004099f0
add esp, 0x14
call fcn.0045881f
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x414d57
push 0x80004005
call fcn.0040a460
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebx, [eax + 0x10]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x250c], 1
call fcn.0045881f
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x414d89
push 0x80004005
call fcn.0040a460
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x250c], 2
mov esi, dword [esp + 0x2518]
mov eax, dword [esi - 0xc]
cmp eax, ebp
jl 0x415a06
push 0x5ead28
push esi
call fcn.00472fec
add esp, 8
cmp eax, ebp
je 0x415a06
sub eax, esi
sar eax, 1
js 0x415a06
push ebp
push esi
lea ecx, [esp + 0x9c]
call fcn.00411930
lea ecx, [esp + 0x94]
push 0x5ead30
push ecx
call fcn.00472d17
add esp, 8
test eax, eax
jne 0x414e65
push 0x5e86e8
mov ecx, edi
call fcn.00408200
mov byte [esp + 0x250c], 1
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
or ecx, 0xffffffff
lea edx, [eax + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414e2e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0x250c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414e52
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x250c], 0xffffffff
lea eax, [esi - 0x10]
jmp 0x4160a5
lea ecx, [esp + 0x94]
push 0x5ead38
push ecx
call fcn.00472d17
add esp, 8
test eax, eax
jne 0x414e88
push 0x5e86d8
jmp 0x414dff
lea ecx, [esp + 0x94]
push str.http
push ecx
call fcn.00472d17
add esp, 8
test eax, eax
je 0x414eab
push 0x5e8688
jmp 0x414dff
lea ecx, [esp + 0x18]
mov dword [esp + 0x3c], ebp
call fcn.00416770
mov dword [esp + 0x30], ebp
mov dword [esp + 0x14], 0x101
mov dword [esp + 0x34], ebp
push 0x20019
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
push reloc.WS2_32.dll_accept
lea ecx, [esp + 0x40]
mov byte [esp + 0x2518], 4
call fcn.00409ec0
test eax, eax
jne 0x4150fe
push str.ProxyEnable
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x44]
call fcn.00409d00
test eax, eax
jne 0x4150fe
cmp dword [esp + 0x3c], ebp
je 0x4150fe
lea edx, [esp + 0x14]
push edx
push 0x100
lea ecx, [esp + 0x20]
call fcn.00419070
push eax
push str.ProxyServer
lea ecx, [esp + 0x40]
call fcn.00409e40
test eax, eax
jne 0x4150fe
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.004099c0
push 0xa
lea ecx, [esp + 0x68]
call fcn.00409070
push ebp
push 0x3b
lea ecx, [esp + 0x6c]
push ecx
push ecx
mov byte [esp + 0x251c], 5
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0040a640
lea eax, [esp + 0x24]
push eax
call fcn.0040fbd0
add esp, 0x14
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2510], 6
call fcn.0040a4f0
lea ecx, [esp + 0x14]
mov byte [esp + 0x250c], 5
call fcn.004b29a0
cmp dword [esp + 0x70], 1
mov edi, vtable.CList_class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__.0
jle 0x415086
mov esi, dword [esp + 0x68]
cmp esi, ebp
je 0x415086
mov ebp, 2
push 0xa
lea ecx, [esp + 0x4c]
call fcn.00409070
push str.http
push ebp
push 0x3d
lea ecx, [esp + 0x54]
push ecx
push ecx
mov eax, esi
mov byte [esp + 0x2520], 7
mov esi, dword [esi]
add eax, 8
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.0040a640
lea edx, [esp + 0x28]
push edx
call fcn.0040fbd0
or dword [esp + 0x40], ebp
add esp, 0x14
mov ecx, eax
call fcn.00407e50
test eax, eax
jne 0x415024
cmp dword [esp + 0x54], ebp
jne 0x415024
mov bl, 1
jmp 0x415026
xor bl, bl
test byte [esp + 0x28], 2
je 0x41503b
and dword [esp + 0x28], 0xfffffffd
lea ecx, [esp + 0x14]
call fcn.004b29a0
test bl, bl
jne 0x41505e
mov byte [esp + 0x250c], 5
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], edi
call fcn.004090e0
test esi, esi
jne 0x414fca
jmp 0x415084
mov eax, dword [esp + 0x50]
add eax, 8
push eax
lea ecx, [esp + 0x1c]
call fcn.0040a4f0
mov byte [esp + 0x250c], 5
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], edi
call fcn.004090e0
xor ebp, ebp
push ebp
push 0x3a
lea eax, [esp + 0x6c]
push eax
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0040a640
lea eax, [esp + 0x24]
push eax
call fcn.0040fbd0
add esp, 0x14
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2510], 8
call fcn.0040a4f0
lea ecx, [esp + 0x14]
call fcn.004b29a0
cmp dword [esp + 0x70], 1
jle 0x4150e5
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + 8]
push 0xa
push ebp
push eax
call fcn.004749d0
add esp, 0xc
mov dword [esp + 0x30], eax
mov byte [esp + 0x250c], 4
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], edi
call fcn.004090e0
mov edi, dword [esp + 0x38]
lea ecx, [esp + 0x80]
call fcn.004612a1
push ebp
push 0x3f
push 1
mov ebx, 9
push ebp
lea ecx, [esp + 0x90]
mov byte [esp + 0x251c], bl
call fcn.004613b6
cmp dword [esp + 0x3c], ebp
je 0x415138
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x18]
jmp 0x41515e
movzx esi, word [esp + 0x24e0]
lea edx, [esp + 0xd6]
push edx
lea ecx, [esp + 0x18]
call fcn.0040a190
mov byte [esp + 0x250c], 0xa
or dword [esp + 0x28], 4
mov eax, dword [eax]
push esi
push eax
lea ecx, [esp + 0x88]
call fcn.00461178
mov dword [esp + 0x250c], ebx
test byte [esp + 0x28], 4
mov esi, eax
je 0x415187
lea ecx, [esp + 0x14]
call fcn.004b29a0
cmp esi, ebp
je 0x4159d3
lea eax, [esp + 0xd6]
push eax
lea ecx, [esp + 0x2c]
call fcn.0040c450
lea ecx, [esp + 0x14de]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x2510], 0xb
call fcn.0040c450
mov esi, eax
lea edx, [esp + 0x4dc]
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x2510], 0xc
call fcn.0040c450
lea ecx, [esp + 0x30]
push esi
push ecx
mov ecx, eax
mov byte [esp + 0x2514], 0xd
call fcn.00416830
add esp, 8
lea ecx, [esp + 0x14]
call fcn.004b29a0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x250c], 0x10
call fcn.004b29a0
cmp dword [esp + 0x3c], ebp
je 0x415260
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x28]
push str.http:__
push eax
call fcn.0040c4f0
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x50]
push edx
mov ecx, eax
mov byte [esp + 0x2520], 0x11
call fcn.00416830
add esp, 0x14
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x2510], 0x12
call fcn.0040c690
lea ecx, [esp + 0x40]
call fcn.004b29a0
lea ecx, [esp + 0x24]
call fcn.004b29a0
lea ecx, [esp + 0x2c]
call fcn.00416770
mov byte [esp + 0x250c], 0x13
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
push eax
push ecx
lea edx, [esp + 0x34]
push str.GET__s_HTTP_1.0_r_nUser_Agent:_Media_Player_Classic_r_nHost:__s_r_nAccept:___r_n_r_n
push edx
call fcn.00418640
mov eax, dword [esp + 0x3c]
mov esi, dword [eax - 0xc]
add esp, 0x10
push ebp
push esi
push eax
lea ecx, [esp + 0x8c]
call fcn.00461330
cmp eax, esi
jge 0x415317
push 0x5e8688
mov ecx, edi
call fcn.00408200
lea ecx, [esp + 0x2c]
call fcn.004b29a0
lea ecx, [esp + 0x30]
call fcn.004b29a0
lea ecx, [esp + 0x28]
call fcn.004b29a0
lea ecx, [esp + 0x80]
mov byte [esp + 0x250c], 4
call fcn.00461404
lea ecx, [esp + 0x34]
call fcn.00409f10
lea ecx, [esp + 0x18]
call fcn.004b29a0
lea ecx, [esp + 0x20]
call fcn.004b29a0
lea ecx, [esp + 0x1c]
call fcn.004b29a0
lea ecx, [esp + 0x2518]
call fcn.004b29a0
jmp 0x4160be
lea ecx, [esp + 0x2c]
call fcn.00408bc0
call fcn.0045881f
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
je 0x4153f8
mov bl, 0x14
mov edx, dword [eax]
mov edi, dword [esp + 0x38]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x14], esi
mov byte [esp + 0x250c], bl
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, 0x100
or eax, ecx
jge 0x415377
push 0x100
lea ecx, [esp + 0x18]
call fcn.00408c20
mov esi, dword [esp + 0x14]
push ebp
push 0x100
push esi
lea ecx, [esp + 0x8c]
call fcn.00460cca
push eax
lea ecx, [esp + 0x18]
call fcn.00416720
mov eax, dword [esi - 0xc]
cmp eax, ebp
je 0x415402
push eax
push esi
lea ecx, [esp + 0x34]
call fcn.00408b40
mov edi, dword [esp + 0x2c]
cmp dword [edi - 0xc], ebp
jl 0x4153c7
push str._r_n_r_n
push edi
call fcn.004744ea
add esp, 8
cmp eax, ebp
je 0x4153c7
sub eax, edi
mov edi, eax
jns 0x41540d
lea eax, [esi - 0x10]
mov byte [esp + 0x250c], 0x13
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4153eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.0045881f
cmp eax, ebp
jne 0x415336
push 0x80004005
call fcn.0040a460
lea ecx, [esp + 0x14]
call fcn.004b29a0
jmp 0x415478
lea ecx, [edi + 4]
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x34]
call fcn.004167a0
mov byte [esp + 0x250c], 0x15
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x24]
call fcn.0040a570
lea ecx, [esp + 0x24]
mov byte [esp + 0x250c], bl
call fcn.004b29a0
mov eax, edi
lea edi, [esp + 0x24]
lea ebx, [esp + 0x2c]
call fcn.004167d0
push eax
mov ecx, ebx
mov byte [esp + 0x2510], 0x16
call fcn.0040c690
mov ecx, edi
call fcn.004b29a0
lea ecx, [esp + 0x14]
call fcn.004b29a0
mov edi, dword [esp + 0x38]
xor ebp, ebp
push 0xa
lea ecx, [esp + 0x68]
call fcn.00418720
push ebp
push 0xa
lea eax, [esp + 0x6c]
push eax
push ecx
mov byte [esp + 0x251c], 0x17
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.0040c5d0
lea eax, [esp + 0x34]
push eax
call fcn.00418990
add esp, 0x14
lea ecx, [esp + 0x24]
call fcn.004b29a0
mov esi, dword [esp + 0x68]
cmp esi, ebp
je 0x41563b
mov ebx, vtable.CList_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char____const__.0
jmp 0x4154d0
mov eax, esi
mov esi, dword [esi]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], 0xa
push 2
push 0x3a
lea ecx, [esp + 0x50]
mov byte [esp + 0x2514], 0x18
mov eax, dword [eax + 8]
push ecx
push ecx
sub eax, 0x10
mov dword [esp + 0x24], esp
mov edi, esp
push eax
call fcn.0040c790
lea edx, [esp + 0x38]
add esp, 4
add eax, 0x10
push edx
mov dword [edi], eax
call fcn.00418990
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41554d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x40]
push ecx
lea edi, [esp + 0x4c]
call fcn.00418750
mov ecx, eax
mov byte [esp + 0x250c], 0x19
call fcn.00408300
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.0040c790
lea edi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x14], edi
mov byte [esp + 0x250c], 0x1b
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4155a7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.location
push edi
call fcn.0047472f
add esp, 8
cmp eax, ebp
sete al
test al, al
je 0x4155c8
cmp dword [esp + 0x54], ebp
jne 0x4156dc
push str.content_type
push edi
call fcn.0047472f
add esp, 8
cmp eax, ebp
sete al
test al, al
je 0x4155f6
cmp dword [esp + 0x54], ebp
je 0x4155f6
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 8]
push eax
lea ecx, [esp + 0x20]
call fcn.0040a570
lea eax, [edi - 0x10]
mov byte [esp + 0x250c], 0x18
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41561a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x250c], 0x17
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], ebx
call fcn.004090e0
cmp esi, ebp
jne 0x4154d0
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0x100
jge 0x4157ac
mov bl, 0x1c
mov edi, edi
lea ecx, [esp + 0x14]
call fcn.00416770
push ebp
push 0x100
push 0x100
lea ecx, [esp + 0x20]
mov byte [esp + 0x2518], bl
call fcn.00408a50
push eax
lea ecx, [esp + 0x8c]
call fcn.00460cca
push eax
lea ecx, [esp + 0x18]
call fcn.00416720
mov esi, dword [esp + 0x14]
cmp dword [esi - 0xc], ebp
je 0x41579b
push esi
lea ecx, [esp + 0x24]
call fcn.004164d0
lea eax, [esi - 0x10]
mov byte [esp + 0x250c], 0x17
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4156c6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x20]
cmp dword [ecx - 0xc], 0x100
jl 0x415650
jmp 0x4157ac
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 8]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00409c60
mov esi, dword [esp + 0x40]
push esi
call fcn.00414c90
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.004b29a0
mov byte [esp + 0x250c], 0x17
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], ebx
call fcn.004090e0
mov byte [esp + 0x250c], 0x13
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], ebx
call fcn.004090e0
lea ecx, [esp + 0x2c]
call fcn.004b29a0
lea ecx, [esp + 0x30]
call fcn.004b29a0
lea ecx, [esp + 0x28]
call fcn.004b29a0
lea ecx, [esp + 0x80]
mov byte [esp + 0x250c], 4
call fcn.00461404
lea ecx, [esp + 0x34]
call fcn.00409f10
lea ecx, [esp + 0x18]
call fcn.004b29a0
lea ecx, [esp + 0x20]
call fcn.004b29a0
lea ecx, [esp + 0x1c]
call fcn.004b29a0
lea ecx, [esp + 0x2518]
call fcn.004b29a0
mov eax, esi
jmp 0x4160c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x250c], 0x17
call fcn.004b29a0
mov esi, dword [esp + 0x20]
cmp dword [esi - 0xc], 8
jl 0x4158d2
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0040a640
lea eax, [esp + 0x18]
push eax
call fcn.0042a6f0
push 3
mov byte [esp + 0x2518], 0x1d
mov ecx, dword [esp + 0x20]
push 0x5eae64
push ecx
call fcn.00474c85
add esp, 0x14
test eax, eax
jne 0x415828
push 0x5e86e8
mov ecx, edi
call fcn.00408200
lea ecx, [esp + 0x14]
call fcn.004b29a0
mov byte [esp + 0x250c], 0x13
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], vtable.CList_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char____const__.0
call fcn.004090e0
jmp 0x4152b3
mov edx, dword [esp + 0x14]
push 4
push str..RMF
push edx
call fcn.00474c85
add esp, 0xc
test eax, eax
je 0x4157f5
mov eax, dword [esp + 0x14]
cmp dword [eax], 0x75b22630
jne 0x41587f
push str.video_x_ms_wmv
mov ecx, edi
call fcn.00408200
lea ecx, [esp + 0x14]
call fcn.004b29a0
mov byte [esp + 0x250c], 0x13
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], vtable.CList_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char____const__.0
call fcn.004090e0
jmp 0x4152b3
push 4
add eax, 4
push str.moov
push eax
call fcn.00474c85
add esp, 0xc
test eax, eax
jne 0x4158c9
push str.video_quicktime
mov ecx, edi
call fcn.00408200
lea ecx, [esp + 0x14]
call fcn.004b29a0
mov byte [esp + 0x250c], 0x13
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], vtable.CList_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char____const__.0
call fcn.004090e0
jmp 0x4152b3
lea ecx, [esp + 0x14]
call fcn.004b29a0
cmp dword [esp + 0x44], ebp
je 0x41599f
lea eax, [esp + 0x1c]
push str.video_x_ms_asf
push eax
call fcn.00408050
add esp, 8
test al, al
jne 0x415922
lea ecx, [esp + 0x1c]
push str.audio_x_scpls
push ecx
call fcn.00408050
add esp, 8
test al, al
jne 0x415922
lea edx, [esp + 0x1c]
push str.audio_x_mpegurl
push edx
call fcn.00408050
add esp, 8
test al, al
je 0x41599f
mov eax, dword [esi - 0xc]
cmp eax, 0x1000
jge 0x41599f
mov bl, 0x1e
mov edi, edi
lea ecx, [esp + 0x14]
call fcn.00416770
push ebp
push 0x100
push 0x100
lea ecx, [esp + 0x20]
mov byte [esp + 0x2518], bl
call fcn.00408a50
push eax
lea ecx, [esp + 0x8c]
call fcn.00460cca
push eax
lea ecx, [esp + 0x18]
call fcn.00416720
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], ebp
je 0x415996
push eax
lea ecx, [esp + 0x24]
call fcn.004164d0
lea ecx, [esp + 0x14]
call fcn.004b29a0
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0x1000
jl 0x415930
jmp 0x41599f
lea ecx, [esp + 0x14]
call fcn.004b29a0
mov byte [esp + 0x250c], 0x13
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], vtable.CList_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char____const__.0
call fcn.004090e0
lea ecx, [esp + 0x2c]
call fcn.004b29a0
lea ecx, [esp + 0x30]
call fcn.004b29a0
lea ecx, [esp + 0x28]
call fcn.004b29a0
lea ecx, [esp + 0x80]
mov byte [esp + 0x250c], 4
call fcn.00461404
lea ecx, [esp + 0x34]
call fcn.00409f10
lea ecx, [esp + 0x18]
mov byte [esp + 0x250c], 2
call fcn.004b29a0
jmp 0x415c72
cmp dword [esi - 0xc], ebp
je 0x415c72
push esi
lea ecx, [esp + 0x2c]
call fcn.0040a190
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
mov byte [esp + 0x2514], 0x1f
call fcn.004083b0
mov ecx, eax
mov byte [esp + 0x250c], 0x20
call fcn.00407eb0
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00409dc0
add eax, 0x10
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x250c], 0x22
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415a7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x14]
push str..asx
push ecx
call fcn.00408050
add esp, 8
test al, al
je 0x415a99
push str.video_x_ms_asf
jmp 0x415aee
lea edx, [esp + 0x14]
push str..pls
push edx
call fcn.00408050
add esp, 8
test al, al
je 0x415ab6
push str.audio_x_scpls
jmp 0x415aee
lea eax, [esp + 0x14]
push str..m3u
push eax
call fcn.00408050
add esp, 8
test al, al
je 0x415ad3
push str.audio_x_mpegurl
jmp 0x415aee
lea ecx, [esp + 0x14]
push str..qtl
push ecx
call fcn.00408050
add esp, 8
test al, al
je 0x415af7
push str.application_x_quicktimeplayer
lea ecx, [esp + 0x20]
call fcn.0040a000
mov edx, dword [esp + 0x2518]
push 0x5eaf50
push edx
call fcn.00475154
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x415c20
call fcn.0045881f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x415b30
push 0x80004005
call fcn.0040a460
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x3c], esi
mov bl, 0x23
mov byte [esp + 0x250c], bl
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, 0x2800
or eax, ecx
jge 0x415b6f
push 0x2800
lea ecx, [esp + 0x40]
call fcn.00408c20
mov esi, dword [esp + 0x3c]
push ebp
push 0x2800
push 1
push esi
call fcn.004753c4
add esp, 0x10
test eax, eax
jl 0x415d52
cmp eax, dword [esi - 8]
jg 0x415d52
mov dword [esi - 0xc], eax
push ecx
mov byte [eax + esi], 0
mov dword [esp + 0x44], esp
add esi, 0xfffffff0
mov edi, esp
push esi
call fcn.0040c790
lea ecx, [esp + 0x48]
add esp, 4
add eax, 0x10
push ecx
mov dword [edi], eax
call fcn.0042a4b0
add esp, 8
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x2510], 0x24
call fcn.0040a4f0
mov byte [esp + 0x250c], bl
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x415bf6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ebp
call fcn.00475452
add esp, 4
mov byte [esp + 0x250c], 0x22
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415c20
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov byte [esp + 0x250c], 0x1f
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415c48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x250c], 2
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415c70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor ebp, ebp
mov ecx, dword [esp + 0x20]
cmp dword [ecx - 0xc], 4
jl 0x415dea
push ecx
mov esi, ecx
add esi, 0xfffffff0
mov dword [esp + 0x28], esp
mov edi, esp
push esi
call fcn.00409dc0
lea edx, [esp + 0x1c]
add esp, 4
add eax, 0x10
push edx
mov dword [edi], eax
call fcn.0042a6f0
push 3
mov byte [esp + 0x2518], 0x25
mov eax, dword [esp + 0x20]
push 0x5eae64
push eax
call fcn.00474c85
add esp, 0x14
test eax, eax
jne 0x415d5c
mov edi, dword [esp + 0x38]
push 0x5e86e8
mov ecx, edi
call fcn.00408200
mov byte [esp + 0x250c], 2
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415d00
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
or edx, 0xffffffff
lea ecx, [esi + 0xc]
mov byte [esp + 0x250c], 1
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x415d21
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov byte [esp + 0x250c], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x416090
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x416090
push 0x80070057
call fcn.0040a460
mov ecx, dword [esp + 0x14]
push 3
push 0x5eaf58
push ecx
call fcn.00474c85
add esp, 0xc
test eax, eax
jne 0x415da5
mov edi, dword [esp + 0x38]
push str.application_x_shockwave_flash
mov ecx, edi
call fcn.00408200
mov byte [esp + 0x250c], 2
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x415cf4
mov ecx, dword [esp + 0x14]
push str.MPCPLAYLIST
push ecx
call fcn.004736b0
add esp, 8
test eax, eax
je 0x415dd9
mov esi, dword [esp + 0x38]
push str.application_x_mpc_playlist
mov ecx, esi
call fcn.00408200
lea ecx, [esp + 0x14]
call fcn.004b29a0
jmp 0x415776
lea ecx, [esp + 0x14]
mov byte [esp + 0x250c], 2
call fcn.004b29a0
cmp dword [esp + 0x44], ebp
je 0x41601e
mov edx, dword [esp + 0x1c]
cmp dword [edx - 0xc], ebp
je 0x41601e
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], 0xa
mov dword [esp + 0x18], ebp
lea eax, [esp + 0x1c]
push str.video_x_ms_asf
push eax
mov byte [esp + 0x2514], 0x27
call fcn.00408050
add esp, 8
test al, al
je 0x415ea8
push 0x20
call fcn.0044ff38
add esp, 4
cmp eax, ebp
je 0x415e54
call fcn.00416ac0
jmp 0x415e56
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x415e7b
push str._a_zA_Z_:____n___
call fcn.00416ae0
test eax, eax
jne 0x415e7b
lea ebx, [esp + 0x18]
lea eax, [esp + 0x48]
call fcn.004186b0
xor ebp, ebp
push 0x20
call fcn.0044ff38
add esp, 4
cmp eax, ebp
je 0x415e90
call fcn.00416ac0
jmp 0x415e92
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x415f76
push str.Refz_b_b_____a_zA_Z_:____n__
jmp 0x415f5e
lea ecx, [esp + 0x1c]
push str.audio_x_scpls
push ecx
call fcn.00408050
add esp, 8
test al, al
je 0x415ee8
push 0x20
call fcn.0044ff38
add esp, 4
cmp eax, ebp
je 0x415ed3
call fcn.00416ac0
jmp 0x415ed5
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x415f76
push str.filez_b_b_____n__
jmp 0x415f5e
lea edx, [esp + 0x1c]
push str.audio_x_mpegurl
push edx
call fcn.00408050
add esp, 8
test al, al
je 0x415f24
push 0x20
call fcn.0044ff38
add esp, 4
cmp eax, ebp
je 0x415f13
call fcn.00416ac0
jmp 0x415f15
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x415f76
push str.____n_
jmp 0x415f5e
lea eax, [esp + 0x1c]
push str.audio_x_pn_realaudio
push eax
call fcn.00408050
add esp, 8
test al, al
je 0x415f76
push 0x20
call fcn.0044ff38
add esp, 4
cmp eax, ebp
je 0x415f4f
call fcn.00416ac0
jmp 0x415f51
xor eax, eax
cmp eax, ebp
mov dword [esp + 0x18], eax
je 0x415f76
push str.rtsp:____n_
call fcn.00416ae0
test eax, eax
jne 0x415f76
lea ebx, [esp + 0x18]
lea eax, [esp + 0x48]
call fcn.004186b0
xor ebp, ebp
mov ecx, dword [esp + 0x20]
cmp dword [ecx - 0xc], ebp
je 0x416004
mov esi, dword [esp + 0x2518]
cmp dword [esi - 0xc], ebp
jl 0x415fd9
push 0x5ead28
push esi
call fcn.00472fec
add esp, 8
cmp eax, ebp
je 0x415fd9
sub eax, esi
sar eax, 1
js 0x415fd9
lea edx, [esp + 0x48]
push edx
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
lea esi, [esp + 0x2c]
call fcn.0040a640
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x9c]
push ecx
mov ecx, esi
call fcn.004141a0
add esp, 0xc
jmp 0x416004
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x48]
push edx
push eax
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.0040a640
lea eax, [esp + 0x2524]
push eax
call fcn.00414690
add esp, 0x10
lea edi, [esp + 0x18]
call fcn.004169e0
lea esi, [esp + 0x48]
mov byte [esp + 0x250c], 2
call fcn.00418ec0
mov esi, dword [esp + 0x1c]
push ecx
add esi, 0xfffffff0
mov dword [esp + 0x28], esp
mov edi, esp
push esi
call fcn.00409dc0
add eax, 0x10
mov dword [edi], eax
mov edi, dword [esp + 0x40]
add esp, 4
push edi
call fcn.0042a6f0
mov byte [esp + 0x2514], 1
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41606f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x250c], 0
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x416090
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
mov dword [esp + 0x250c], 0xffffffff
mov eax, dword [esp + 0x2518]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4160be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
mov ecx, dword [esp + 0x2504]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24ec]
xor ecx, esp
call fcn.004721e8
add esp, 0x24fc
ret