Function at 0x596210
Capabilities:
Check os version
Copy file
Delete registry value
Get file size
Read file via mapping
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push ebp
lea ebp, [esp - 0xdf0]
sub esp, 0xdf0
push 0xffffffffffffffff
push 0x663ad9
mov eax, dword fs:[0]
push eax
sub esp, 0x364
mov eax, dword [0x758898]
xor eax, ebp
mov dword [ebp + 0xdec], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0xa4], esi
xor ebx, ebx
mov dword [ebp - 4], ebx
wait
mov ecx, dword [esi + 0x20]
cmp ecx, ebx
je 0x596269
call fcn.0056ae10
lea ecx, [ebp - 0x14]
call fcn.004024f0
mov byte [ebp - 4], 1
mov dword [ebp + 0xd30], 0x94
lea eax, [ebp + 0xd30]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x5962ba
mov ecx, dword [ebp + 0xd38]
push ecx
mov edx, dword [ebp + 0xd34]
push edx
push str.Windows__d._d_n
lea eax, [ebp - 0x14]
push eax
call fcn.00402f60
add esp, 0x10
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, esi
call fcn.005b42c0
lea edx, [ebp - 0x80]
push edx
call fcn.006246b1
lea eax, [ebp - 0x80]
push eax
call fcn.006271ca
add esp, 8
cmp dword [0x752d2c], ebx
mov ecx, 0x683c08
jne 0x5962e1
mov ecx, 0x678e14
mov edx, dword [esi + 0xc]
mov edx, dword [edx + 0x118]
push edx
mov edx, dword [ebp - 0x80]
push edx
lea edx, [eax + 0x14]
push edx
movzx edx, word [ebp - 0x7c]
push edx
push eax
push ecx
mov eax, dword [0x75dda0]
push eax
push str._s__s_Time:__.19s._hu__.4s___ld_sec__nowp__s_nUrl
lea ecx, [ebp - 0x14]
push ecx
call fcn.00402f60
add esp, 0x24
mov edx, dword [ebp - 0x14]
push edx
mov ecx, esi
call fcn.005b42c0
cmp dword [esi + 0x104], ebx
je 0x59654b
mov edi, dword [esi + 0xc]
mov ecx, str.register.cgi
mov eax, dword [edi + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x596353
test dl, dl
je 0x59634f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x596353
add eax, 2
add ecx, 2
test dl, dl
jne 0x596333
xor eax, eax
jmp 0x596358
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x59654b
mov eax, dword [edi + 0x24]
cmp eax, ebx
jne 0x59636e
mov eax, 0x679430
jmp 0x59637d
cmp eax, 1
mov eax, 0x679010
je 0x59637d
mov eax, 0x678ff0
push eax
mov ecx, esi
call fcn.005b42c0
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
push ecx
mov ecx, esi
call fcn.005b42c0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 4]
cmp eax, ebx
jne 0x5963a1
mov eax, 0x67997c
push eax
mov ecx, esi
call fcn.005b42c0
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x59648f
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5963c0
sub eax, edx
je 0x59648f
lea ecx, [ebp - 0x1c]
call fcn.004024f0
mov byte [ebp - 4], 2
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 8]
push edx
push 0x678ea8
lea eax, [ebp - 0x1c]
push eax
call fcn.00402f60
add esp, 0xc
mov edi, dword [esi + 0xc]
mov ecx, dword [edi + 0x10]
cmp ecx, ebx
je 0x596476
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x596402
sub eax, ebx
je 0x596476
mov edi, dword [edi + 8]
push ecx
push edi
call fcn.00622230
add esp, 8
test eax, eax
je 0x596476
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
push str.filesonic.
push eax
call fcn.00622230
add esp, 8
test eax, eax
je 0x596476
lea ecx, [ebp - 0x38]
call fcn.004024f0
mov byte [ebp - 4], 3
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x10]
push eax
push str.password_s
lea ecx, [ebp - 0x38]
push ecx
call fcn.00402f60
add esp, 0xc
push str.password
mov edx, dword [ebp - 0x38]
push edx
lea ecx, [ebp - 0x1c]
call fcn.00402c00
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call fcn.00402560
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.005b42c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00402560
xor ebx, ebx
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0xc]
push edx
push str._nUser_:__s__password_:xxx_n
lea eax, [ebp - 0x14]
push eax
call fcn.00402f60
add esp, 0xc
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, esi
call fcn.005b42c0
mov eax, dword [esi + 0x158]
cmp dword [eax], ebx
je 0x596514
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
push str.Downloading_via_proxy_server__s:_ld_n
lea ecx, [ebp - 0x14]
push ecx
call fcn.00402f60
add esp, 0x10
mov edx, dword [ebp - 0x14]
push edx
mov ecx, esi
call fcn.005b42c0
mov eax, dword [esi + 0x158]
cmp dword [eax + 0x168], ebx
je 0x59654b
push str.Proxy_user_:
mov ecx, esi
call fcn.005b42c0
mov ecx, dword [esi + 0x158]
mov edx, dword [ecx + 0x168]
push edx
mov ecx, esi
call fcn.005b42c0
push 0x67f2d0
jmp 0x596544
cmp eax, ebx
je 0x59654b
cmp byte [eax + 0x15c], 0
je 0x59654b
mov ecx, dword [eax + 0x144]
push ecx
mov edx, dword [eax + 0x140]
push edx
push str.Downloading_via_socks_server__s:_ld_n
lea eax, [ebp - 0x14]
push eax
call fcn.00402f60
add esp, 0x10
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, esi
call fcn.005b42c0
mov edx, dword [esi + 0xc]
mov eax, dword [edx]
push str.emusic.com
push eax
call fcn.00622230
add esp, 8
test eax, eax
je 0x596572
mov eax, dword [esi + 0xb8]
push eax
push ebx
mov ecx, dword [esi + 0xc]
call fcn.005cf7d0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
push str.docplayer.
push eax
call fcn.00622230
add esp, 8
test eax, eax
je 0x5965a7
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x38c]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x596595
sub eax, edi
je 0x5965a7
mov byte [edx + 0x359], 1
mov edx, dword [esi + 0x240]
push edx
mov ecx, dword [esi + 0xc]
call fcn.005d0ee0
mov eax, dword [esi + 0x240]
push eax
mov ecx, dword [esi + 0xc]
call fcn.005d1bd0
push ebx
call fcn.00624331
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x144], eax
lea edx, [ebp - 0x6c]
push edx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
push ecx
call fcn.005d4120
add esp, 0xc
test eax, eax
je 0x59661a
test byte [ebp - 0x6c], 2
je 0x5965fa
mov edx, dword [esi + 0xc]
mov byte [edx + 0x359], 1
test byte [ebp - 0x6c], 1
je 0x59660a
mov eax, dword [esi + 0xc]
mov byte [eax + 0x35a], 1
test byte [ebp - 0x6c], 4
je 0x59661a
mov ecx, dword [esi + 0xc]
mov byte [ecx + 0x35b], 1
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x33e], 0
jne 0x596635
mov dword [eax + 0x17c], ebx
mov edx, dword [esi + 0xc]
mov dword [edx + 0x178], ebx
mov eax, dword [esi + 0xc]
test dword [eax + 0x15c], 0x400000
jne 0x59690e
mov byte [ebp - 0x29], 0
cmp dword [eax + 8], ebx
je 0x59690e
mov eax, dword [eax]
push str.youtube.com
push eax
call fcn.00622230
add esp, 8
test eax, eax
jne 0x596684
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
push str.googlevideo.com
push eax
call fcn.00622230
add esp, 8
test eax, eax
je 0x59690e
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
push str.ip
push eax
call fcn.00622230
add esp, 8
mov edi, eax
cmp edi, ebx
jne 0x5966f0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 8]
push str._ip
push eax
call fcn.00622230
add esp, 8
mov edi, eax
cmp edi, ebx
jne 0x5966f0
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
push str.IP
push eax
call fcn.00622230
add esp, 8
mov edi, eax
cmp edi, ebx
jne 0x5966f0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
push str._IP
push eax
call fcn.00622230
add esp, 8
mov edi, eax
cmp edi, ebx
je 0x59690e
add edi, 4
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5966f8
sub eax, edx
inc eax
push eax
call fcn.005f4e47
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x59690e
mov ecx, ebx
mov al, byte [edi]
mov byte [ecx], al
inc edi
inc ecx
test al, al
jne 0x596717
push 0x26
push ebx
call fcn.00622170
add esp, 8
test eax, eax
je 0x596733
mov byte [eax], 0
push 0x2e
push ebx
call fcn.00622170
add esp, 8
test eax, eax
jne 0x596779
push 0x3a
push ebx
call fcn.00622170
add esp, 8
test eax, eax
jne 0x596775
push 0x6b2ba8
push ebx
call fcn.00622230
add esp, 8
test eax, eax
jne 0x596775
push 0x6b2ba4
push ebx
call fcn.00622230
add esp, 8
test eax, eax
je 0x596779
mov byte [ebp - 0x29], 1
push ebx
call fcn.005f4e52
add esp, 4
cmp byte [ebp - 0x29], 0
je 0x59690e
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0xc8]
push str.:__redirector.googlevideo.com_
push eax
call fcn.00622230
add esp, 8
test eax, eax
jne 0x5968fd
mov edi, dword [esi + 0xc]
mov ecx, str.redirector.googlevideo.com
mov eax, dword [edi]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5967d5
test dl, dl
je 0x5967d1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5967d5
add eax, 2
add ecx, 2
test dl, dl
jne 0x5967b5
xor eax, eax
jmp 0x5967da
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x59690e
mov byte [edi + 0x18b], 1
mov byte [ebp - 0x29], 0
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
push str.mip
push eax
call fcn.00622230
add esp, 8
mov edi, eax
test edi, edi
jne 0x596859
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
push str._mip
push eax
call fcn.00622230
add esp, 8
mov edi, eax
test edi, edi
jne 0x596859
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 8]
push str.MIP
push eax
call fcn.00622230
add esp, 8
mov edi, eax
test edi, edi
jne 0x596859
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
push str._MIP
push eax
call fcn.00622230
add esp, 8
mov edi, eax
test edi, edi
je 0x59690e
add edi, 5
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x596861
sub eax, edx
inc eax
push eax
call fcn.005f4e47
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x5968f1
mov ecx, ebx
lea esp, [esp]
mov al, byte [edi]
mov byte [ecx], al
inc edi
inc ecx
test al, al
jne 0x596880
push 0x26
push ebx
call fcn.00622170
add esp, 8
test eax, eax
je 0x59689c
mov byte [eax], 0
push 0x2e
push ebx
call fcn.00622170
add esp, 8
test eax, eax
jne 0x5968e2
push 0x3a
push ebx
call fcn.00622170
add esp, 8
test eax, eax
jne 0x5968de
push 0x6b2ba8
push ebx
call fcn.00622230
add esp, 8
test eax, eax
jne 0x5968de
push 0x6b2ba4
push ebx
call fcn.00622230
add esp, 8
test eax, eax
je 0x5968e2
mov byte [ebp - 0x29], 1
push ebx
call fcn.005f4e52
add esp, 4
cmp byte [ebp - 0x29], 0
jne 0x59690e
mov ecx, dword [esi + 0xc]
mov byte [ecx + 0x18b], 0
jmp 0x59690e
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0xc8]
push eax
mov ecx, esi
call fcn.005b9ab0
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x35c], 0
jne 0x596926
test dword [eax + 0x15c], 0x2000000
je 0x59692d
mov byte [eax + 0x18b], 0
mov byte [esi + 0x25e], 0
mov dword [ebp - 0x38], 0xbb8
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
push ecx
mov ecx, 0x75e934
call fcn.00545e70
test eax, eax
je 0x596959
mov edx, dword [esi + 0xc]
mov byte [edx + 0x33c], 0
mov byte [ebp - 0x39], 0
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x24], 2
je 0x596979
mov eax, dword [esi + 0x158]
test eax, eax
je 0x5969ab
cmp byte [eax + 0x137], 0
je 0x5969ab
call fcn.005d5170
test eax, eax
jne 0x5969a7
mov eax, dword [0x75ecc0]
push eax
mov ecx, dword [esi + 0x20]
call fcn.0056b3d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, 0x756c
wait
jmp 0x599c99
mov byte [ebp - 0x39], 1
xor edi, edi
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x334], 0x400
jne 0x596abf
cmp dword [esi + 0x40], edi
jne 0x596a71
lea ecx, [ebp - 0x1c]
call fcn.004024f0
mov byte [ebp - 4], 4
push edi
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.005928c0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x318]
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
lea ecx, [esi + 0x28]
call fcn.00556f50
test eax, eax
jne 0x596a1d
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
or eax, 0xffffffff
wait
jmp 0x599c99
mov ecx, dword [esi + 0x40]
cmp ecx, edi
je 0x596ab3
fld qword [0x6ad518]
fcomp qword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x596a4d
mov edx, dword [esi + 0xc]
fld qword [ecx + 0x18]
fstp qword [edx + 0x3b8]
mov ecx, esi
call fcn.005b4640
jmp 0x596ab3
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
mov eax, edx
or eax, ecx
je 0x596ab3
mov eax, dword [esi + 0xc]
mov dword [eax + 0xf0], edx
mov dword [eax + 0xf4], ecx
mov ecx, esi
call fcn.005b4790
jmp 0x596ab3
cmp byte [eax + 0x192], 0
je 0x596abf
lea ecx, [ebp - 0x1c]
call fcn.004024f0
mov byte [ebp - 4], 5
push edi
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.005928c0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x318]
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
lea ecx, [esi + 0x28]
call fcn.00562350
mov edx, dword [esi + 0xc]
mov byte [edx + 0x192], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00402560
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x334], 0x10
jne 0x596bb1
cmp dword [esi + 0x40], edi
jne 0x596b63
lea ecx, [ebp - 0x1c]
call fcn.004024f0
mov byte [ebp - 4], 6
push edi
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [esi + 0xc]
call fcn.005928c0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x318]
mov edx, dword [ebp - 0x1c]
push edx
push eax
lea ecx, [esi + 0x28]
call fcn.00558df0
test eax, eax
je 0x5969fc
mov ecx, dword [esi + 0x40]
cmp ecx, edi
je 0x596ba5
fld qword [0x6ad518]
fcomp qword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x596b3f
mov eax, dword [esi + 0xc]
fld qword [ecx + 0x18]
fstp qword [eax + 0x3b8]
mov ecx, esi
call fcn.005b4640
jmp 0x596ba5
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x3c]
mov eax, edx
or eax, ecx
je 0x596ba5
mov eax, dword [esi + 0xc]
mov dword [eax + 0xf0], edx
mov dword [eax + 0xf4], ecx
mov ecx, esi
call fcn.005b4790
jmp 0x596ba5
cmp byte [eax + 0x192], 0
je 0x596bb1
lea ecx, [ebp - 0x1c]
call fcn.004024f0
mov byte [ebp - 4], 7
push edi
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.005928c0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x318]
mov ecx, dword [ebp - 0x1c]
push ecx
push eax
lea ecx, [esi + 0x28]
call fcn.00558b40
mov edx, dword [esi + 0xc]
mov byte [edx + 0x192], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00402560
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x334], 0x800
jne 0x597262
mov dword [esi + 0x28], edi
cmp dword [esi + 0x40], edi
je 0x596bd9
cmp byte [eax + 0x192], 0
je 0x597262
mov dword [ebp - 0x60], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004024f0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
call fcn.004024f0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.004024f0
mov byte [ebp - 4], 0xa
push edi
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [esi + 0xc]
call fcn.005928c0
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x320], edi
jne 0x596ce1
cmp byte [eax + 0x18f], 0
je 0x596ce1
mov eax, dword [eax + 0x31c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x596c36
mov ecx, esi
sub eax, edx
je 0x596cd2
push str.parsing_jsmf_n
call fcn.005b42c0
mov ecx, dword [esi + 0xc]
cmp dword [esi + 0x40], edi
mov edi, dword [ecx + 0x31c]
mov eax, edi
lea ebx, [eax + 1]
jne 0x596ca0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x596c64
sub eax, ebx
mov ecx, dword [ecx + 0x318]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x28]
push edx
push ecx
push 0
push eax
push edi
mov eax, dword [ebp - 0x44]
push eax
lea ecx, [esi + 0x28]
call fcn.00560490
mov dword [ebp - 0x60], eax
mov edx, dword [esi + 0xc]
mov byte [edx + 0x192], 0
jmp 0x597014
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x596ca0
sub eax, ebx
mov ecx, dword [ecx + 0x318]
push ecx
push 0
push eax
push edi
mov ecx, dword [ebp - 0x44]
push ecx
lea ecx, [esi + 0x28]
call fcn.00560130
mov dword [ebp - 0x60], eax
mov edx, dword [esi + 0xc]
mov byte [edx + 0x192], 0
jmp 0x597014
push str.No_selected_audio_streamID_param_n
call fcn.005b42c0
jmp 0x59701a
push str.downloading_jsmf_n
mov ecx, esi
call fcn.005b42c0
lea ecx, [ebp]
call fcn.005b9780
mov byte [ebp - 4], 0xb
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [eax + 8]
push edx
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [eax + 0x24]
push eax
lea ecx, [ebp]
call fcn.005b74f0
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [eax + 0xc]
push edx
lea ecx, [ebp]
call fcn.005b75f0
push edi
lea ecx, [ebp]
call fcn.005b74c0
lea eax, [ebp]
push eax
call fcn.004b3c50
add esp, 4
mov ecx, dword [esi + 8]
mov dword [ebp], ecx
mov dword [ebp + 8], 1
mov byte [ebp + 0x36e], 1
mov byte [ebp + 0x36d], 1
mov byte [ebp + 0xaeb], 0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x19c]
push eax
lea ecx, [ebp]
call fcn.005ba8b0
push edi
lea ecx, [ebp]
call fcn.005c7e50
cmp eax, edi
jne 0x5972f8
cmp dword [ebp + 0xacc], edi
jne 0x5972f8
cmp dword [ebp + 0x954], 3
jne 0x5972f8
push str.dwnl_jsmf_OK_n
mov ecx, esi
call fcn.005b42c0
mov eax, dword [ebp + 0x50]
push eax
lea ecx, [ebp + 0xdc4]
call fcn.00402170
mov byte [ebp - 4], 0xc
mov eax, dword [ebp + 0xdc4]
cmp eax, edi
jne 0x596dcc
lea eax, [ebp + 0xdc8]
push edi
push 0x8000080
push 4
push edi
push edi
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0x30], ebx
cmp ebx, 0xffffffff
je 0x596fd8
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
push 0
push edi
push 0
push 2
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x596fcf
push 0
push 0
push 0
push 4
mov ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ebx, ebx
je 0x596fc2
push str.parsing_jsmf_n
mov ecx, esi
call fcn.005b42c0
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x40], 0
jne 0x596e84
cmp dword [eax + 0x320], 0
jne 0x596e5f
cmp byte [eax + 0x18f], 0
je 0x596e5f
xor ecx, ecx
jmp 0x596e64
mov ecx, 1
mov eax, dword [eax + 0x318]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x28]
push edx
push eax
push ecx
push edi
push ebx
mov eax, dword [ebp - 0x44]
push eax
lea ecx, [esi + 0x28]
call fcn.00560490
jmp 0x596eb5
cmp dword [eax + 0x320], 0
jne 0x596e9a
cmp byte [eax + 0x18f], 0
je 0x596e9a
xor ecx, ecx
jmp 0x596e9f
mov ecx, 1
mov eax, dword [eax + 0x318]
push eax
push ecx
push edi
push ebx
mov ecx, dword [ebp - 0x44]
push ecx
lea ecx, [esi + 0x28]
call fcn.00560130
mov dword [ebp - 0x60], eax
mov edx, dword [esi + 0xc]
mov byte [edx + 0x192], 0
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0x320]
test edx, edx
je 0x596fbb
test eax, eax
jne 0x596f52
mov ebx, dword [ebp - 0x28]
mov eax, ebx
lea ecx, [eax + 1]
mov dword [ebp - 0x54], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x596ee2
sub eax, dword [ebp - 0x54]
je 0x596f4c
push ebx
push 0x678ea8
add edx, 0x338
push edx
call fcn.00402f60
add esp, 0xc
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x320]
mov ecx, dword [eax + 0x4f8]
push ecx
lea ecx, [eax + 0x20]
call fcn.005d01e0
lea edx, [edi + 1]
push edx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x320]
add ecx, 0x33c
call fcn.00402840
mov ebx, eax
push edi
mov ecx, dword [ebp - 0x1c]
push ecx
push ebx
call fcn.00622730
add esp, 0xc
mov byte [ebx + edi], 0
mov ebx, dword [ebp - 0x1c]
jmp 0x596fbb
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x60]
test edx, edx
je 0x596fbb
test eax, eax
jne 0x596fbb
push str.Audio_streamID_not_found_n
mov ecx, esi
call fcn.005b42c0
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 0x320]
call fcn.005be430
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x324]
push ecx
push 0x1497
push 0x111
mov edx, dword [0x75e284]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [esi + 0xc]
mov dword [eax + 0x320], 0
mov ecx, dword [esi + 0xc]
mov byte [ecx + 0x18f], 0
mov edx, dword [esi + 0x240]
push edx
mov ecx, dword [esi + 0xc]
call fcn.005d0720
push ebx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [ebp - 0x30]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
mov eax, dword [ebp + 0xdc4]
cmp eax, edi
jne 0x596fe8
lea eax, [ebp + 0xdc8]
push eax
call fcn.006246f3
add esp, 4
lea ecx, [ebp]
call fcn.005be430
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0xdc4]
call fcn.00401210
mov byte [ebp - 4], 0xa
lea ecx, [ebp]
call fcn.005b9980
cmp dword [ebp - 0x60], 0
je 0x597073
mov ecx, dword [ebp - 0x60]
push ecx
push str.Parse_jsmf_res_ld_n
lea edx, [ebp - 0x14]
push edx
call fcn.00402f60
add esp, 0xc
mov eax, dword [ebp - 0x14]
push eax
mov ecx, esi
call fcn.005b42c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
or eax, 0xffffffff
wait
jmp 0x599c99
mov ecx, dword [esi + 0x40]
fld qword [0x6ad518]
fcomp qword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x597099
mov edx, dword [esi + 0xc]
fld qword [ecx + 0x18]
fstp qword [edx + 0x3b8]
mov ecx, esi
call fcn.005b4640
mov edi, dword [ebp - 0x20]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5970a1
sub eax, edx
je 0x59723c
xor ebx, ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x54], ebx
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x74]
push ecx
push edi
call fcn.0057bd10
add esp, 0xc
test eax, eax
je 0x59722c
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [esi + 0x274]
push ecx
lea ecx, [esi + 0x28]
call fcn.0055b060
mov edi, eax
cmp edi, ebx
je 0x597127
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, edi
wait
jmp 0x599c99
mov edx, dword [esi + 0xb0]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b530
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b930
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b4c0
mov dword [ebp + 0xdc4], ebx
mov dword [ebp + 0xdcc], ebx
xor ecx, ecx
mov word [ebp + 0xdc8], cx
mov byte [ebp - 4], 0xd
push ebx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x30]
push eax
push str._s.tmpv0
lea ecx, [ebp + 0xdc4]
call fcn.004021a0
lea ecx, [ebp - 0x370]
call fcn.005a38c0
mov byte [ebp - 4], 0xe
mov eax, dword [ebp + 0xdc4]
cmp eax, ebx
jne 0x5971ba
lea eax, [ebp + 0xdc8]
push eax
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0x30]
push edx
lea ecx, [ebp - 0x370]
call fcn.005a3230
test eax, eax
jne 0x5971dd
push str.InitSegment_parsing_error_n
mov ecx, esi
call fcn.005b42c0
push ebx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x30]
push ecx
call fcn.004ab760
add esp, 8
mov eax, dword [ebp + 0xdc4]
cmp eax, ebx
jne 0x5971fd
lea eax, [ebp + 0xdc8]
push ebx
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 0x30]
push ecx
push eax
call fcn.004ab2f0
add esp, 0xc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x370]
call fcn.005a3950
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 0xdc4]
call fcn.00401210
mov eax, dword [ebp - 0x74]
cmp eax, ebx
je 0x59723c
push eax
call fcn.006220cc
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00402560
xor edi, edi
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x334]
cmp eax, 0x40
je 0x59727b
cmp eax, 0x80
jne 0x597645
cmp dword [esi + 0x40], edi
jne 0x597645
lea ecx, [ebp - 0x28]
call fcn.004024f0
mov byte [ebp - 4], 0xf
push edi
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [esi + 0xc]
call fcn.005928c0
mov ebx, 1
mov dword [ebp - 0x40], ebx
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x334], 0x80
jne 0x5973c0
mov eax, dword [eax + 0xd0]
lea ecx, [ebp - 0x40]
push ecx
push edi
push eax
mov edx, dword [ebp - 0x28]
push edx
lea ecx, [esi + 0x28]
call fcn.005571b0
test eax, eax
jne 0x597411
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
or eax, 0xffffffff
wait
jmp 0x599c99
mov eax, dword [ebp + 0x52c]
cmp eax, edi
je 0x59730b
push eax
mov ecx, dword [esi + 0x20]
call fcn.0056b3d0
lea ecx, [ebp]
call fcn.005be430
mov esi, dword [esi + 0xc]
mov ecx, dword [esi + 0x140]
mov eax, dword [esi + 0x144]
sub eax, ecx
cmp ecx, edi
je 0x597376
cmp eax, 0x12c
jle 0x597376
mov byte [ebp - 4], 0xa
lea ecx, [ebp]
call fcn.005b9980
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, 0x757a
wait
jmp 0x599c99
mov esi, dword [ebp + 0xacc]
mov byte [ebp - 4], 0xa
lea ecx, [ebp]
call fcn.005b9980
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, esi
wait
jmp 0x599c99
mov ecx, dword [eax + 0xd0]
lea edx, [ebp - 0x40]
push edx
xor edx, edx
cmp dword [eax + 0x320], edi
setne dl
push edx
push ecx
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [esi + 0x28]
call fcn.005571b0
test eax, eax
je 0x5972d8
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x320], edi
je 0x597411
cmp dword [ebp - 0x40], edi
jne 0x597411
mov byte [eax + 0x18f], 0
mov ecx, dword [esi + 0x240]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.005d0720
mov ecx, dword [esi + 0x40]
cmp ecx, edi
je 0x597639
cmp dword [ecx + 0x10], ebx
jne 0x597616
lea ecx, [ebp - 0x20]
call fcn.004024f0
mov byte [ebp - 4], 0x10
fldz
fst qword [ebp - 0xe0]
fstp qword [ebp - 0xd8]
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xc4], edi
lea edx, [ebp - 0xc8]
push edx
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x68]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0xe0]
push edx
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [esi + 0x40]
call fcn.0056c950
test eax, eax
jne 0x5974c8
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
or eax, 0xffffffff
wait
jmp 0x599c99
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, esi
call fcn.005b9ab0
test eax, eax
je 0x59749b
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x24], 2
jne 0x59751f
cmp byte [ebp - 0x39], 0
jne 0x59751f
call fcn.005d5170
test eax, eax
jne 0x59751b
mov edx, dword [0x75ecc0]
push edx
mov ecx, dword [esi + 0x20]
call fcn.0056b3d0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00402560
jmp 0x596990
mov byte [ebp - 0x39], 1
mov ecx, dword [ebp - 0x48]
mov eax, ecx
mov edx, dword [ebp - 0x44]
or eax, edx
je 0x5975b0
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x334]
cmp eax, 0x40
je 0x597544
cmp eax, 0x80
jne 0x5975b0
mov byte [esi + 0x259], 1
mov eax, dword [ebp - 0x68]
mov dword [esi + 0x248], eax
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x24c], eax
mov dword [esi + 0x250], ecx
mov dword [esi + 0x254], edx
mov eax, dword [esi + 0x40]
cmp byte [eax + 0x20], 0
je 0x5975b0
mov edi, dword [eax + 0x28]
mov dword [ebp - 0x74], edi
mov edi, dword [eax + 0x2c]
mov ebx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x54], eax
push 0
push 5
push edx
push ecx
call fcn.006254d0
cmp edx, edi
jl 0x5975b0
jg 0x59759a
cmp eax, dword [ebp - 0x74]
jb 0x5975b0
mov dword [esi + 0x250], ebx
mov ecx, dword [ebp - 0x54]
mov dword [esi + 0x254], ecx
mov byte [esi + 0x25c], 1
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x334]
mov dword [eax + 0x32c], edx
mov eax, dword [esi + 0xc]
xor edi, edi
mov dword [eax + 0x334], edi
push edi
push edi
mov ecx, dword [esi + 0xb8]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.005d29e0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x48c]
cmp eax, edi
je 0x5975f4
push str.nAggrV
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov ecx, dword [esi + 0x40]
cmp ecx, edi
je 0x597603
mov eax, dword [ecx]
push 1
mov edx, dword [eax]
call edx
mov dword [esi + 0x40], edi
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x20]
call fcn.00402560
xor edi, edi
jmp 0x597639
fld qword [0x6ad518]
fcomp qword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x597639
mov eax, dword [esi + 0xc]
fld qword [ecx + 0x18]
fstp qword [eax + 0x3b8]
mov ecx, esi
call fcn.005b4640
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00402560
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x334], 2
jne 0x597a92
cmp dword [esi + 0x40], edi
jne 0x597a92
lea ecx, [ebp - 0x28]
call fcn.004024f0
mov byte [ebp - 4], 0x11
push edi
lea edx, [ebp - 0x28]
push edx
mov ecx, dword [esi + 0xc]
call fcn.005928c0
lea ecx, [ebp - 0x44]
call fcn.004024f0
mov byte [ebp - 4], 0x12
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x318]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x597690
sub eax, edx
push eax
lea ecx, [ebp - 0x44]
call fcn.00402840
mov dword [ebp - 0x40], eax
cmp eax, edi
jne 0x5976d6
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
or eax, 0xffffffff
wait
jmp 0x599c99
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x318]
push str._bootstrapInfo_
push eax
call fcn.00622230
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x5976a9
add ebx, 0xf
push str.__bootstrapInfo_
push ebx
call fcn.00622230
add esp, 8
test eax, eax
je 0x5976a9
mov edi, eax
sub edi, ebx
push edi
push ebx
mov edx, dword [ebp - 0x40]
push edx
call fcn.00622730
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov byte [edi + eax], 0
lea edi, [esi + 0x28]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0x15c]
shr edx, 0x12
not dl
and dl, 1
movzx eax, dl
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov ecx, edi
call fcn.005610a0
test eax, eax
je 0x5976a9
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [esi + 0x274]
push edx
mov ecx, edi
call fcn.0055b060
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x597799
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, edi
wait
jmp 0x599c99
mov eax, dword [esi + 0xb0]
mov ecx, dword [eax + 0x10]
push ecx
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b530
mov dword [ebp - 0x20], ebx
mov byte [ebp + 0xddc], 0x46
mov byte [ebp + 0xddd], 0x4c
mov byte [ebp + 0xdde], 0x56
mov byte [ebp + 0xddf], 1
mov byte [ebp + 0xde0], 5
mov byte [ebp + 0xde1], 0
mov byte [ebp + 0xde2], 0
mov byte [ebp + 0xde3], 0
mov byte [ebp + 0xde4], 9
mov byte [ebp + 0xde5], 0
mov byte [ebp + 0xde6], 0
mov byte [ebp + 0xde7], 0
mov byte [ebp + 0xde8], 0
lea edx, [ebp - 0x20]
push edx
push 0xd
lea eax, [ebp + 0xddc]
push eax
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b930
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x20], 0xd
je 0x597836
mov dword [ebp - 0x54], ebx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x318]
push str._metadata_
push eax
call fcn.00622230
add esp, 8
mov edi, eax
cmp edi, ebx
je 0x597977
add edi, 0xa
push str.__metadata_
push edi
call fcn.00622230
add esp, 8
test eax, eax
je 0x597977
mov ebx, eax
sub ebx, edi
push ebx
push edi
mov edx, dword [ebp - 0x40]
push edx
call fcn.00622730
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov byte [ebx + eax], 0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x597890
sub eax, edx
mov dword [ebp - 0x1c], eax
lea eax, [eax + eax + 1]
mov dword [ebp - 0x1c], eax
push eax
call fcn.005f4e47
add esp, 4
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x597977
lea eax, [ebp - 0x1c]
push eax
push edi
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.0057bf30
add esp, 0xc
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x59796e
mov byte [ebp + 0xdd0], 0x12
push eax
lea edx, [ebp + 0xdd1]
push edx
call fcn.00554fc0
add esp, 8
xor eax, eax
mov dword [ebp + 0xdd4], eax
mov word [ebp + 0xdd8], ax
mov byte [ebp + 0xdda], al
mov dword [ebp - 0x20], ebx
lea eax, [ebp - 0x20]
push eax
push 0xb
lea ecx, [ebp + 0xdd0]
push ecx
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b930
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x1c]
mov byte [edi + eax - 1], 9
lea edx, [ebp - 0x20]
push edx
push eax
push edi
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b930
mov eax, dword [ebp - 0x1c]
add eax, 0xb
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov dword [ebp + 0xdd0], eax
mov dword [ebp - 0x20], ebx
lea ecx, [ebp - 0x20]
push ecx
push 4
lea edx, [ebp + 0xdd0]
push edx
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b930
push edi
call fcn.005f4e52
add esp, 4
mov ecx, dword [esi + 0x274]
add ecx, 0x10
call fcn.0056b4c0
xor edi, edi
cmp dword [ebp - 0x54], edi
jne 0x5979b8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
xor eax, eax
wait
jmp 0x599c99
mov dword [esi + 0xc8], edi
mov dword [esi + 0xcc], edi
mov dword [esi + 0xd0], edi
mov dword [esi + 0xd4], edi
push 1
push edi
push edi
mov ecx, esi
call fcn.005b57e0
mov dword [esi + 0x1c8], 0xd
mov dword [esi + 0x1cc], edi
mov eax, dword [esi]
push 1
mov ecx, esi
mov edx, dword [eax + 0xc]
call edx
mov edx, dword [esi + 0x40]
mov eax, dword [edx + 0x10]
mov ecx, dword [esi + 0x1ac]
cmp eax, ecx
jl 0x597a08
mov eax, ecx
mov dword [esi + 0x1b0], eax
cmp eax, edi
jne 0x597a1c
mov dword [esi + 0x1b0], 1
mov eax, dword [esi + 0xc]
fld qword [edx + 0x18]
fstp qword [eax + 0x3b8]
mov ecx, esi
call fcn.005b4640
mov ecx, dword [esi + 0xc]
cmp byte [ecx + 0x356], 0
je 0x597a78
mov ecx, 0x75e2a4
call fcn.005776f0
test al, al
je 0x597a78
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00402560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, 0x7540
wait
jmp 0x599c99
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x44]
call fcn.00402560
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00402560
xor edi, edi
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x334], 0x20
jne 0x597aa1
mov dword [esi + 0x28], edi
mov eax, dword [ecx + 0x334]
cmp eax, edi
je 0x5980d9
cmp dword [esi + 0x40], edi
je 0x5980d9
mov edx, dword [esi]
push 1
mov ecx, esi
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [esi + 0x40]
call fcn.0056be40
mov edi, eax
mov eax, dword [esi + 0x1ac]
cmp edi, eax
jge 0x597ad9
mov eax, edi
mov dword [esi + 0x1b0], eax
test eax, eax
jne 0x597aed
mov dword [esi + 0x1b0], 1
mov ecx, dword [esi + 0xc8]
mov dword [esi + 0x1c8], ecx
mov edx, dword [esi + 0xcc]
mov dword [esi + 0x1cc], edx
lea ebx, [esi + 0x28]
push 0
push 0
push 0
mov eax, dword [esi + 0x274]
push eax
mov ecx, ebx
call fcn.0055bb70
mov dword [ebp - 0x50], eax
xor ecx, ecx
test eax, eax
jne 0x597b76
cmp edi, ecx
jne 0x597b76
mov edx, dword [esi + 0x1c8]
or edx, dword [esi + 0x1cc]
je 0x597b76
mov esi, dword [esi + 0xc]
cmp dword [esi + 0x34], ecx
je 0x597b44
mov eax, dword [esi + 0x34]
jmp 0x597b47
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0xac]
push eax
mov ecx, dword [esi + 0x374]
push ecx
mov ecx, ebx
call fcn.0055c620
mov esi, eax
mov dword [ebp - 0x50], esi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, esi
wait
jmp 0x599c99
mov edx, dword [esi + 0x274]
mov dword [edx + 0x9c], 1
mov eax, dword [esi + 0x274]
mov dword [eax + 0x80], ecx
mov dword [eax + 0x84], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x360], 0
jne 0x597bb0
mov eax, dword [esi + 0x274]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], ecx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], ecx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x3218], ecx
mov dword [eax + 0x321c], ecx
mov edx, dword [esi + 0x274]
mov eax, dword [edx + 0xcc]
cmp eax, ecx
je 0x597be3
mov eax, dword [eax + 0x10]
jmp 0x597be9
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x24]
cmp eax, 2
jne 0x597c39
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x470], 0
je 0x597c03
cmp dword [ecx + 0x1c4], 0
jne 0x597c39
call fcn.005d5170
test eax, eax
jne 0x597c39
mov ecx, dword [0x75ecc0]
push ecx
mov ecx, dword [esi + 0x20]
call fcn.0056b3d0
mov dword [esi + 0x14c], 0x756c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
xor eax, eax
wait
jmp 0x599c99
mov edx, dword [esi + 0xc]
mov byte [edx + 0x357], 0
mov eax, dword [esi + 0xc]
mov byte [eax + 0x18a], 0
mov byte [esi + 0x888], 0
push 1
mov ecx, dword [0x75ebb8]
push ecx
mov ecx, esi
call fcn.005b5400
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x50], edi
test edi, edi
je 0x597cfc
cmp edi, 0x2af9
je 0x597c91
cmp edi, 0x2afc
jne 0x597cbb
mov ecx, dword [esi + 0x274]
call fcn.00563210
test eax, eax
je 0x597cbb
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx]
lea edx, [ecx + 0x3200]
push edx
mov eax, dword [eax + 0x18]
call eax
mov edi, eax
mov dword [ebp - 0x50], edi
jmp 0x597c81
test edi, edi
je 0x597cfc
xor ebx, ebx
mov dword [ebp - 0x90], ebx
cmp edi, 0x2afa
jne 0x597cf4
cmp ebx, 0xa
jge 0x597785
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x50], edi
inc ebx
jmp 0x597cc1
test edi, edi
jne 0x597785
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x334]
cmp eax, 0x10
je 0x597d1c
cmp eax, 0x200
je 0x597d1c
cmp eax, 0x400
jne 0x597f0c
cmp dword [ecx + 0x320], 0
je 0x597f0c
cmp dword [esi + 0xf4], 0
jne 0x597d44
push 0
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x50], edi
cmp edi, 0x7540
je 0x597efc
xor ebx, ebx
mov dword [ebp - 0x88], ebx
cmp dword [esi + 0xf4], ebx
jne 0x597d68
cmp dword [esi + 0x104], ebx
je 0x597d7a
cmp dword [esi + 0x160], 0
je 0x597d90
cmp dword [esi + 0x164], 0
je 0x597d90
mov ebx, 5
mov dword [ebp - 0x88], ebx
jmp 0x597d90
cmp edi, 0x7532
je 0x597e9d
cmp edi, 0x7533
je 0x597e9d
test edi, edi
je 0x597df1
mov eax, dword [esi + 0x1c8]
or eax, dword [esi + 0x1cc]
je 0x597785
cmp edi, 0x7565
je 0x597dda
cmp edi, 0x7566
je 0x597dda
cmp edi, 0x7542
jne 0x597785
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, 0x757a
wait
jmp 0x599c99
cmp dword [esi + 0xf4], 0
jne 0x597e25
cmp dword [esi + 0x104], 0
jne 0x597e25
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x34d], 0
jne 0x597e25
mov ecx, esi
call fcn.00590690
test al, al
jne 0x5979a4
mov byte [esi + 0x888], 1
xor edi, edi
mov dword [esi + 0x278], edi
mov dword [esi + 0x47c], edi
mov dword [esi + 0x680], edi
xor eax, eax
lea ebx, [edi + 1]
mov dword [ebp - 0xb4], eax
cmp eax, dword [esi + 0x278]
jae 0x597e65
mov ecx, dword [esi + 0x274]
mov edx, dword [esi + eax*4 + 0x27c]
cmp edx, dword [ecx + 0x3200]
je 0x597e65
add eax, ebx
jmp 0x597e3e
mov ecx, dword [esi + 0x278]
cmp eax, ecx
jne 0x597fcf
cmp ecx, 0x80
jae 0x597fcf
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx + 0x3200]
mov dword [esi + eax*4 + 0x27c], edx
add dword [esi + 0x278], ebx
jmp 0x597fcf
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
inc ebx
mov dword [ebp - 0x88], ebx
cmp ebx, 5
jg 0x597785
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx]
lea edx, [ecx + 0x3200]
push edx
mov eax, dword [eax + 0x18]
call eax
mov edi, eax
mov dword [ebp - 0x50], edi
test edi, edi
jne 0x597785
mov ecx, dword [esi + 0xf4]
push ecx
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x50], edi
cmp edi, 0x7540
jne 0x597d90
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
jmp 0x597a61
xor edi, edi
mov dword [esi + 0x278], edi
mov dword [esi + 0x47c], edi
mov dword [esi + 0x680], edi
xor eax, eax
lea edx, [edi + 1]
mov dword [ebp - 0x94], eax
cmp eax, dword [esi + 0x47c]
jae 0x597f4c
mov ecx, dword [esi + 0x274]
mov ebx, dword [esi + eax*4 + 0x480]
cmp ebx, dword [ecx + 0x3200]
je 0x597f4c
add eax, edx
jmp 0x597f25
mov ecx, dword [esi + 0x47c]
cmp eax, ecx
jne 0x597f77
cmp ecx, 0x80
jae 0x597f77
mov ecx, dword [esi + 0x274]
mov ecx, dword [ecx + 0x3200]
mov dword [esi + eax*4 + 0x480], ecx
add dword [esi + 0x47c], edx
xor eax, eax
mov dword [ebp - 0xa8], eax
cmp eax, dword [esi + 0x680]
jae 0x597fa0
mov ecx, dword [esi + 0x274]
mov edi, dword [esi + eax*4 + 0x684]
cmp edi, dword [ecx + 0x3200]
je 0x597fa0
add eax, edx
jmp 0x597f79
mov ecx, dword [esi + 0x680]
cmp eax, ecx
jne 0x597fcb
cmp ecx, 0x80
jae 0x597fcb
mov ecx, dword [esi + 0x274]
mov ecx, dword [ecx + 0x3200]
mov dword [esi + eax*4 + 0x684], ecx
add dword [esi + 0x680], edx
mov ebx, edx
xor edi, edi
mov ecx, dword [esi + 0x884]
cmp ecx, 0xffffffff
je 0x598062
xor eax, eax
mov dword [ebp - 0xb0], eax
cmp eax, dword [esi + 0x278]
jae 0x597ffb
cmp dword [esi + eax*4 + 0x27c], ecx
je 0x597ffb
add eax, ebx
jmp 0x597fe0
mov edx, dword [esi + 0x278]
cmp eax, edx
jne 0x59801a
cmp edx, 0x80
jae 0x59801a
mov dword [esi + eax*4 + 0x27c], ecx
add dword [esi + 0x278], ebx
xor eax, eax
mov dword [ebp - 0xb8], eax
cmp eax, dword [esi + 0x680]
jae 0x59803d
mov edx, dword [esi + eax*4 + 0x684]
cmp edx, dword [esi + 0x884]
je 0x59803d
add eax, ebx
jmp 0x59801c
mov ecx, dword [esi + 0x680]
cmp eax, ecx
jne 0x598062
cmp ecx, 0x80
jae 0x598062
mov ecx, dword [esi + 0x884]
mov dword [esi + eax*4 + 0x684], ecx
add dword [esi + 0x680], ebx
mov dword [esi + 0x1b8], ebx
mov ecx, esi
call fcn.00594330
mov edi, eax
mov dword [ebp - 0x50], edi
cmp dword [esi + 0x1c], 0
jne 0x5980b8
test edi, edi
jne 0x5980b8
push ebx
mov edx, dword [0x75eab4]
push edx
mov ecx, esi
call fcn.005b5400
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x34], edi
je 0x59809a
mov ecx, dword [eax + 0x34]
jmp 0x59809d
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0xac]
push ecx
mov edx, dword [eax + 0x374]
push edx
lea ecx, [esi + 0x28]
call fcn.0055c620
mov edi, eax
jmp 0x5980c2
cmp edi, 0x756a
jne 0x5980c5
xor edi, edi
mov dword [ebp - 0x50], edi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, edi
wait
jmp 0x599c99
cmp eax, 8
je 0x5980ea
cmp eax, 0x200
je 0x5980ea
cmp eax, 0x20
jne 0x5980f6
cmp dword [esi + 0x40], edi
jne 0x5980f6
mov byte [ecx + 0x338], 1
push 1
mov eax, dword [0x75ebb8]
push eax
mov ecx, esi
call fcn.005b5400
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
je 0x59819d
cmp edi, 0x2af9
je 0x598132
cmp edi, 0x2afc
jne 0x59815c
mov ecx, dword [esi + 0x274]
call fcn.00563210
test eax, eax
je 0x59815c
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx]
lea edx, [ecx + 0x3200]
push edx
mov eax, dword [eax + 0x18]
call eax
mov edi, eax
mov dword [ebp - 0x18], edi
jmp 0x598122
test edi, edi
je 0x59819d
xor ebx, ebx
mov dword [ebp - 0xc0], ebx
cmp edi, 0x2afa
jne 0x598195
cmp ebx, 0x1e
jge 0x597785
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x18], edi
inc ebx
jmp 0x598162
test edi, edi
jne 0x597785
cmp dword [esi + 0xf4], 0
jne 0x5981b8
push 0
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, 0x7540
je 0x597efc
xor ebx, ebx
mov dword [ebp - 0x84], ebx
cmp dword [esi + 0xf4], ebx
jne 0x5981dc
cmp dword [esi + 0x104], ebx
je 0x5981ee
cmp dword [esi + 0x160], 0
je 0x598200
cmp dword [esi + 0x164], 0
je 0x598200
mov ebx, 5
mov dword [ebp - 0x84], ebx
lea esp, [esp]
cmp edi, 0x7532
je 0x599beb
cmp edi, 0x7533
je 0x599beb
cmp edi, 0x7573
sete byte [ebp - 0x21]
mov byte [ebp - 0x49], 0
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xbc]
test ecx, ecx
je 0x59825b
mov eax, ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x598238
sub eax, ebx
je 0x59825b
push 9
push str.text_html
push ecx
call fcn.006255fd
add esp, 0xc
test eax, eax
jne 0x59825b
mov byte [ebp - 0x49], 1
test edi, edi
je 0x598265
cmp byte [ebp - 0x21], 0
je 0x59826b
cmp byte [ebp - 0x49], 0
je 0x5982dd
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
push edx
call fcn.004bbec0
add esp, 4
test eax, eax
je 0x5982dd
mov eax, dword [esi + 0xc]
push eax
call fcn.004bc190
add esp, 4
push str.Restart_type_s009_n
mov ecx, esi
call fcn.005b42c0
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x18], edi
xor ebx, ebx
cmp edi, ebx
jne 0x5982df
push ebx
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
jmp 0x5982df
xor ebx, ebx
xor al, al
mov byte [ebp - 0x3a], al
cmp edi, ebx
je 0x59834b
cmp dword [esi + 0xf4], ebx
jne 0x59834b
cmp byte [ebp - 0x21], al
jne 0x59834b
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x13c], ebx
jg 0x598322
jl 0x59830a
cmp dword [eax + 0x138], ebx
ja 0x598322
mov eax, dword [eax + 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x598313
sub eax, edx
je 0x597785
cmp edi, 0x7565
je 0x598346
cmp edi, 0x7542
je 0x598346
cmp edi, 0x7566
je 0x598346
cmp edi, 0x757a
jne 0x597785
mov al, 1
mov byte [ebp - 0x3a], al
cmp dword [esi + 0x1c], ebx
jne 0x597efc
mov byte [ebp - 0x22], 1
test al, al
jne 0x598388
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
cmp eax, ebx
jl 0x59837e
jg 0x598372
cmp ecx, ebx
jbe 0x59837e
mov dword [esi + 0x1c0], ecx
mov dword [esi + 0x1c4], eax
mov ecx, esi
call fcn.00590690
mov byte [ebp - 0x22], al
cmp dword [esi + 0xf4], ebx
jne 0x598956
cmp edi, ebx
jne 0x598464
cmp dword [esi + 0x148], ebx
je 0x5983b4
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x357], 0
jne 0x598766
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
push ebx
push ecx
push eax
mov ecx, esi
call fcn.00591920
test eax, eax
je 0x598766
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov edi, dword [esi + 0xc]
cmp byte [edi + 0x356], 0
je 0x598458
mov ecx, 0x75e2a4
call fcn.005776f0
test al, al
je 0x598458
mov eax, dword [edi + 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x598400
sub eax, edx
je 0x598426
mov ecx, dword [edi + 0x114]
push ecx
push 0x678ea8
add edi, 0xe4
push edi
call fcn.00402f60
add esp, 0xc
mov esi, dword [esi + 0xc]
mov ecx, dword [esi + 0x138]
mov eax, dword [esi + 0x13c]
cmp eax, ebx
jl 0x597a61
jg 0x598447
cmp ecx, ebx
jbe 0x597a61
mov dword [esi + 0xe8], ecx
mov dword [esi + 0xec], eax
jmp 0x597a61
mov edi, 0x757a
mov dword [ebp - 0x18], edi
mov byte [ebp - 0x3a], 1
cmp byte [ebp - 0x21], 0
jne 0x598766
cmp byte [ebp - 0x3a], 0
je 0x598732
mov dword [ebp - 0x40], edi
push ebx
push ebx
push edi
mov ecx, esi
call fcn.00593a80
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
je 0x59873a
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
cmp dword [esi + 0x1c], ebx
jne 0x597a61
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x140]
mov edx, dword [eax + 0x144]
sub edx, ecx
mov dword [ebp - 0x1c], edx
cmp ecx, ebx
je 0x59852b
test dword [eax + 0x15c], 0x80000
je 0x59852b
cmp edx, 0x3c
jle 0x59852b
mov ecx, esi
call fcn.005c92c0
test eax, eax
je 0x598528
cmp dword [esi + 0x1c], ebx
jne 0x597a61
push str.Restart_type_s010_n
mov ecx, esi
call fcn.005b42c0
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x598535
push ebx
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
mov edx, dword [ebp - 0x1c]
cmp edi, ebx
je 0x59873a
jmp 0x598538
mov edx, dword [ebp - 0x1c]
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x140], ebx
je 0x598732
cmp edx, 2
jge 0x598732
cmp byte [esi + 0x88a], 0
jne 0x598732
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
push str.Restart_type_s011_n
mov ecx, esi
call fcn.005b42c0
mov byte [esi + 0x88a], 1
mov ecx, dword [esi + 0xc]
test byte [ecx + 0x15c], 0x10
je 0x5985a7
push 0x9c4
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.Sl_2500_r_n
mov ecx, esi
call fcn.005b42c0
cmp dword [esi + 0x1c], ebx
jne 0x597a61
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x38c]
lea ecx, [eax + 1]
mov dword [ebp - 0x30], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5985c1
sub eax, dword [ebp - 0x30]
je 0x5985dc
cmp byte [edx + 0x359], cl
jne 0x5985dc
mov byte [edx + 0x359], 1
mov byte [ebp - 0x31], 0
mov edx, dword [esi + 0x274]
cmp dword [edx + 0x3220], ebx
je 0x598639
lea ecx, [ebp - 0x54]
call fcn.004024f0
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [esi + 0x274]
mov ecx, dword [ecx + 0x3220]
call fcn.005a9e30
test al, al
je 0x598627
mov byte [ebp - 0x31], 1
push 1
push ebx
push edi
mov ecx, esi
call fcn.00593a80
mov edi, eax
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x54]
call fcn.00402560
cmp byte [ebp - 0x31], 0
jne 0x598667
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x59866f
push ebx
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
je 0x59873a
mov eax, dword [esi + 0xc]
mov byte [eax + 0x35a], 1
push str.Restart_type_s012_n
mov ecx, esi
call fcn.005b42c0
mov ecx, dword [esi + 0x274]
call fcn.0057c100
xor bl, bl
mov byte [ebp - 0x31], bl
mov ecx, dword [esi + 0x274]
cmp dword [ecx + 0x3220], 0
je 0x5986ef
lea ecx, [ebp - 0x54]
call fcn.004024f0
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0x54]
push edx
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x3220]
call fcn.005a9e30
test al, al
je 0x5986df
mov bl, 1
mov byte [ebp - 0x31], bl
push 1
push 0
push edi
mov ecx, esi
call fcn.00593a80
mov edi, eax
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x54]
call fcn.00402560
test bl, bl
jne 0x598726
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x59872a
push eax
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
je 0x59873a
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x18], edi
xor ebx, ebx
cmp edi, ebx
jne 0x597785
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
test eax, eax
jl 0x59875c
jg 0x598750
test ecx, ecx
jbe 0x59875c
mov dword [esi + 0x1c0], ecx
mov dword [esi + 0x1c4], eax
mov ecx, esi
call fcn.00590690
mov byte [ebp - 0x22], al
add dword [ebp - 0x38], 0x923
mov byte [ebp - 0x32], 0
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x138]
or ecx, dword [eax + 0x13c]
jne 0x5987a4
mov edx, dword [esi + 0x1c0]
mov edi, dword [esi + 0x1c4]
mov ecx, edx
or ecx, edi
je 0x5987a4
mov dword [eax + 0x138], edx
mov dword [eax + 0x13c], edi
mov byte [ebp - 0x32], 1
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0xbc]
test edx, edx
je 0x5987ee
lea edi, [eax + 0x114]
mov eax, dword [edi]
lea ebx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5987c0
sub eax, ebx
jne 0x5987ee
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5987d0
sub eax, ebx
je 0x5987ee
push edx
push 0x678ea8
push edi
call fcn.00402f60
add esp, 0xc
mov byte [ebp - 0x32], 1
mov edi, dword [esi + 0xc]
mov eax, dword [edi + 0xc4]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x598800
sub eax, edx
je 0x59883c
lea edx, [edi + 0x130]
mov eax, dword [edx]
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x598816
sub eax, ebx
jne 0x59883c
mov eax, dword [edi + 0xc4]
push eax
push 0x678ea8
push edx
call fcn.00402f60
add esp, 0xc
mov byte [ebp - 0x32], 1
jmp 0x598842
cmp byte [ebp - 0x32], 0
je 0x598851
mov ecx, dword [esi + 0x240]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.005d0770
mov edx, dword [esi + 0x240]
test edx, edx
je 0x59890b
mov edi, dword [esi + 0x14]
cmp dword [edi], 0
je 0x5988a6
mov eax, dword [esi + 0xc]
add eax, 0x34
cmp dword [eax], 0
je 0x598876
mov eax, dword [eax]
jmp 0x598879
add eax, 4
lea ebx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x598880
sub eax, ebx
sar eax, 1
je 0x5988a6
push edx
mov edx, dword [ebp - 0x38]
push edx
push 0x111
mov eax, dword [edi]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x59890b
mov eax, dword [esi + 0x18]
cmp dword [eax], 0
je 0x5988c3
push edx
mov ecx, dword [ebp - 0x38]
push ecx
push 0x111
mov edx, dword [eax]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x59890b
cmp dword [edi], 0
je 0x59890b
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x15c]
test al, 8
jne 0x5988dc
test eax, 0x800
je 0x59890b
push edx
push 0x1490
push 0x111
mov ecx, dword [edi]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x59890b
mov byte [esi + 0x25e], 1
mov byte [ebp - 0x22], al
mov edx, dword [esi + 0xc]
mov dword [edx + 0xb0], 2
mov eax, dword [esi + 0xc]
mov byte [eax + 0x343], 1
mov byte [ebp - 0x8c], 0
mov edi, dword [esi + 0xc]
cmp byte [edi + 0x356], 0
je 0x59893d
mov ecx, 0x75e2a4
call fcn.005776f0
test al, al
je 0x59893d
mov byte [ebp - 0x8c], 1
mov ecx, dword [ebp - 0x8c]
push ecx
push 1
mov edx, dword [esi + 0x240]
push edx
mov ecx, edi
call fcn.005d4f20
xor ebx, ebx
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
cmp eax, ebx
jl 0x598977
jg 0x59896c
cmp ecx, ebx
jbe 0x598977
push 1
push eax
push ecx
mov ecx, esi
call fcn.005b57e0
cmp byte [ebp - 0x22], 0
je 0x598987
mov eax, dword [esi + 0xc]
mov byte [eax + 0x33e], 1
mov byte [esi + 0x888], 0
mov edi, dword [esi + 0xc]
cmp byte [edi + 0x356], 0
je 0x5989fd
mov ecx, 0x75e2a4
call fcn.005776f0
test al, al
je 0x5989fd
mov eax, dword [edi + 0xbc]
cmp eax, ebx
je 0x5989c7
push eax
push 0x678ea8
add edi, 0xe4
push edi
call fcn.00402f60
add esp, 0xc
mov edx, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
cmp ecx, ebx
jl 0x5989ec
jg 0x5989dd
cmp edx, ebx
jbe 0x5989ec
mov eax, dword [esi + 0xc]
mov dword [eax + 0xe8], edx
mov dword [eax + 0xec], ecx
cmp byte [ebp - 0x22], 0
jne 0x597efc
mov byte [esi + 0x888], 1
cmp dword [esi + 0xf4], ebx
jne 0x598a0d
cmp dword [esi + 0x104], ebx
je 0x598a25
cmp dword [esi + 0x160], ebx
je 0x598b24
cmp dword [esi + 0x164], ebx
je 0x598b24
mov byte [ebp - 0x59], 0
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0xbc]
cmp ecx, ebx
je 0x598a99
cmp byte [eax + 0x34e], 0
je 0x598a99
push 9
push str.text_html
push ecx
call fcn.006255fd
add esp, 0xc
test eax, eax
je 0x598a6e
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xbc]
push str.javascript
push eax
call fcn.00622230
add esp, 8
test eax, eax
je 0x598a99
mov byte [ebp - 0x59], 1
mov eax, dword [esi + 0x164]
cmp eax, ebx
je 0x598b24
push ebx
mov edx, dword [esi + 0x168]
push edx
push 0x1407
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x598b24
cmp dword [esi + 0x160], ebx
je 0x598ac5
mov eax, dword [esi + 0x164]
cmp eax, ebx
je 0x598ac5
push ebx
mov ecx, dword [esi + 0x168]
push ecx
push 0x1407
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x598b24
jmp 0x598af5
cmp byte [ebp - 0x21], 0
je 0x598ae9
mov eax, dword [esi + 0x164]
cmp eax, ebx
je 0x598ae9
push ebx
mov edx, dword [esi + 0x168]
push edx
push 0x1407
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x34d], 0
jne 0x598b24
cmp byte [ebp - 0x22], 0
je 0x598b1d
movzx esi, byte [ebp - 0x21]
neg esi
sbb esi, esi
and esi, 0x7573
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, esi
wait
jmp 0x599c99
mov byte [esi + 0x888], 1
cmp byte [ebp - 0x21], 0
je 0x598c37
mov eax, dword [esi + 0x16c]
cmp eax, ebx
je 0x598c20
cmp dword [esi + 0x1c4], ebx
jg 0x598bcb
jl 0x598b56
cmp dword [esi + 0x1c0], ebx
ja 0x598bcb
push ebx
push ebx
push 3
push ebx
push 1
push 0x80000000
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x598bcb
lea edx, [ebp - 0x30]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], ebx
cmp eax, 0xffffffff
jne 0x598bab
cmp ebx, ebx
jne 0x598bab
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
je 0x598bab
mov dword [esi + 0x1c0], ebx
mov dword [esi + 0x1c4], ebx
jmp 0x598bc4
push 1
push ebx
push ebx
mov eax, dword [ebp - 0x30]
push eax
call fcn.006254d0
add dword [esi + 0x1c0], eax
adc dword [esi + 0x1c4], edx
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [esi + 0x888], 0
je 0x598bec
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [esi + 0x16c]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [esi + 0xc]
call fcn.005d31c0
jmp 0x598c20
push ebx
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [esi + 0x16c]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x598c20
mov edx, dword [esi + 0x1c0]
mov dword [esi + 0x1c8], edx
mov eax, dword [esi + 0x1c4]
mov dword [esi + 0x1cc], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, 0x7573
wait
jmp 0x599c99
mov ecx, dword [esi + 0x274]
mov edx, 1
mov dword [ecx + 0x9c], edx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x80], ebx
mov dword [eax + 0x84], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x60], ebx
mov dword [eax + 0x64], ebx
mov dword [esi + 0x1c8], ebx
mov dword [esi + 0x1cc], ebx
fldz
fstp qword [esi + 0x190]
mov dword [esi + 0x1b8], edx
cmp dword [esi + 0xf4], ebx
jne 0x598e0a
mov dword [esi + 0x278], ebx
mov dword [esi + 0x47c], ebx
mov dword [esi + 0x680], ebx
xor eax, eax
mov dword [ebp - 0xac], eax
cmp eax, dword [esi + 0x278]
jae 0x598cc7
mov ecx, dword [esi + 0x274]
mov edi, dword [esi + eax*4 + 0x27c]
cmp edi, dword [ecx + 0x3200]
je 0x598cc7
add eax, edx
jmp 0x598ca0
mov ecx, dword [esi + 0x278]
cmp eax, ecx
jne 0x598cf2
cmp ecx, 0x80
jae 0x598cf2
mov ecx, dword [esi + 0x274]
mov ecx, dword [ecx + 0x3200]
mov dword [esi + eax*4 + 0x27c], ecx
add dword [esi + 0x278], edx
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov edx, eax
or edx, ecx
jne 0x598dc2
lea ecx, [ebp - 0x38]
call fcn.004024f0
mov byte [ebp - 4], 0x15
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [0x75eaa4]
push ecx
lea edx, [ebp - 0x38]
push edx
call fcn.00402f60
add esp, 0xc
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [esi + 0x20]
call fcn.0056b3d0
lea ecx, [esi + 0x28]
mov dword [ebp - 0x20], ecx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x30]
push eax
mov edx, dword [esi + 0x274]
push edx
call fcn.0055b060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x598db6
mov ecx, esi
call fcn.00594330
mov edi, eax
mov dword [ebp - 0x18], edi
cmp dword [esi + 0x1c], ebx
jne 0x598da9
cmp edi, ebx
jne 0x598da9
mov esi, dword [esi + 0xc]
cmp dword [esi + 0x34], ebx
je 0x598d7e
mov eax, dword [esi + 0x34]
jmp 0x598d81
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0xac]
push eax
mov ecx, dword [esi + 0x374]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.0055c620
mov edi, eax
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
jmp 0x597780
cmp edi, 0x756a
jne 0x598db6
xor edi, edi
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
jmp 0x597780
sub eax, 1
sbb ecx, ebx
mov edx, dword [esi + 0x274]
mov dword [edx + 0x78], eax
mov dword [edx + 0x7c], ecx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [esi + 0x274]
push ecx
lea ecx, [esi + 0x28]
call fcn.0055b060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
je 0x59977e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, edi
wait
jmp 0x599c99
lea ecx, [esi + 0x28]
mov dword [ebp - 0x20], ecx
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x30]
push eax
mov edx, dword [esi + 0x274]
push edx
call fcn.0055b060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x597785
mov ecx, dword [esi + 0x274]
mov eax, dword [esi + 0xd0]
mov edx, dword [esi + 0xd4]
mov edi, dword [ecx + 0x60]
cmp edi, eax
jne 0x598ebb
mov edi, dword [ecx + 0x64]
cmp edi, edx
jne 0x598ebb
mov edi, eax
or edi, edx
je 0x598ebb
cmp eax, dword [esi + 0xc8]
jne 0x598ebb
cmp edx, dword [esi + 0xcc]
jne 0x598ebb
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], edx
push str.The_file_already_downloaded__con.0:_startPos__fileSize_._n
mov ecx, esi
call fcn.005b42c0
mov esi, dword [esi + 0xc]
cmp dword [esi + 0x34], ebx
je 0x598e8b
mov eax, dword [esi + 0x34]
jmp 0x598e8e
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0xac]
push eax
mov ecx, dword [esi + 0x374]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.0055c620
mov esi, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, esi
wait
jmp 0x599c99
push ebx
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x598fa1
cmp dword [esi + 0x148], ebx
je 0x598ee6
mov edx, dword [esi + 0xc]
cmp byte [edx + 0x357], 0
jne 0x598fa1
push 1
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x5c]
push ecx
mov edx, dword [eax + 0x58]
push edx
mov ecx, esi
call fcn.00591920
test eax, eax
je 0x598f24
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov edi, 0x757a
mov dword [ebp - 0x18], edi
jmp 0x598fc5
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x325c]
cmp ecx, 0xce
je 0x598fa1
mov ecx, dword [eax + 0x60]
or ecx, dword [eax + 0x64]
je 0x598fa1
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x310], ebx
je 0x598fa1
cmp byte [eax + 0x3214], 0
jne 0x598fa1
mov ecx, dword [eax + 0x58]
or ecx, dword [eax + 0x5c]
je 0x598fa1
push str.Restart_type_s015_n
mov ecx, esi
call fcn.005b42c0
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x598fa1
push ebx
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, 0x7565
je 0x598fc5
cmp edi, 0x7542
je 0x598fc5
cmp edi, 0x7566
je 0x598fc5
cmp edi, 0x757a
jne 0x599185
push ebx
push 1
push edi
mov ecx, esi
call fcn.00593a80
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
je 0x59941f
cmp dword [esi + 0x1c], ebx
jne 0x597a61
cmp dword [esi + 0xf0], 1
jne 0x59911c
mov eax, dword [esi + 0x274]
cmp dword [eax + 0x64], ebx
jl 0x59911c
jg 0x59900d
cmp dword [eax + 0x60], ebx
jbe 0x59911c
push str.Restart_type_s016_n
mov ecx, esi
call fcn.005b42c0
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x68], ecx
mov edx, dword [eax + 0x64]
mov dword [ebp - 0x64], edx
mov dword [eax + 0x60], ebx
mov dword [eax + 0x64], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x78], ebx
mov dword [eax + 0x7c], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x80], ebx
mov dword [eax + 0x84], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x88], ebx
mov dword [eax + 0x8c], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x70], ebx
mov dword [eax + 0x74], ebx
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx]
lea edx, [ecx + 0x3200]
push edx
mov eax, dword [eax + 0x18]
call eax
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x59910a
push ebx
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x59910a
cmp dword [esi + 0x148], ebx
je 0x5990cd
mov ecx, dword [esi + 0xc]
cmp byte [ecx + 0x357], 0
jne 0x5991ca
push 1
mov eax, dword [esi + 0x274]
mov edx, dword [eax + 0x5c]
push edx
mov eax, dword [eax + 0x58]
push eax
mov ecx, esi
call fcn.00591920
test eax, eax
je 0x5991ca
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov edi, 0x757a
mov dword [ebp - 0x18], edi
mov eax, dword [esi + 0x274]
mov ecx, dword [ebp - 0x68]
mov dword [eax + 0x60], ecx
mov edx, dword [ebp - 0x64]
mov dword [eax + 0x64], edx
cmp edi, ebx
je 0x59941f
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
cmp dword [esi + 0x1c], ebx
jne 0x597a61
mov ecx, esi
call fcn.005c92c0
test eax, eax
je 0x599185
cmp dword [esi + 0x1c], ebx
jne 0x597a61
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx]
lea edx, [ecx + 0x3200]
push edx
mov eax, dword [eax + 0x18]
call eax
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x59918d
push ebx
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
je 0x59941f
cmp edi, 0x7566
je 0x59922b
cmp dword [esi + 0x14c], 0x7578
jne 0x597785
cmp edi, 0x7542
jne 0x597785
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
lea eax, [edi + 0x36]
wait
jmp 0x599c99
push str.Download_from_beginning..._r_n
mov ecx, esi
call fcn.005b42c0
mov edx, dword [esi]
push 2
mov ecx, esi
mov eax, dword [edx + 0xc]
call eax
mov dword [esi + 0x1c8], ebx
mov dword [esi + 0x1cc], ebx
fldz
fstp qword [esi + 0x190]
mov edi, dword [ebp - 0x20]
mov ecx, edi
call fcn.0055a000
mov ecx, edi
call fcn.0055aed0
mov dword [esi + 0xf4], ebx
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [esi + 0x274]
push eax
mov ecx, edi
call fcn.0055b060
mov edi, eax
mov dword [ebp - 0x18], edi
jmp 0x59911c
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
push str.youtube.com
push eax
call fcn.00622230
add esp, 8
test eax, eax
jne 0x599408
mov edx, dword [esi + 0xc]
mov eax, dword [edx]
push str.googlevideo.com
push eax
call fcn.00622230
add esp, 8
test eax, eax
jne 0x599408
push str.Restart_type_s017_n
mov ecx, esi
call fcn.005b42c0
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x68], ecx
mov edx, dword [eax + 0x64]
mov dword [ebp - 0x64], edx
mov dword [eax + 0x60], ebx
mov dword [eax + 0x64], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x78], ebx
mov dword [eax + 0x7c], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x80], ebx
mov dword [eax + 0x84], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x88], ebx
mov dword [eax + 0x8c], ebx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x70], ebx
mov dword [eax + 0x74], ebx
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx]
lea edx, [ecx + 0x3200]
push edx
mov eax, dword [eax + 0x18]
call eax
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x599356
push ebx
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, ebx
jne 0x599356
cmp dword [esi + 0x148], ebx
je 0x59931d
mov ecx, dword [esi + 0xc]
cmp byte [ecx + 0x357], 0
jne 0x59937c
push 1
mov eax, dword [esi + 0x274]
mov edx, dword [eax + 0x5c]
push edx
mov eax, dword [eax + 0x58]
push eax
mov ecx, esi
call fcn.00591920
test eax, eax
je 0x59937c
mov ecx, dword [esi + 0x274]
call fcn.0057c100
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov edi, 0x757a
mov dword [ebp - 0x18], edi
mov esi, dword [esi + 0x274]
mov ecx, dword [ebp - 0x68]
mov dword [esi + 0x60], ecx
mov edx, dword [ebp - 0x64]
mov dword [esi + 0x64], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, edi
wait
jmp 0x599c99
cmp dword [esi + 0x148], ebx
jne 0x5993a9
push 0x50004
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [0x75f104]
push edx
push ebx
call fcn.00473680
add esp, 0x10
cmp eax, 6
jne 0x597a61
mov eax, dword [esi]
push 2
mov ecx, esi
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [esi + 0x274]
mov dword [eax + 0x60], ebx
mov dword [eax + 0x64], ebx
mov dword [esi + 0x1c8], ebx
mov dword [esi + 0x1cc], ebx
fldz
fstp qword [esi + 0x190]
mov edi, dword [ebp - 0x20]
mov ecx, edi
call fcn.0055a000
mov ecx, edi
call fcn.0055aed0
mov dword [esi + 0xf4], ebx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [esi + 0x274]
push edx
mov ecx, edi
call fcn.0055b060
mov dword [ebp - 0x18], eax
jmp 0x599631
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, 0x7566
wait
jmp 0x599c99
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
jne 0x599453
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xd4]
mov eax, ecx
or eax, edx
je 0x599453
mov eax, dword [esi + 0x274]
mov edi, dword [eax + 0x58]
or edi, dword [eax + 0x5c]
jne 0x599453
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], edx
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
jne 0x599482
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
cmp eax, ebx
jl 0x599482
jg 0x599477
cmp ecx, ebx
jbe 0x599482
push 1
push eax
push ecx
mov ecx, esi
call fcn.005b57e0
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx + 0x60]
mov ebx, dword [ecx + 0x64]
mov eax, dword [ecx + 0x58]
mov edi, dword [ecx + 0x5c]
cmp edx, eax
jne 0x5994e8
cmp ebx, edi
jne 0x5994e8
or eax, edi
je 0x5994e8
call fcn.0057dcf0
push str.The_file_already_downloaded__con.0:_startPos__fileSize_._n
mov ecx, esi
call fcn.005b42c0
mov esi, dword [esi + 0xc]
cmp dword [esi + 0x34], 0
je 0x5994d1
mov eax, dword [esi + 0x34]
push eax
lea ecx, [esi + 0xac]
push ecx
mov edx, dword [esi + 0x374]
push edx
jmp 0x598e9d
lea eax, [esi + 0x38]
push eax
lea ecx, [esi + 0xac]
push ecx
mov edx, dword [esi + 0x374]
push edx
jmp 0x598e9d
mov ecx, dword [ecx + 0x325c]
cmp ecx, 0xce
je 0x599602
or edx, ebx
je 0x5995fa
push str.The_server_does_not_support_transfer_restarts._n
mov ecx, esi
call fcn.005b42c0
mov eax, dword [esi + 0xc]
xor edi, edi
cmp dword [eax + 0x334], edi
je 0x599529
cmp byte [eax + 0x338], 0
je 0x599529
lea ecx, [edi + 1]
jmp 0x59952b
xor ecx, ecx
cmp dword [esi + 0x148], edi
jne 0x599559
cmp ecx, edi
jne 0x599559
push 0x50004
mov eax, dword [eax + 8]
push eax
mov ecx, dword [0x75f104]
push ecx
push edi
call fcn.00473680
add esp, 0x10
cmp eax, 6
jne 0x597a61
mov edx, dword [esi]
push 2
mov ecx, esi
mov eax, dword [edx + 0xc]
call eax
mov eax, dword [esi + 0x274]
mov dword [eax + 0x60], edi
mov dword [eax + 0x64], edi
mov dword [esi + 0x1c8], edi
mov dword [esi + 0x1cc], edi
fldz
fstp qword [esi + 0x190]
mov ebx, dword [ebp - 0x20]
mov ecx, ebx
call fcn.0055a000
mov ecx, ebx
call fcn.0055aed0
mov dword [esi + 0xf4], edi
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
jne 0x597785
push eax
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
jne 0x597785
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [esi + 0x274]
push edx
mov ecx, ebx
call fcn.0055b060
mov dword [ebp - 0x18], eax
jmp 0x599631
cmp ecx, 0xce
jne 0x59960d
mov eax, dword [esi]
push 1
mov ecx, esi
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [esi + 0x274]
mov dword [eax + 0xa4], 6
push 1
mov ecx, dword [0x75eae0]
push ecx
mov ecx, dword [esi + 0x274]
call fcn.00562ad0
xor edx, edx
mov dword [esi + 0x278], edx
mov dword [esi + 0x47c], edx
mov dword [esi + 0x680], edx
xor eax, eax
mov dword [ebp - 0x98], eax
cmp eax, dword [esi + 0x278]
jae 0x59966d
mov ecx, dword [esi + 0x274]
mov edi, dword [esi + eax*4 + 0x27c]
cmp edi, dword [ecx + 0x3200]
je 0x59966d
inc eax
jmp 0x599647
mov ecx, dword [esi + 0x278]
cmp eax, ecx
jne 0x599698
cmp ecx, 0x80
jae 0x599698
mov ecx, dword [esi + 0x274]
mov ecx, dword [ecx + 0x3200]
mov dword [esi + eax*4 + 0x27c], ecx
inc dword [esi + 0x278]
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
jne 0x5996c7
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
cmp eax, edx
jl 0x5996c7
jg 0x5996bc
cmp ecx, edx
jbe 0x5996c7
push 1
push eax
push ecx
mov ecx, esi
call fcn.005b57e0
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov edx, eax
or edx, ecx
jne 0x599765
lea ecx, [ebp - 0x38]
call fcn.004024f0
mov byte [ebp - 4], 0x16
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [0x75eaa4]
push ecx
lea edx, [ebp - 0x38]
push edx
call fcn.00402f60
add esp, 0xc
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [esi + 0x20]
call fcn.0056b3d0
mov ecx, esi
call fcn.00594330
mov edi, eax
mov dword [ebp - 0x18], edi
cmp dword [esi + 0x1c], 0
jne 0x598da9
test edi, edi
jne 0x598da9
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x34], edi
je 0x59973a
mov ecx, dword [eax + 0x34]
jmp 0x59973d
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0xac]
push ecx
mov edx, dword [eax + 0x374]
push edx
lea ecx, [esi + 0x28]
call fcn.0055c620
mov edi, eax
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
jmp 0x597780
mov edx, dword [esi + 0x274]
mov edi, dword [edx + 0x78]
or edi, dword [edx + 0x7c]
jne 0x59977e
sub eax, 1
sbb ecx, edi
mov dword [edx + 0x78], eax
mov dword [edx + 0x7c], ecx
mov ecx, dword [esi + 0x274]
mov edi, 2
cmp dword [ecx + 0x31fc], edi
je 0x599b49
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
je 0x599b49
mov ecx, esi
call fcn.005b42d0
mov dword [esi + 0x1b0], eax
mov ebx, 1
cmp eax, ebx
jne 0x5997eb
cmp dword [esi + 0x1ac], ebx
jle 0x5997eb
mov ecx, dword [esi + 0x1c0]
mov edx, dword [esi + 0x1c4]
mov eax, ecx
or eax, edx
je 0x5997e5
test edx, edx
jl 0x5997eb
jg 0x5997e5
cmp ecx, 0x2800
jbe 0x5997eb
mov dword [esi + 0x1b0], edi
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x34f], 0
je 0x599818
cmp byte [eax + 0x350], 0
jne 0x599818
cmp byte [eax + 0x35a], 0
je 0x599812
cmp byte [eax + 0x33f], 0
je 0x599818
mov dword [esi + 0x1b0], ebx
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x599824
call fcn.0056b080
push ebx
mov eax, dword [0x75ebc4]
push eax
mov ecx, esi
call fcn.005b5400
mov ecx, dword [esi + 0x1b0]
cmp ecx, edi
mov eax, edi
jg 0x599840
mov eax, ecx
mov dword [esi + 0x1b8], eax
mov edx, dword [esi + 0xf0]
cmp edx, eax
jle 0x599858
cmp edx, ecx
mov eax, edx
jl 0x599858
mov eax, ecx
mov dword [esi + 0x1b8], eax
mov ecx, esi
call fcn.005b4060
test al, al
je 0x599891
cmp dword [esi + 0x1b8], edi
jle 0x599891
mov dword [esi + 0x1b8], edi
mov ecx, esi
call fcn.005b4030
test edx, edx
jg 0x599891
jl 0x59988b
cmp eax, 0xc01
jae 0x599891
mov dword [esi + 0x1b8], ebx
cmp byte [esi + 0x888], 0
je 0x5998a0
mov dword [esi + 0x1b8], ebx
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x334], 0
je 0x5998bb
cmp byte [eax + 0x338], 0
je 0x5998bb
mov dword [esi + 0x1b8], ebx
mov byte [eax + 0x357], 0
mov ecx, dword [esi + 0xc]
mov byte [ecx + 0x18a], 0
cmp dword [esi + 0x1b8], edi
jne 0x599923
mov edx, dword [esi + 0xc]
mov eax, dword [edx]
push str..googlevideo.com
push eax
call fcn.00622230
add esp, 8
test eax, eax
je 0x599923
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x32c], 4
jne 0x599923
cmp dword [esi + 0x40], 0
jne 0x599923
mov eax, dword [esi + 0x1c0]
cmp dword [esi + 0x1c4], 0
jl 0x599923
jg 0x599915
cmp eax, 0x1000000
jbe 0x599923
cmp dword [esi + 0xf0], edi
jae 0x599923
mov dword [esi + 0x1b8], ebx
cmp dword [esi + 0x13c], edi
je 0x599a51
mov dword [ebp - 0xbc], ebx
cmp ebx, dword [esi + 0x1b8]
jge 0x599a51
mov edi, ebx
imul edi, edi, 0x3488
mov ecx, dword [esi + 0x274]
mov dword [edi + ecx + 0x9c], 1
mov eax, dword [esi + 0x274]
xor ecx, ecx
mov dword [edi + eax + 0x80], ecx
mov dword [edi + eax + 0x84], ecx
mov ecx, dword [esi + 0x1c0]
mov edx, dword [esi + 0x1c4]
mov eax, dword [esi + 0x274]
mov dword [edi + eax + 0x58], ecx
mov dword [edi + eax + 0x5c], edx
mov edx, dword [esi + 0x274]
lea ecx, [edi + edx]
mov eax, dword [ecx]
lea edx, [ecx + 0x3200]
push edx
mov eax, dword [eax + 0x18]
call eax
xor eax, eax
mov dword [ebp - 0xa0], eax
cmp eax, dword [esi + 0x47c]
jae 0x5999ca
mov ecx, dword [esi + 0x274]
mov edx, dword [esi + eax*4 + 0x480]
cmp edx, dword [edi + ecx + 0x3200]
je 0x5999ca
inc eax
jmp 0x5999a3
mov ecx, dword [esi + 0x47c]
cmp eax, ecx
jne 0x5999f6
cmp ecx, 0x80
jae 0x5999f6
mov ecx, dword [esi + 0x274]
mov edx, dword [edi + ecx + 0x3200]
mov dword [esi + eax*4 + 0x480], edx
inc dword [esi + 0x47c]
xor eax, eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [esi + 0x680]
jae 0x599a1f
mov ecx, dword [esi + 0x274]
mov edx, dword [esi + eax*4 + 0x684]
cmp edx, dword [edi + ecx + 0x3200]
je 0x599a1f
inc eax
jmp 0x5999f8
mov ecx, dword [esi + 0x680]
cmp eax, ecx
jne 0x599a4b
cmp ecx, 0x80
jae 0x599a4b
mov ecx, dword [esi + 0x274]
mov edx, dword [edi + ecx + 0x3200]
mov dword [esi + eax*4 + 0x684], edx
inc dword [esi + 0x680]
inc ebx
jmp 0x59992f
lea eax, [ebp - 0x80]
push eax
call fcn.006246b1
mov ecx, dword [ebp - 0x80]
push ecx
push str.time__ld_n
lea edx, [ebp - 0x14]
push edx
call fcn.00402f60
add esp, 0x10
mov eax, dword [ebp - 0x14]
push eax
mov ecx, esi
call fcn.005b42c0
lea ecx, [ebp - 0x80]
push ecx
call fcn.006246b1
mov edx, dword [ebp - 0x80]
push edx
push str.time__ld_n
lea eax, [ebp - 0x14]
push eax
call fcn.00402f60
add esp, 0x10
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, esi
call fcn.005b42c0
mov ecx, esi
call fcn.00594330
mov edi, eax
mov dword [ebp - 0x18], edi
cmp dword [esi + 0x1c], 0
jne 0x599aff
test edi, edi
jne 0x599aff
mov edx, dword [esi + 0xb0]
cmp dword [edx + 0x58], eax
je 0x599ad3
push 1
mov eax, dword [0x75eab4]
push eax
mov ecx, esi
call fcn.005b5400
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x34], 0
je 0x599ae1
mov ecx, dword [eax + 0x34]
jmp 0x599ae4
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0xac]
push ecx
mov edx, dword [eax + 0x374]
push edx
lea ecx, [esi + 0x28]
call fcn.0055c620
mov edi, eax
jmp 0x599b09
cmp edi, 0x756a
jne 0x599b0c
xor edi, edi
mov dword [ebp - 0x18], edi
lea eax, [ebp - 0x80]
push eax
call fcn.006246b1
mov ecx, dword [ebp - 0x80]
push ecx
push str.time__ld_n
lea edx, [ebp - 0x14]
push edx
call fcn.00402f60
add esp, 0x10
mov eax, dword [ebp - 0x14]
push eax
mov ecx, esi
call fcn.005b42c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, edi
wait
jmp 0x599c99
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
jne 0x599b70
mov dword [ebp - 0x38], eax
lea edx, [ebp - 0x38]
push edx
push 0x8004667e
mov eax, dword [ecx + 0x3200]
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov ecx, esi
call fcn.00594330
mov edi, eax
mov dword [ebp - 0x18], edi
cmp dword [esi + 0x1c], 0
jne 0x599bc6
test edi, edi
jne 0x599bc6
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x34], edi
je 0x599b93
mov ecx, dword [eax + 0x34]
jmp 0x599b96
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0xac]
push ecx
mov edx, dword [eax + 0x374]
push edx
lea ecx, [esi + 0x28]
call fcn.0055c620
mov edi, eax
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, edi
wait
jmp 0x599c99
cmp edi, 0x756a
jne 0x597785
xor edi, edi
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.00402560
mov eax, edi
wait
jmp 0x599c99
mov eax, dword [esi + 0xc]
test dword [eax + 0x15c], 0x8000000
jne 0x597785
inc ebx
mov dword [ebp - 0x84], ebx
cmp ebx, 5
jg 0x597785
push str.Restart_type_s019_n
mov ecx, esi
call fcn.005b42c0
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
mov ecx, dword [esi + 0x274]
mov edx, dword [ecx]
lea eax, [ecx + 0x3200]
push eax
mov edx, dword [edx + 0x18]
call edx
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
jne 0x597785
mov eax, dword [esi + 0xf4]
push eax
mov ecx, dword [esi + 0x274]
call fcn.0058d060
mov edi, eax
mov dword [ebp - 0x18], edi
cmp edi, 0x7540
jne 0x598200
mov ecx, dword [esi + 0x274]
call fcn.0057dcf0
jmp 0x597a61
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xdec]
xor ecx, ebp
call fcn.00620b8d
add ebp, 0xdf0
mov esp, ebp
pop ebp
ret