Function at 0x4be6f5
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x21c0
call fcn.0052d050
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push dword [ebp + 0x18]
lea edi, [ebp - 0x21bc]
push 7
call fcn.00429f30
mov eax, edi
push eax
call fcn.004b7ab8
lea eax, [ebx + 0x4c4]
push eax
push str.VOB_VOBMask
push dword [ebp + 0x18]
call fcn.00444b22
cmp byte [ebp - 0x1876], 0
mov dword [ebx + 0x429], 8
je 0x4be759
fld qword [0x5997c8]
mov dword [ebx + 0x431], 0x240
jmp 0x4be769
fld qword [0x5999a8]
mov dword [ebx + 0x431], 0x1e0
cmp byte [ebp - 0x186f], 0
fstp qword [ebx + 0x466]
mov dword [ebx + 0x42d], 0x2d0
lea eax, [ebp - 0x18]
je 0x4be795
mov dword [ebp - 0x18], 0x10
mov dword [ebp - 0x14], 9
jmp 0x4be7a3
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x14], 3
mov edx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push ecx
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], eax
push dword [ebx + 0x42d]
mov edi, dword [ebx + 0x431]
lea esi, [ebp - 0x34]
call fcn.00425821
mov ecx, eax
lea edi, [ebx + 0x429]
call fcn.004606ea
push str.VIDEO_TS.VOB
push dword [ebp + 0x14]
lea eax, [ebp - 0x654]
push eax
call fcn.00401dde
mov al, byte [ebp - 0x1876]
neg al
sbb eax, eax
and eax, 0xfffffffd
add eax, 0x12
and dword [ebp + 8], 0
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x4a7]
jmp 0x4be80b
inc dword [ebp + 8]
mov eax, dword [eax + 4]
test eax, eax
jne 0x4be805
mov esi, dword [ebp + 0x10]
push 1
mov byte [ebx + 0x6d9], al
mov eax, dword [esi]
push str.Encoding_menu...
mov ecx, esi
call dword [eax + 0x20]
fldz
mov eax, dword [esi]
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
call dword [eax + 0x24]
push 0xdbba0
call fcn.0045ab24
test eax, eax
mov dword [ebp - 0x20], eax
jne 0x4be853
mov eax, dword [ebp + 0xc]
mov dword [eax], 2
jmp 0x4bf127
mov eax, dword [ebx + 0x4a7]
and dword [ebp - 0xc], 0
and dword [ebp - 0x2c], 0
test eax, eax
mov dword [ebp - 8], eax
je 0x4bed7e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
test al, al
jne 0x4bed97
push dword [ebp - 0x2c]
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x44c]
push str._s._d
push eax
call fcn.00401000
add esp, 0x10
lea esi, [ebp - 0x128]
call fcn.00469a17
lea eax, [ebp - 0x44c]
push eax
lea esi, [ebp - 0x118]
call fcn.00424338
lea eax, [ebp - 0x21bc]
push eax
lea eax, [ebp - 0x11fc]
push eax
lea eax, [ebp - 0x128]
call fcn.004f738d
lea esi, [ebp - 0x1fc]
call fcn.004d3692
xor edi, edi
push edi
xor esi, esi
inc esi
push esi
push 0x2328
push 0xfa0
lea eax, [ebx + 0x429]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004d36e3
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xec], esi
call fcn.0046059a
push esi
push edi
push dword [ebx + 0x431]
mov dword [ebp - 0xbf], edi
push dword [ebx + 0x42d]
push eax
mov eax, dword [ebp - 8]
add eax, 0x938
call fcn.0045d116
push dword [ebx + 0x431]
lea eax, [ebp - 0xb4]
push dword [ebx + 0x42d]
xor cl, cl
push eax
xor eax, eax
call fcn.0046049a
lea eax, [ebp - 0xb4]
push eax
lea esi, [ebp - 0x244]
call fcn.0045e5b6
mov eax, esi
push eax
lea edi, [ebp - 0xfc]
call fcn.00461899
lea eax, [ebp - 0x17c]
call fcn.004d6d31
push dword [ebx + 0x431]
lea eax, [ebp - 0x74]
push dword [ebx + 0x42d]
xor cl, cl
push eax
push 8
pop eax
call fcn.0046049a
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.0045e62a
and dword [ebp - 0x13b], 0
mov eax, esi
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.0050eba0
fld qword [ebx + 0x466]
fld qword [0x5998f8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x4be9e0
push ecx
push ecx
fstp qword [esp]
call fcn.004013ce
jmp 0x4be9e4
fstp st(0)
xor al, al
test al, al
jne 0x4beda0
fild dword [ebp - 0x24]
fmul qword [0x5998c8]
fdiv qword [ebx + 0x466]
call fcn.00535ff0
mov ecx, dword [ebp - 8]
lea esi, [ecx + 0x429]
lea edi, [ebx + 0x429]
mov dword [ecx + 0x47f], eax
call fcn.004063d4
and dword [ebp - 0x28], 0
cmp dword [ebp - 0x24], 0
mov byte [ebp + 0x1b], 0
jle 0x4bec88
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax]
test al, al
jne 0x4bed34
fld qword [0x5998c8]
mov eax, dword [ebp - 0x10]
fdiv qword [ebx + 0x466]
mov dword [ebp - 0x13b], eax
call fcn.00535ff0
add dword [ebp - 0x10], eax
lea eax, [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004d2d29
test al, al
je 0x4bec79
lea eax, [ebp - 0xa4]
call fcn.00466b56
jmp 0x4bea97
push 1
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x11fc]
call fcn.004f7e5a
test al, al
je 0x4beaad
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004d2e93
test al, al
jne 0x4bea7f
cmp byte [ebp + 0x1b], 0
jne 0x4bec6a
test byte [ebp - 0x8c], 1
je 0x4bec6a
push 0x64
call fcn.0044b085
pop ecx
push 0
push str.SubtitleStartY
mov esi, eax
mov edi, str.VideoOutput
push edi
mov dword [ebp + 0x18], esi
call fcn.004248dd
push dword [ebx + 0x431]
mov dword [ebp - 0x1c], eax
push str.SubtitleEndY
push edi
call fcn.004248dd
push 0x64
push 0
push esi
mov edi, eax
call fcn.005251f0
mov eax, dword [ebp - 0x1c]
and dword [esi], 0
and dword [ebp - 0x58], 0
or dword [ebp - 0x54], 0xffffffff
mov dword [esi + 4], eax
mov ecx, dword [ebx + 0x42d]
sub edi, eax
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edi
add esp, 0xc
cmp byte [ebp - 0x1876], 0
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], eax
je 0x4beb4e
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 0x19
jmp 0x4beb5c
mov dword [ebp - 0x18], 0x3e9
mov dword [ebp - 0x14], 0x7530
mov ecx, dword [ebp - 0x1f8]
test ecx, ecx
jne 0x4beb6b
xor eax, eax
inc ecx
jmp 0x4beb71
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x6c]
push ecx
push eax
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x18]
inc eax
cdq
push edx
push eax
call fcn.00429ca9
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
xor ecx, ecx
push 4
pop edx
mov eax, 0x100
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0051fd80
pop ecx
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov edx, 0xff000000
mov dword [eax + ecx*4], edx
inc ecx
add edx, 0xf
cmp ecx, 0x10
jb 0x4bebaf
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 8]
or eax, 0xffffffff
add edi, 0x40
mov ecx, 0xf0
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x995]
mov eax, dword [ebp + 0x18]
add esi, 0x979
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], 0x40
call fcn.0045ebd7
mov esi, dword [ebp - 0x20]
mov ecx, eax
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 4]
imul edx, dword [eax + 0x34]
add ecx, edx
add ecx, dword [eax]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 0x18], ecx
lea eax, [ebp - 0x5c]
push eax
call fcn.004bd975
mov esi, eax
test esi, esi
jle 0x4bec54
lea eax, [ebp - 0x64]
call fcn.00466b56
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
push 3
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x11fc]
mov dword [ebp - 0x44], esi
call fcn.004f7e5a
cmp dword [ebp - 0x40], 0
je 0x4bec54
push dword [ebp - 0x40]
call fcn.00520947
pop ecx
push dword [ebp + 0x18]
call fcn.0052009d
pop ecx
push dword [ebp - 0x1c]
mov byte [ebp + 0x1b], 1
call fcn.00520947
pop ecx
cmp dword [ebp - 0x80], 0
je 0x4bec79
push dword [ebp - 0x80]
call fcn.00520947
pop ecx
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x24]
jl 0x4bea2c
lea eax, [ebp - 0xa4]
mov byte [ebp - 0x192], 1
call fcn.00466b56
jmp 0x4becb4
push 1
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x11fc]
call fcn.004f7e5a
test al, al
je 0x4becca
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004d2e93
test al, al
jne 0x4bec9c
cmp dword [ebp - 0x80], 0
je 0x4becd9
push dword [ebp - 0x80]
call fcn.00520947
pop ecx
inc dword [ebp - 0x2c]
lea eax, [ebp - 0x17c]
call fcn.0045e5d0
lea eax, [ebp - 0x244]
call fcn.0045e5d0
lea eax, [ebp - 0xfc]
call fcn.0045e5d0
lea esi, [ebp - 0x1fc]
call fcn.004d2cdf
lea eax, [ebp - 0x11fc]
push eax
call fcn.004f765b
lea ecx, [ebp - 0x128]
call fcn.00469a76
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
test eax, eax
mov dword [ebp - 8], eax
je 0x4bed7e
mov esi, dword [ebp + 0x10]
jmp 0x4be86c
lea eax, [ebp - 0x17c]
mov dword [ebp - 0xc], 1
call fcn.0045e5d0
lea eax, [ebp - 0x244]
call fcn.0045e5d0
lea eax, [ebp - 0xfc]
call fcn.0045e5d0
lea esi, [ebp - 0x1fc]
call fcn.004d2cdf
lea eax, [ebp - 0x11fc]
push eax
call fcn.004f765b
lea ecx, [ebp - 0x128]
call fcn.00469a76
push dword [ebp - 0x20]
call fcn.0045ab34
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x4bedf3
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
jmp 0x4bf127
mov dword [ebp - 0xc], 1
jmp 0x4bed7e
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x17c]
mov dword [edi], 2
call fcn.0045e5d0
lea eax, [ebp - 0x244]
call fcn.0045e5d0
lea eax, [ebp - 0xfc]
call fcn.0045e5d0
lea esi, [ebp - 0x1fc]
call fcn.004d2cdf
lea eax, [ebp - 0x11fc]
push eax
call fcn.004f765b
lea ecx, [ebp - 0x128]
call fcn.00469a76
mov eax, edi
jmp 0x4bf127
lea eax, [ebp - 0x654]
push eax
lea esi, [ebp - 0xc]
call fcn.00401f09
and dword [ebp - 0x10], 0
cmp dword [ebp + 8], 0
jbe 0x4bee83
push dword [ebp - 0x10]
lea eax, [ebp - 0x654]
push eax
push str._s._d
mov esi, 0x104
lea edi, [ebp - 0x85c]
call fcn.0044b138
add esp, 0xc
mov eax, edi
push eax
lea esi, [ebp + 0x18]
call fcn.00401e37
jmp 0x4bee4c
push eax
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00401eb7
push 0x104
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00401e16
test eax, eax
jne 0x4bee3b
cmp dword [ebp + 0x18], 0xffffffff
je 0x4bee78
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp + 0x18], 0xffffffff
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp + 8]
jb 0x4bee0c
cmp dword [ebp - 0xc], 0xffffffff
je 0x4bee92
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xc
call fcn.0044b085
xor esi, esi
cmp eax, esi
pop ecx
je 0x4beeaa
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
jmp 0x4beeac
xor eax, eax
lea edi, [ebx + 0x4b8]
push eax
call fcn.004e421a
push dword [ebp + 8]
mov eax, dword [edi]
call fcn.004f7360
mov eax, dword [edi]
mov ecx, dword [eax + 4]
imul ecx, ecx, 0x47
push ecx
push esi
push dword [eax]
call fcn.005251f0
mov eax, dword [ebx + 0x4a7]
add esp, 0xc
mov dword [ebp + 0x18], esi
cmp eax, esi
jmp 0x4bf04c
push dword [ebp + 0x18]
mov esi, 0x104
push str.VIDEO_TS.VOB._d
lea edi, [ebp - 0x85c]
call fcn.0044b138
pop ecx
pop ecx
mov eax, edi
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0x44c]
push eax
call fcn.00401dde
push 0xc
call fcn.0044b085
test eax, eax
pop ecx
je 0x4bef2a
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
jmp 0x4bef2c
xor eax, eax
mov esi, dword [ebp - 8]
add esi, 0x70d
push eax
mov edi, esi
call fcn.004e421a
mov eax, dword [esi]
push 1
call fcn.004f7360
mov eax, dword [esi]
push 0x47
push 0
push dword [eax]
call fcn.005251f0
mov edi, dword [esi]
add esp, 0xc
lea eax, [ebp - 0x44c]
push eax
call fcn.004dd364
push 0x3e8
push 3
push 3
push SysReAllocString
lea eax, [ebp - 0x44c]
push eax
call fcn.00449134
mov edi, dword [ebp - 8]
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
add edi, 0x418
call fcn.00401a72
mov dword [edi], eax
mov ecx, edx
shrd eax, ecx, 0xb
mov dword [edi + 4], edx
shr ecx, 0xb
mov ecx, dword [esi]
mov ecx, dword [ecx]
mov dword [ecx + 0x42], eax
mov eax, dword [ebp + 0x18]
mov cl, byte [ebp + 0x18]
imul eax, eax, 0x47
lea edi, [ebx + 0x4b8]
mov edx, dword [edi]
mov edx, dword [edx]
inc cl
cmp dword [ebp + 0x18], 0
mov byte [edx + eax + 0x40], cl
mov ecx, dword [edi]
mov ecx, dword [ecx]
mov byte [ecx + eax + 0x46], 1
jne 0x4befd4
xor ecx, ecx
jmp 0x4befe1
mov ecx, dword [edi]
mov ecx, dword [ecx]
lea edx, [ecx + eax]
mov ecx, dword [edx - 0x1f]
add ecx, dword [edx - 5]
mov edx, dword [edi]
mov edx, dword [edx]
mov dword [edx + eax + 0x28], ecx
mov ecx, dword [esi]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x42]
mov edx, dword [edi]
mov edx, dword [edx]
mov dword [edx + eax + 0x42], ecx
mov ecx, dword [esi]
mov edx, dword [ecx]
mov ecx, dword [edi]
mov ecx, dword [ecx]
mov dword [ebp - 0x20], edx
mov edx, dword [edx + 8]
mov dword [ecx + eax + 8], edx
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 0xc]
mov dword [ecx + eax + 0xc], edx
mov ecx, dword [esi]
mov ecx, dword [ecx]
mov edx, dword [edi]
mov esi, dword [ecx + 0x10]
mov edx, dword [edx]
mov dword [edx + eax + 0x10], esi
mov ecx, dword [ecx + 0x14]
mov dword [edx + eax + 0x14], ecx
mov eax, dword [ebp - 8]
call fcn.004e4923
inc dword [ebp + 0x18]
cmp dword [ebp - 0xc], 0xffffffff
je 0x4bf044
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
test eax, eax
mov dword [ebp - 8], eax
jne 0x4beee6
and dword [ebp + 0x18], 0
cmp dword [ebp + 8], 0
jbe 0x4bf095
push dword [ebp + 0x18]
lea eax, [ebp - 0x654]
push eax
push str._s._d
mov esi, 0x104
lea edi, [ebp - 0x85c]
call fcn.0044b138
add esp, 0xc
mov eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
inc dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebp + 8]
jb 0x4bf05f
push 0x3e8
push 3
push 3
push SysReAllocString
lea eax, [ebp - 0x654]
push eax
call fcn.00449134
mov dword [ebp + 0x18], eax
lea eax, [ebp + 0x18]
push eax
call fcn.00401a72
cmp dword [ebp + 0x18], 0xffffffff
mov dword [ebx + 0x418], eax
mov dword [ebx + 0x41c], edx
je 0x4bf0d6
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
call fcn.004e51ea
mov eax, dword [ebx + 0x4a7]
test eax, eax
je 0x4bf10a
xor edx, edx
mov ecx, dword [ebx + 0x4b8]
mov esi, dword [eax + 0x70d]
mov ecx, dword [ecx]
mov ecx, dword [edx + ecx + 0x28]
mov esi, dword [esi]
mov dword [esi + 0x28], ecx
mov eax, dword [eax + 4]
add edx, 0x47
test eax, eax
jne 0x4bf0e9
push dword [ebx + 0x4b8]
lea eax, [ebp + 0x10]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
invalid