Function at 0x40e0f0
Capabilities:
Enumerate pe sections
Read file on windows
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3ac
mov dword [esp], 0xb80
call sub.cygwin1.dll_malloc
mov dword [ebp - 0x330], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
test eax, eax
jle 0x40fe31
mov ecx, dword [ebp - 0x330]
lea ebx, [ebp - 0xd4]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x2fc], 1
sub dword [ebp - 0x2fc], edx
add ecx, 0xb80
mov dword [ebp - 0x304], 0
mov dword [ebp - 0x300], 0xffffffff
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x374], ebx
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x48], 0
mov eax, dword [esi + 0x14]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x2dc], eax
lea esi, [esi]
xor eax, eax
mov dword [edx + eax*4], eax
add eax, 1
cmp eax, 0x10
jne 0x40e192
mov dword [edx + 0x40], 0
mov dword [edx + 0x58], 0
add edx, 0x5c
cmp edx, dword [ebp - 0x358]
jne 0x40e190
mov eax, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x2dc]
add eax, 1
mov dword [edx + 0xc], eax
mov ebx, dword [edx]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x44], 1
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x34]
mov dword [esp + 4], str._nSTAT:_Processing__s..._n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov ecx, dword [ebp - 0x2dc]
mov dword [esp + 0xc], str.input_video_file
mov dword [esp + 8], 0
mov eax, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00415310
mov edi, dword [ebp - 0x374]
mov ecx, 0x18
xor eax, eax
mov esi, dword [ebp - 0x34]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x32c], esi
sub esp, 4
mov edi, dword [ebp - 0x2dc]
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0
add edi, 0x131c
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2d8], 0xffffffff
cmp dword [ebp - 0x300], 0x7fff0
je 0x40e48e
cmp dword [0x44ca20], 0x8000
je 0x40e4c2
mov eax, dword [0x44ca20]
mov edx, dword [ebp - 0x32c]
mov dword [esp + 8], 0x800
mov dword [esp + 4], 1
mov dword [ebp - 0x240], eax
add eax, 0x44ca30
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x308]
mov dword [esp + 0xc], edx
add eax, 0x800
mov dword [0x44ca20], eax
mov dword [esp], ecx
call sub.cygwin1.dll_fread
cmp eax, 0x800
mov ebx, eax
jne 0x40f040
mov esi, dword [ebp - 0x308]
cmp byte [esi + 0xe], 0
jne 0x40e320
cmp byte [esi + 0xf], 0
jne 0x40e320
cmp byte [esi + 0x10], 1
je 0x40e8aa
lea esi, [esi]
mov eax, dword [ebp - 0x240]
cmp byte [eax + 0x44ca30], 0
jne 0x40e37e
mov edx, dword [ebp - 0x308]
movzx esi, byte [edx + 1]
mov ecx, esi
test cl, cl
jne 0x40e349
cmp byte [edx + 2], 1
je 0x40e5c7
mov eax, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], edx
mov ecx, esi
test cl, cl
jne 0x40e37e
mov ebx, dword [ebp - 0x308]
cmp byte [ebx + 2], 1
je 0x40e68c
cmp dword [ebp - 0x300], 0xffffffff
je 0x40e507
mov edx, dword [ebp - 0x308]
cmp byte [edx + 0xe], 0
jne 0x40e3a7
cmp byte [edx + 0xf], 0
jne 0x40e3a7
cmp byte [edx + 0x10], 1
je 0x40e990
mov edi, dword [ebp - 0x2f4]
test edi, edi
je 0x40e4d0
mov edx, dword [ebp - 0x2dc]
mov esi, 0xe
mov ecx, 0xffffffff
mov ebx, dword [ebp - 0x304]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0x18]
lea eax, [eax + eax*8 - 9]
shl eax, 4
mov dword [edx + eax + 4], ebx
jmp 0x40e3e2
mov esi, eax
mov edi, dword [ebp - 0x308]
cmp byte [edi + esi], 0
jne 0x40e425
cmp byte [edi + esi + 1], 0
jne 0x40e425
cmp byte [edi + esi + 2], 1
jne 0x40e425
movzx edx, byte [edi + esi + 3]
lea eax, [edx + 0x43]
cmp al, 0x32
ja 0x40e577
lea eax, [edi + esi + 4]
mov dword [esp], eax
call fcn.00401440
mov ecx, esi
lea eax, [esi + eax + 6]
cmp eax, 0x7fc
jle 0x40e3e0
mov ecx, dword [ebp - 0x240]
cmp byte [ecx + 0x44ca30], 0
jne 0x40e470
mov ebx, dword [ebp - 0x308]
cmp byte [ebx + 1], 0
jne 0x40e470
cmp byte [ebx + 2], 1
je 0x40ee40
mov ebx, dword [ebp - 0x308]
cmp byte [ebx + 2], 1
je 0x40eaa5
mov edx, dword [ebp - 0x308]
cmp byte [edx + 2], 1
je 0x40e9e3
lea esi, [esi]
add dword [ebp - 0x300], 1
add dword [ebp - 0x304], 1
cmp dword [ebp - 0x300], 0x7fff0
jne 0x40e293
call fcn.0040be60
mov eax, dword [ebp - 0x2fc]
test eax, eax
jle 0x40fdc0
add dword [ebp - 0x2fc], 1
cmp dword [0x44ca20], 0x8000
mov dword [ebp - 0x300], 0xffffffff
jne 0x40e2a3
call fcn.0040bde0
jmp 0x40e2a3
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x31
mov dword [esp + 4], 1
mov dword [esp], str.WARN:_Skipping_sector__waiting_for_first_VOBU..._n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
sub dword [0x44ca20], 0x800
jmp 0x40e283
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x40e568
mov ecx, dword [ebp - 0x2fc]
test ecx, ecx
js 0x40e890
mov esi, dword [ebp - 0x2fc]
mov edi, dword [ebp + 8]
mov dword [esp + 4], str._s__d.VOB
mov dword [esp + 0xc], esi
lea esi, [ebp - 0x230]
mov dword [esp + 8], edi
mov dword [esp], esi
call sub.cygwin1.dll_sprintf
mov dword [esp + 8], 0x1b6
mov dword [esp + 4], 0x10201
mov dword [esp], esi
call sub.cygwin1.dll__open64
test eax, eax
mov dword [0x417184], eax
js 0x40fdf4
mov dword [ebp - 0x300], 0
jmp 0x40e38b
cmp dl, 0xb9
jne 0x40e425
cmp ecx, 0xd
jle 0x40e425
mov eax, dword [ebp - 0x308]
cmp byte [eax + ecx + 3], 0xbe
jne 0x40e425
lea ebx, [eax + ecx + 4]
mov dword [esp], ebx
call fcn.00401440
mov dword [esp], ebx
add eax, 4
mov dword [esp + 4], eax
call fcn.004013f0
mov edx, dword [ebp - 0x308]
mov dword [edx + esi], 0
jmp 0x40e425
cmp byte [edx + 3], 0xba
jne 0x40e349
mov eax, edx
add eax, 4
call fcn.0040b790
mov edi, eax
mov dword [ebp - 0x344], edx
or edx, edi
jne 0x40f0cc
cmp dword [ebp - 0x2e4], 0
jl 0x40f0cc
jle 0x40f0bf
mov ebx, dword [ebp - 0x2e8]
mov esi, dword [ebp - 0x2e4]
sub dword [ebp - 0x2f0], ebx
sbb dword [ebp - 0x2ec], esi
call sub.cygwin1.dll___getreent
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x2f0]
mov dword [esp + 4], str._nWARN:_SCR_reset._New_back_offset___ld_n
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov ecx, dword [ebp - 0x240]
movzx esi, byte [ecx + 0x44ca30]
mov eax, dword [ebp - 0x2f4]
test eax, eax
jne 0x40e66b
mov ebx, dword [ebp - 0x344]
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2ec], ebx
mov ebx, esi
test bl, bl
je 0x40fec1
mov ebx, dword [ebp - 0x344]
mov dword [ebp - 0x2e8], edi
mov dword [ebp - 0x2e4], ebx
jmp 0x40e37e
cmp byte [ebx + 3], 0xba
jne 0x40e37e
mov edi, ebx
add edi, 4
mov eax, edi
call fcn.0040b790
add eax, dword [ebp - 0x320]
adc edx, dword [ebp - 0x31c]
mov ecx, eax
shrd ecx, edx, 0x1b
mov ebx, edx
and ecx, 0x38
mov esi, ecx
mov ecx, eax
shrd ecx, ebx, 0x1c
and ecx, 3
or esi, ecx
mov ecx, dword [ebp - 0x308]
or esi, 0x44
mov ebx, esi
mov byte [ecx + 4], bl
mov ebx, eax
mov ecx, eax
shrd ebx, edx, 0xc
shrd ecx, edx, 0x14
and ebx, 0xfffffff8
mov byte [edi + 1], cl
mov esi, ebx
mov ecx, eax
mov ebx, edx
shrd ecx, ebx, 0xd
and ecx, 3
or esi, ecx
or esi, 4
mov ecx, esi
mov byte [edi + 2], cl
mov ecx, eax
shrd ecx, edx, 5
mov byte [edi + 3], cl
mov ebx, dword [ebp - 0x308]
lea edx, [eax*8]
movzx eax, byte [ebx + 8]
and eax, 7
or edx, eax
cmp byte [ebx + 0xe], 0
mov byte [ebx + 8], dl
jne 0x40e37e
cmp byte [ebx + 0xf], 0
jne 0x40e37e
cmp byte [ebx + 0x10], 1
jne 0x40e37e
movzx eax, byte [ebx + 0x11]
cmp al, 0xbd
je 0x40e750
add eax, 0x40
cmp al, 0x2f
ja 0x40e37e
mov esi, dword [ebp - 0x308]
cmp byte [esi + 0x15], 0
jns 0x40e37e
mov eax, esi
add eax, 0x17
movzx edx, byte [eax + 3]
movzx ecx, byte [eax + 4]
shl edx, 8
or edx, ecx
sar edx, 1
mov edi, edx
sar edi, 0x1f
mov dword [ebp - 0x384], edi
mov ebx, dword [ebp - 0x384]
mov dword [ebp - 0x388], edx
movzx edx, byte [esi + 0x17]
mov edi, dword [ebp - 0x388]
and edx, 0xe
sar edx, 1
mov ecx, edx
sar ecx, 0x1f
shld ecx, edx, 0x1e
or ebx, ecx
shl edx, 0x1e
mov dword [ebp - 0x348], ebx
or edi, edx
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x348]
sar edx, 1
shl edx, 0xf
mov esi, edx
mov ebx, edx
sar esi, 0x1f
mov edx, edi
or ecx, esi
or edx, ebx
add edx, dword [ebp - 0x320]
adc ecx, dword [ebp - 0x31c]
call fcn.0040b950
mov esi, dword [ebp - 0x308]
test byte [esi + 0x15], 0x40
je 0x40e37e
mov eax, esi
add eax, 0x1c
movzx edx, byte [eax + 3]
movzx ecx, byte [eax + 4]
shl edx, 8
or edx, ecx
sar edx, 1
mov edi, edx
sar edi, 0x1f
mov dword [ebp - 0x38c], edi
mov ebx, dword [ebp - 0x38c]
mov dword [ebp - 0x390], edx
movzx edx, byte [esi + 0x1c]
mov edi, dword [ebp - 0x390]
and edx, 0xe
sar edx, 1
mov ecx, edx
sar ecx, 0x1f
shld ecx, edx, 0x1e
or ebx, ecx
shl edx, 0x1e
mov dword [ebp - 0x34c], ebx
or edi, edx
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x34c]
sar edx, 1
shl edx, 0xf
mov esi, edx
mov ebx, edx
sar esi, 0x1f
mov edx, edi
or ecx, esi
or edx, ebx
add dword [ebp - 0x320], edx
adc dword [ebp - 0x31c], ecx
mov edx, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x31c]
call fcn.0040b950
jmp 0x40e37e
mov eax, dword [ebp + 8]
lea esi, [ebp - 0x230]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
jmp 0x40e543
cmp byte [esi + 0x11], 0xbe
jne 0x40e320
add esi, 0x14
mov edi, str.dvdauthor_data
mov ecx, 0xf
repe cmpsb byte [esi], byte es:[edi]
jne 0x40e320
mov edi, dword [ebp - 0x308]
mov dword [ebp - 0x14], 0x23
movzx ebx, byte [edi + 0x23]
cmp bl, 1
jne 0x40fea8
mov eax, dword [ebp - 0x308]
movzx ebx, byte [eax + 0x24]
cmp bl, 1
je 0x40e908
call sub.cygwin1.dll___getreent
movzx edx, bl
mov dword [esp + 8], edx
mov dword [esp + 4], str.ERR:_unknown_dvd_info_packet_type:__d_n
jmp 0x40e974
movzx edx, byte [eax + 0x25]
mov dword [ebp - 0x14], 0x2e
and edx, 0x1f
imul eax, edx, 0x5c
add eax, dword [ebp - 0x330]
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x328], eax
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x308]
movzx ebx, byte [edi + esi]
cmp bl, 0xff
je 0x40e4f8
cmp bl, 2
je 0x40f2ca
cmp bl, 3
je 0x40f136
cmp bl, 1
je 0x40f38e
lea esi, [esi]
call sub.cygwin1.dll___getreent
movzx edx, bl
mov dword [esp + 8], edx
mov dword [esp + 4], str.ERR:_dvd_info_packet_command_within_subtitle:__d_n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], 1
call sub.cygwin1.dll_exit
nop
lea esi, [esi]
cmp byte [edx + 0x11], 0xbb
jne 0x40e3a7
cmp byte [edx + 0x26], 0
nop
jne 0x40e9b6
cmp byte [edx + 0x27], 0
jne 0x40e9b6
cmp byte [edx + 0x28], 1
lea esi, [esi]
je 0x40fc05
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x76
mov dword [esp + 4], 1
mov dword [esp], str.WARN:_System_header_found__but_PCI_DSI_information_is_not_where_expected_n_t_make_sure_your_system_header_is_18_bytes___n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
jmp 0x40e3a7
cmp byte [edx + 3], 0xba
jne 0x40e470
cmp byte [edx + 0xe], 0
jne 0x40e470
cmp byte [edx + 0xf], 0
nop
lea esi, [esi]
jne 0x40e470
cmp byte [edx + 0x10], 1
jne 0x40e470
cmp byte [edx + 0x11], 0xbd
jne 0x40e470
mov eax, edx
movzx esi, byte [edx + 0x16]
add eax, 0x12
mov dword [esp], eax
call fcn.00401440
mov ecx, dword [ebp - 0x308]
movzx ebx, byte [ecx + esi + 0x17]
mov edi, eax
mov eax, ebx
and eax, 0xe0
cmp eax, 0x20
jne 0x40e470
imul edx, ebx, 0x4c
and ebx, 0x1f
add edx, dword [ebp - 0x2dc]
lea ecx, [esi + 0x18]
mov eax, dword [edx + 0x20]
lea eax, [eax + eax*2 - 3]
shl eax, 3
add eax, dword [edx + 0x1c]
lea edx, [edi + 0x14]
add eax, 8
mov dword [ebp - 0x314], eax
imul eax, ebx, 0x5c
mov ebx, dword [ebp - 0x330]
add ebx, eax
sub edx, ecx
mov dword [ebp - 0x260], edx
je 0x40e470
mov edi, dword [ebp - 0x308]
add edi, ecx
cmp dword [ebx + 0x40], 0x14
ja case.default.0x40ea9e
mov eax, dword [ebx + 0x40]
jmp dword [eax*4 + 0x41b7bc]
cmp byte [ebx + 3], 0xba
jne 0x40e45a
cmp byte [ebx + 0xe], 0
jne 0x40e45a
cmp byte [ebx + 0xf], 0
lea esi, [esi]
jne 0x40e45a
cmp byte [ebx + 0x10], 1
jne 0x40e45a
movzx edx, byte [ebx + 0x11]
mov eax, edx
and eax, 0xf8
cmp eax, 0xc0
je 0x40eaeb
cmp dl, 0xbd
jne 0x40e45a
mov esi, dword [ebp - 0x308]
mov eax, dword [ebp - 0x308]
movzx esi, byte [esi + 0x16]
add eax, 0x12
mov dword [esp], eax
mov dword [ebp - 0x334], esi
mov edi, esi
call fcn.00401440
mov edx, dword [ebp - 0x308]
add edi, 0x17
lea esi, [eax + 0x14]
mov eax, dword [ebp - 0x308]
movzx eax, byte [eax + 0x15]
and eax, 0x80
mov dword [ebp - 0x2ac], eax
movzx eax, byte [edx + 0x11]
cmp al, 0xbd
je 0x4102a8
and eax, 7
sub esi, edi
mov ecx, eax
or ecx, 8
mov dword [ebp - 0x2b0], ecx
mov ecx, dword [ebp - 0x308]
lea eax, [eax + eax*2]
mov dword [ebp - 0x2a8], esi
shl eax, 2
lea ebx, [ebp + eax - 0xd1]
add ecx, edi
movzx edx, word [ecx]
mov word [ebx + 4], dx
movzx edx, byte [ecx + 2]
mov byte [ebx + 6], dl
lea ebx, [ebp - 0x10]
add ebx, eax
mov dword [ebp - 0x360], ebx
sub ebx, 0xc4
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x364], ebx
jmp 0x40ec20
mov esi, dword [ebp - 0x35c]
test ebx, ebx
lea eax, [ebx + esi + 3]
lea ecx, [ebp + eax - 0xd0]
js 0x40ebe0
mov ecx, dword [ebp - 0x308]
lea eax, [edi + ebx]
add ecx, eax
movzx eax, byte [ecx]
movzx edx, byte [ecx + 3]
movzx esi, byte [ecx + 2]
shl eax, 0x18
or edx, eax
movzx eax, byte [ecx + 1]
mov ecx, esi
shl eax, 0x10
or edx, eax
movzx eax, cl
shl eax, 8
or edx, eax
mov eax, edx
and eax, 0xfffe0c00
cmp eax, 0xfffc0400
je 0x410225
lea eax, [ebx + 1]
mov ebx, dword [ebp - 0x364]
mov dword [ebx], eax
mov esi, dword [ebp - 0x364]
mov ebx, dword [esi]
lea eax, [ebx + 3]
cmp dword [ebp - 0x2a8], eax
jg 0x40ebc0
mov eax, dword [ebp - 0x360]
lea ecx, [ebp - 0xd4]
mov edx, dword [ebp - 0x2a8]
sub ebx, dword [ebp - 0x2a8]
add ecx, dword [ebp - 0x35c]
mov dword [eax - 0xc4], ebx
lea eax, [edx + edi - 3]
add eax, dword [ebp - 0x308]
movzx edx, word [eax]
mov word [ecx + 4], dx
movzx eax, byte [eax + 2]
mov byte [ecx + 6], al
mov ecx, dword [ebp - 0x2dc]
imul edx, dword [ebp - 0x2b0], 0x4c
mov dword [esp + 0xc], str.48khz
mov dword [esp + 8], 6
lea eax, [ecx + edx + 0x48]
mov dword [esp + 4], eax
lea eax, [ecx + edx + 0x28]
mov dword [esp], eax
call fcn.004044b0
mov ebx, dword [ebp - 0x2b0]
mov dword [ebp - 0x25c], ebx
mov eax, dword [ebp - 0x2ac]
test eax, eax
je 0x4101c4
mov esi, dword [ebp - 0x308]
mov edi, dword [ebp - 0x308]
add esi, 0x17
movzx eax, byte [esi + 3]
movzx edx, byte [esi + 4]
shl eax, 8
or eax, edx
sar eax, 1
mov ecx, eax
mov ebx, eax
movzx eax, byte [edi + 0x17]
sar ebx, 0x1f
mov edi, ecx
mov ecx, ebx
and eax, 0xe
sar eax, 1
mov edx, eax
sar edx, 0x1f
shld edx, eax, 0x1e
shl eax, 0x1e
or ecx, edx
movzx edx, byte [esi + 2]
or edi, eax
movzx eax, byte [esi + 1]
shl eax, 8
or eax, edx
sar eax, 1
shl eax, 0xf
mov edx, eax
or edi, eax
sar edx, 0x1f
or ecx, edx
mov dword [ebp - 0x2c8], edi
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2c4], ecx
mov edx, dword [ebp - 0x2c4]
add dword [ebp - 0x2c0], eax
adc dword [ebp - 0x2bc], edx
cmp dword [ebp - 0x25c], 0x3f
ja 0x41019d
mov eax, dword [ebp - 0x2ac]
test eax, eax
je 0x40ee13
imul eax, dword [ebp - 0x25c], 0x4c
mov edx, dword [ebp - 0x2dc]
add edx, eax
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x24]
cmp ecx, eax
jl 0x40eda7
test eax, eax
je 0x410289
add eax, eax
mov dword [edx + 0x24], eax
imul ebx, dword [ebp - 0x25c], 0x4c
add ebx, dword [ebp - 0x2dc]
mov eax, dword [ebx + 0x24]
lea eax, [eax + eax*2]
shl eax, 3
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call sub.cygwin1.dll_realloc
mov ecx, dword [ebx + 0x20]
mov dword [ebx + 0x1c], eax
test ecx, ecx
jne 0x40ff25
imul eax, dword [ebp - 0x25c], 0x4c
xor edx, edx
mov esi, dword [ebp - 0x2dc]
mov ecx, dword [esi + eax + 0x1c]
lea eax, [edx + edx*2]
mov esi, dword [ebp - 0x2c8]
mov edi, dword [ebp - 0x2c4]
imul edx, dword [ebp - 0x25c], 0x4c
add edx, dword [ebp - 0x2dc]
mov dword [ecx + eax*8], esi
mov esi, dword [ebp - 0x2bc]
mov dword [ecx + eax*8 + 4], edi
mov ebx, dword [ebp - 0x2c0]
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x1c]
lea eax, [eax + eax*2]
shl eax, 3
mov dword [eax + ecx + 0xc], esi
mov esi, dword [ebp - 0x304]
mov dword [eax + ecx + 8], ebx
mov dword [eax + ecx + 0x10], esi
add dword [edx + 0x20], 1
mov edi, dword [ebp - 0x240]
cmp byte [edi + 0x44ca30], 0
jne 0x40e470
mov eax, dword [ebp - 0x308]
cmp byte [eax + 1], 0
je 0x40e45a
jmp 0x40e470
cmp byte [ebx + 3], 0xba
jne 0x40e44a
cmp byte [ebx + 0xe], 0
nop
jne 0x40e44a
cmp byte [ebx + 0xf], 0
jne 0x40e44a
cmp byte [ebx + 0x10], 1
jne 0x40e44a
cmp byte [ebx + 0x11], 0xe0
nop
jne 0x40e44a
mov esi, dword [ebp - 0x2dc]
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x18]
mov esi, dword [ebp - 0x308]
lea eax, [eax + eax*8 - 9]
shl eax, 4
add eax, edi
mov dword [ebp - 0x2cc], eax
mov dword [eax + 0x20], 1
movzx eax, byte [ebx + 0x16]
mov byte [ebp - 0x265], al
movzx ebx, al
movzx eax, byte [esi + 0x12]
movzx edx, byte [esi + 0x13]
lea ecx, [ebx + 0x17]
shl eax, 8
lea eax, [edx + eax + 0x14]
mov esi, eax
sub esi, ecx
cmp esi, 7
mov dword [ebp - 0x270], eax
jle 0x410396
mov eax, dword [ebp - 0x270]
add ebx, 0x18
mov edx, dword [ebp - 0x308]
lea esi, [ebp - 0x48]
add ecx, dword [ebp - 0x308]
lea edi, [ebp - 0x168]
sub eax, 7
add edx, ebx
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x394], esi
mov dword [ebp - 0x378], edi
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x354], ebx
mov dword [ebp - 0x36c], edx
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x378]
mov esi, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x274], ecx
mov ecx, 0x24
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x27c], ebx
mov ebx, 0x417188
mov edi, dword [ebp - 0x258]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x278], esi
mov eax, dword [edi]
mov dword [0x41718f], eax
mov eax, dword [edi + 4]
mov dword [0x417193], eax
mov eax, dword [ebp - 0x394]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2cc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], edx
mov edx, ebx
add ebx, 1
call fcn.0040da90
cmp ebx, 0x417190
jne 0x40ef7d
mov eax, dword [0x41718f]
mov ecx, dword [ebp - 0x258]
mov dword [ecx], eax
mov eax, dword [0x417193]
mov dword [ecx + 4], eax
mov ebx, dword [ebp - 0x354]
cmp dword [ebp - 0x350], ebx
jle 0x410337
movzx eax, byte [ebp - 0x265]
xor esi, esi
mov edi, dword [ebp - 0x270]
mov ebx, dword [ebp - 0x36c]
sub edi, eax
mov eax, edi
sub eax, 0x1f
mov dword [ebp - 0x368], eax
jmp 0x40f008
add esi, 1
add ebx, 1
cmp esi, dword [ebp - 0x368]
je 0x410337
cmp byte [ebx], 0
jne 0x40eff6
cmp byte [ebx + 1], 0
jne 0x40eff6
cmp byte [ebx + 2], 1
jne 0x40eff6
mov eax, dword [ebp - 0x394]
mov edx, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x2cc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], edx
mov edx, ebx
call fcn.0040da90
jmp 0x40eff6
cmp eax, 0xffffffff
je 0x40fe81
test eax, eax
nop
lea esi, [esi]
jle 0x40f06e
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str._nWARN:_Partial_sector_read___d_bytes___discarding_data._n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [ebp - 0x34]
sub dword [0x44ca20], 0x800
mov dword [esp], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], eax
call fcn.00415260
mov ebx, dword [ebp - 0x2dc]
mov eax, dword [ebx + 4]
test eax, eax
jne 0x40f431
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x2f8]
cmp dword [eax + 8], edx
jle 0x40fe3b
mov dword [ebp - 0x23c], edx
jmp 0x40e16b
cmp dword [ebp - 0x2e8], 0
ja 0x40e5fe
mov ebx, dword [ebp - 0x344]
cmp dword [ebp - 0x2e4], ebx
jl 0x40e64f
jg 0x40f0ec
cmp dword [ebp - 0x2e8], edi
jbe 0x40e64f
lea esi, [esi]
call sub.cygwin1.dll___getreent
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2e8]
mov dword [esp + 8], edi
mov dword [esp + 4], str.ERR:_SCR_moves_backwards__remultiplex_input:__ld____ld_n
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0x344]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], 1
call sub.cygwin1.dll_exit
mov ebx, dword [ebp - 0x308]
lea eax, [esi + 2]
movzx ebx, byte [ebx + esi + 1]
mov dword [ebp - 0x14], eax
test ebx, ebx
mov dword [ebp - 0x2d0], ebx
je 0x40e92b
xor edi, edi
jmp 0x40f19f
imul eax, edx, 0x2c
lea esi, [ebx + eax + 8]
lea eax, [edx + 1]
mov dword [ebx + 0x8c], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x308]
mov ebx, dword [ebp - 0x2d4]
mov dword [esi], ebx
movzx edx, byte [eax + ecx + 2]
lea eax, [ecx + 3]
test edx, edx
mov dword [esi + 4], edx
mov dword [ebp - 0x14], eax
je 0x40f22e
add edi, 1
cmp dword [ebp - 0x2d0], edi
jle 0x40e92b
mov eax, dword [ebp - 0x308]
lea edx, [ebp - 0x14]
call fcn.0040da50
mov edx, dword [ebp - 0x2dc]
xor ecx, ecx
mov esi, eax
mov eax, dword [edx + 0x14]
mov edx, esi
call fcn.0040c3f0
test eax, eax
je 0x40ff0f
mov ecx, dword [ebp - 0x2dc]
mov edx, esi
mov eax, dword [ecx + 0x14]
xor ecx, ecx
mov ebx, dword [eax + 0x20]
call fcn.0040c3f0
mov dword [esp], esi
lea eax, [eax + eax*8 - 9]
shl eax, 4
add ebx, eax
call sub.cygwin1.dll_free
mov edx, dword [ebx + 0x8c]
cmp edx, 2
jle 0x40f159
call sub.cygwin1.dll___getreent
lea esi, [ebp - 0x74]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x30
mov dword [esp + 4], 1
mov dword [esp], str.WARN:_Too_many_button_streams__ignoring_buttons_n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
jmp 0x40f169
mov edx, dword [ebp - 0x308]
movzx eax, byte [edx + ecx + 3]
mov dword [esi + 0x28], eax
lea eax, [edx + ecx + 4]
mov dword [esp], eax
call fcn.00401440
mov ecx, dword [ebp - 0x308]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x14]
lea eax, [ecx + eax + 3]
mov dword [esp], eax
call fcn.00401440
mov ebx, dword [ebp - 0x308]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x14]
lea eax, [ebx + eax + 5]
mov dword [esp], eax
call fcn.00401440
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x14]
lea eax, [ebx + eax + 7]
mov dword [esp], eax
call fcn.00401440
lea edx, [ebp - 0x14]
mov dword [esi + 0x14], eax
mov eax, ebx
add dword [ebp - 0x14], 9
call fcn.0040da50
lea edx, [ebp - 0x14]
mov dword [esi + 0x18], eax
mov eax, ebx
call fcn.0040da50
lea edx, [ebp - 0x14]
mov dword [esi + 0x1c], eax
mov eax, ebx
call fcn.0040da50
lea edx, [ebp - 0x14]
mov dword [esi + 0x20], eax
mov eax, ebx
call fcn.0040da50
mov dword [esi + 0x24], eax
jmp 0x40f190
mov edi, dword [ebp - 0x308]
movzx eax, byte [edi + esi + 1]
lea edx, [edi + esi + 2]
mov dword [esp + 4], edx
shl eax, 3
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x324]
mov dword [esp], eax
call sub.cygwin1.dll_memcpy
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp byte [edi + eax + 1], 0
je 0x40f382
mov edi, dword [ebp - 0x324]
xor esi, esi
mov ebx, 1
add edi, 4
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x328]
lea edx, [ecx + esi*8 + 0x131c]
add esi, 1
call fcn.0040bc80
mov eax, dword [ebp - 0x2dc]
lea edx, [eax + ebx + 0x131c]
mov eax, dword [ebp - 0x328]
call fcn.0040bc80
mov eax, dword [ebp - 0x328]
mov edx, edi
add edi, 8
call fcn.0040bc80
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x328]
lea edx, [ecx + ebx + 0x1320]
add ebx, 8
call fcn.0040bc80
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x308]
movzx edx, byte [ecx + eax + 1]
cmp edx, esi
jg 0x40f312
lea eax, [eax + edx*8 + 2]
mov dword [ebp - 0x14], eax
jmp 0x40e92b
mov ecx, dword [ebp - 0x2dc]
xor edi, edi
mov edx, esi
mov ebx, dword [ebp - 0x328]
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x2c]
mov dword [ebx + 0x58], eax
mov eax, dword [ebp - 0x308]
xor ebx, ebx
cmp byte [eax + esi + 1], 0
je 0x40f401
mov ecx, dword [ebp - 0x308]
add ecx, edx
add ecx, edi
add edi, 3
movzx edx, byte [ecx + 4]
movzx eax, byte [ecx + 2]
or edx, 0x1000000
shl eax, 0x10
or edx, eax
movzx eax, byte [ecx + 3]
mov ecx, dword [ebp - 0x328]
shl eax, 8
or edx, eax
mov dword [ecx + ebx*4], edx
mov ecx, dword [ebp - 0x308]
add ebx, 1
mov edx, esi
movzx eax, byte [ecx + esi + 1]
cmp eax, ebx
jg 0x40f3b6
cmp ebx, 0xf
jg 0x40f417
mov edx, dword [ebp - 0x328]
lea eax, [edx + ebx*4]
mov dword [eax], ebx
add ebx, 1
add eax, 4
cmp ebx, 0xf
jle 0x40f40a
mov ebx, dword [ebp - 0x308]
movzx eax, byte [ebx + esi + 1]
lea eax, [eax + eax*2]
lea eax, [eax + esi + 2]
mov dword [ebp - 0x14], eax
jmp 0x40e92b
mov ecx, dword [ebp - 0x2d8]
lea ebx, [ebp - 0x48]
xor esi, esi
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp + 0xc]
mov dword [esp], ebx
call fcn.0040e040
mov dword [ebp - 0x2a0], 0xffffffff
mov dword [ebp - 0x29c], 0xffffffff
mov edi, dword [ebp - 0x2dc]
mov eax, dword [edi + esi + 0x20]
test eax, eax
je 0x40f4a4
mov edx, dword [edi + esi + 0x1c]
lea eax, [eax + eax*2 - 3]
shl eax, 3
mov ecx, dword [eax + edx + 8]
mov edx, dword [eax + edx + 0xc]
cmp dword [ebp - 0x29c], edx
jg 0x40f4a4
jl 0x40f494
cmp dword [ebp - 0x2a0], ecx
jae 0x40f4a4
mov eax, ecx
mov ebx, edx
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], ebx
add esi, 0x4c
cmp esi, 0x980
jne 0x40f461
mov eax, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x340], edx
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], 0
mov esi, dword [ecx + 4]
test esi, esi
jle 0x40fa60
mov dword [ebp - 0x244], 0
mov edi, 1
mov ebx, dword [ebp - 0x2dc]
mov eax, edi
mov esi, dword [ebp - 0x244]
add esi, dword [ebx + 0x18]
mov ebx, dword [esi + 0x20]
test ebx, ebx
je 0x40f780
mov eax, dword [ebp - 0x28]
and eax, dword [ebp - 0x24]
add eax, 1
je 0x40f95d
mov eax, dword [esi + 0x54]
xor ebx, ebx
cmp dword [ebp - 0x2a4], 2
lea ecx, [ebp - 0x14]
sete bl
neg eax
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], edx
mov edx, ebx
call fcn.0040d8c0
lea ecx, [ebp - 0x14]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x58]
sub eax, dword [esi + 0x54]
mov dword [esi + 0x2c], edx
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], edx
lea edx, [ebp - 0x28]
mov dword [esp], edx
mov edx, ebx
call fcn.0040d8c0
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x34], edx
test eax, eax
je 0x40f7a1
cmp dword [ebp - 0x2a4], 1
jg 0x40f7a1
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x40ff01
add dword [ebp - 0x2a4], 1
cmp dword [ebp - 0x2a4], 3
jne 0x40f4d1
mov esi, dword [ebp - 0x2dc]
mov edi, dword [esi + 4]
test edi, edi
jle 0x40fa60
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 1
jmp 0x40f619
add dword [ebp - 0x248], 1
cmp edi, dword [ebp - 0x254]
mov dword [ebp - 0x24c], ecx
jle 0x40fa60
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x248]
mov ebx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x24c]
add edx, dword [eax + 0x18]
mov dword [ebp - 0x254], ecx
lea ecx, [ebx + 0x90]
mov ebx, dword [edx + 0x20]
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x238], 0xffffffff
mov dword [ebp - 0x234], 0xffffffff
test ebx, ebx
mov dword [ebp - 0x250], 0
jne 0x40f600
nop
lea esi, [esi]
mov eax, dword [ebp - 0x2dc]
mov esi, dword [ebp - 0x250]
mov edi, dword [eax + esi + 0x20]
test edi, edi
jle 0x40f6b3
mov ecx, dword [ebp - 0x294]
mov edx, dword [eax + esi + 0x1c]
mov esi, dword [ecx]
cmp esi, dword [edx + 0x10]
jle 0x40f700
lea ecx, [edx + 0x18]
xor ebx, ebx
jmp 0x40f6ac
mov eax, dword [ecx + 0x10]
mov edx, ecx
add ecx, 0x18
cmp eax, esi
jge 0x40f700
add ebx, 1
cmp ebx, edi
jl 0x40f6a0
mov ecx, dword [ebp - 0x238]
mov ebx, dword [ebp - 0x234]
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x28c], ebx
add dword [ebp - 0x250], 0x4c
cmp dword [ebp - 0x250], 0x980
je 0x40f7ca
mov ebx, dword [ebp - 0x290]
mov esi, dword [ebp - 0x28c]
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x234], esi
jmp 0x40f670
mov eax, dword [ebp - 0x238]
and eax, dword [ebp - 0x234]
add eax, 1
je 0x40f740
mov edi, dword [edx + 4]
mov eax, dword [ebp - 0x234]
mov esi, dword [edx]
mov dword [ebp - 0x28c], edi
cmp edi, eax
mov dword [ebp - 0x290], esi
jl 0x40f6cb
jg 0x40f6b3
mov edx, dword [ebp - 0x238]
cmp esi, edx
jb 0x40f6cb
jmp 0x40f6b3
mov ebx, dword [edx]
mov esi, dword [edx + 4]
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x28c], esi
jmp 0x40f6cb
mov edx, dword [esi + 0x34]
cmp edx, dword [ebp - 0x340]
mov ecx, dword [esi + 0x30]
jg 0x40f7c0
jl 0x40f76e
cmp ecx, dword [ebp - 0x33c]
jae 0x40f7c0
mov ebx, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x340]
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], edx
mov ecx, dword [ebp - 0x2dc]
add edi, 1
add dword [ebp - 0x244], 0x90
cmp dword [ecx + 4], eax
jg 0x40f506
jmp 0x40f5b6
mov eax, dword [esi + 0x28]
mov ecx, dword [ebp - 0x2dc]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x38], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x3c], edx
cmp eax, edi
je 0x40f756
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov dword [esi + 0x40], ecx
mov eax, edi
mov dword [esi + 0x44], edx
jmp 0x40f780
mov eax, dword [ebp - 0x290]
mov edx, dword [ebp - 0x28c]
and eax, edx
add eax, 1
je 0x40f9ad
cmp dword [ebp - 0x248], 1
je 0x40fa0d
mov esi, dword [ebp + 0xc]
mov dword [esp], esi
call fcn.00401150
mov ecx, dword [ebp - 0x2dc]
mov edi, dword [ebp - 0x24c]
sub edi, 0x90
add edi, dword [ecx + 0x18]
mov ebx, dword [edi + 0x38]
mov esi, dword [edi + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [ebp - 0x310], ebx
mov ebx, 0xffffffff
mov dword [ebp - 0x30c], esi
mov esi, 0xffffffff
sub ebx, dword [ebp - 0x310]
sbb esi, dword [ebp - 0x30c]
add ebx, dword [ebp - 0x290]
adc esi, dword [ebp - 0x28c]
add ebx, eax
adc esi, edx
mov dword [esp], ebx
mov dword [esp + 4], esi
call sub.cyggcc_s_1.dll___moddi3
add ebx, dword [ebp - 0x310]
adc esi, dword [ebp - 0x30c]
sub ebx, eax
sbb esi, edx
cmp esi, dword [edi + 0x44]
jg 0x40f89a
jge 0x40f895
mov dword [esp + 0xc], str.p_thisvob__vi_i_1_.sectpts_1_
mov dword [esp + 8], str.FindVobus
mov dword [esp + 4], 0x5e1
mov dword [esp], str.dvdvob.c
call sub.cygwin1.dll___assert_func
cmp ebx, dword [edi + 0x40]
jb 0x40f871
mov dword [edi + 0x40], ebx
mov edx, dword [ebp - 0x2dc]
mov dword [edi + 0x44], esi
mov edi, dword [ebp - 0x294]
mov eax, dword [ebp - 0x248]
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], esi
mov edi, dword [edx + 4]
mov dword [ebp - 0x254], eax
cmp edi, eax
je 0x40f98d
mov ebx, dword [ebp - 0x2dc]
mov ecx, dword [ebp - 0x24c]
mov eax, dword [ebx + 0x18]
add ecx, 0x90
add eax, ecx
mov edx, dword [eax + 0x20]
test edx, edx
je 0x40f600
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov esi, dword [ebp - 0x294]
cmp edx, dword [esi + 0x3c]
jg 0x40f937
jge 0x40f932
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x49
mov dword [esp + 4], 1
mov dword [esp], str.ERR:__Audio_and_video_are_too_poorly_synchronised__you_must_remultiplex._n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov dword [esp], 1
call sub.cygwin1.dll_exit
cmp eax, dword [esi + 0x38]
jbe 0x40f8fe
mov edi, dword [ebp - 0x294]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x2dc]
mov dword [edi + 0x44], edx
mov edx, dword [ebp - 0x24c]
mov edi, dword [eax + 4]
lea ecx, [edx + 0x90]
jmp 0x40f600
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
shld edx, eax, 1
add eax, eax
cmp dword [ebp - 0x2a4], 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
jne 0x40f531
add eax, 1
adc edx, 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
jmp 0x40f531
cmp dword [ebp - 0x340], esi
jge 0x40fa41
mov ecx, dword [ebp + 0xc]
mov dword [esp], ecx
call fcn.00401150
add eax, ebx
adc edx, esi
jmp 0x40f8f1
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x58
mov dword [esp + 4], 1
mov dword [esp], str.WARN:_Cannot_detect_pts_for_VOBU_if_there_is_no_audio_or_video_nWARN:_Using_SCR_instead._n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov eax, dword [ebp - 0x294]
add eax, 0x6c
call fcn.0040b790
mov dword [ebp - 0x290], eax
add dword [ebp - 0x290], 0x24c
mov dword [ebp - 0x28c], edx
adc dword [ebp - 0x28c], 0
cmp dword [ebp - 0x248], 1
jne 0x40f7ee
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x5e
mov dword [esp + 4], 1
mov dword [esp], str.ERR:__Cannot_infer_pts_for_VOBU_if_there_is_no_audio_or_video_and_it_is_the_nERR:__first_VOBU._n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov dword [esp], 1
call sub.cygwin1.dll_exit
jg 0x40fa4f
cmp dword [ebp - 0x33c], ebx
jbe 0x40f999
mov eax, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
jmp 0x40f8f1
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x13
mov dword [esp + 4], 1
mov dword [esp], str._nINFO:_Video_pts_
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ecx + 0x18]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
call fcn.0040b830
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], str._..
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov ebx, dword [ebp - 0x2dc]
mov edx, dword [ebx + 4]
mov ebx, edx
sub ebx, 1
js 0x40fb18
mov edi, dword [ebp - 0x2dc]
lea eax, [ebx + ebx*8]
shl eax, 4
mov esi, dword [edi + 0x18]
lea ecx, [esi + eax]
mov edi, dword [ecx + 0x20]
test edi, edi
jne 0x40fbf3
lea eax, [edx + edx*8 - 0x12]
shl eax, 4
lea edx, [esi + eax]
jmp 0x40fb13
mov eax, dword [edx + 0x20]
mov ecx, edx
sub edx, 0x90
test eax, eax
jne 0x40fbf3
sub ebx, 1
jns 0x40fb00
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], 0x41b7b7
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov ebx, dword [ebp - 0x2dc]
xor esi, esi
jmp 0x40fb5b
add esi, 1
add ebx, 0x4c
cmp esi, 0x40
je 0x40fbd6
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x40fb50
call sub.cygwin1.dll___getreent
mov dword [esp + 8], esi
add esi, 1
mov dword [esp + 4], str._nINFO:_Audio__d__pts_
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [ebx + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
call fcn.0040b830
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], str._..
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
add ebx, 0x4c
lea eax, [eax + eax*2 - 3]
lea edx, [edx + eax*8 + 8]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040b830
cmp esi, 0x40
jne 0x40fb5b
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
jmp 0x40f0a2
mov eax, dword [ecx + 0x30]
mov edx, dword [ecx + 0x34]
call fcn.0040b830
nop
jmp 0x40fb40
cmp byte [edx + 0x29], 0xbf
jne 0x40e9b6
cmp byte [edx + 0x400], 0
jne 0x40e9b6
cmp byte [edx + 0x401], 0
jne 0x40e9b6
cmp byte [edx + 0x402], 1
jne 0x40e9b6
cmp byte [edx + 0x403], 0xbf
jne 0x40e9b6
mov ecx, dword [ebp - 0x2dc]
xor eax, eax
mov edx, dword [ecx + 4]
test edx, edx
je 0x40fc75
mov eax, dword [ebp + 0xc]
lea ebx, [ebp - 0x48]
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x23c]
mov dword [esp], ebx
call fcn.0040e040
mov esi, dword [ebp - 0x2dc]
mov eax, dword [esi + 4]
mov edi, dword [ebp - 0x2dc]
add eax, 1
mov edx, dword [edi + 8]
mov dword [edi + 4], eax
cmp eax, edx
jle 0x40fcbe
test edx, edx
jne 0x4107c1
mov dword [edi + 8], 1
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*8]
shl eax, 4
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x18]
mov dword [esp], eax
call sub.cygwin1.dll_realloc
mov ebx, dword [ebp - 0x2dc]
mov dword [ebx + 0x18], eax
mov esi, dword [ebp - 0x2dc]
xor eax, eax
mov ecx, 0x24
mov edi, dword [esi + 4]
lea edx, [edi + edi*8 - 9]
shl edx, 4
add edx, dword [esi + 0x18]
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [edx + 0x54], 0
mov dword [edx + 0x58], 0
mov eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x300]
mov ebx, dword [ebp - 0x2fc]
mov dword [edx + 0x50], 0
mov dword [edx], eax
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ebx
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0
mov eax, dword [esi + 4]
mov dword [edx + 0x48], 0xffffffff
mov dword [edx + 0x4c], 0xffffffff
lea eax, [eax + eax*8 - 9]
shl eax, 4
add eax, dword [esi + 0x18]
mov esi, dword [ebp - 0x240]
lea ecx, [eax + 0x68]
mov edx, dword [esi + 0x44ca30]
mov dword [eax + 0x68], edx
mov edi, dword [ebp - 0x308]
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov eax, dword [edi + 8]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [edi + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x20]
mov dword [ecx + 0x20], eax
movzx eax, word [edi + 0x24]
mov word [ecx + 0x24], ax
mov eax, dword [ebp - 0x2dc]
test byte [eax + 4], 0xf
jne 0x40fd9e
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp + 0xc]
call fcn.0040b8e0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x2f4], 1
jmp 0x40e3b5
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 1
mov dword [esp], str._nERR:__Menu_VOB_reached_1gb_n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov dword [esp], 1
call sub.cygwin1.dll_exit
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov ebx, eax
call sub.cygwin1.dll___getreent
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], str.ERR:__Error_opening__s:__s_n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], 1
call sub.cygwin1.dll_exit
mov dword [ebp - 0x304], 0
call fcn.0040be60
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp + 0xc]
call fcn.0040b8e0
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
mov ecx, dword [ebp - 0x330]
mov dword [esp], ecx
call sub.cygwin1.dll_free
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov ebx, eax
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str._nERR:__Error_while_reading:__s_n
jmp 0x40e974
call sub.cygwin1.dll___getreent
movzx edx, bl
mov dword [esp + 8], edx
mov dword [esp + 4], str.ERR:_dvd_info_packet_is_version__d_n
jmp 0x40e974
mov eax, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
mov ebx, dword [ebp - 0x344]
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x31c], edx
mov edx, dword [ebp - 0x308]
mov dword [ebp - 0x320], eax
movzx esi, byte [edx + 1]
mov dword [ebp - 0x2e8], edi
mov dword [ebp - 0x2e4], ebx
jmp 0x40e368
mov ebx, dword [ebp - 0x2dc]
mov edi, dword [ebx + 4]
jmp 0x40f5de
call sub.cygwin1.dll___getreent
mov dword [esp + 8], esi
mov dword [esp + 4], str.ERR:__Cannot_find_button__s_as_referenced_by_the_subtitle_n
jmp 0x40e974
mov eax, dword [ebp - 0x2b0]
and eax, 0x38
cmp eax, 0x18
je 0x41016f
imul edx, dword [ebp - 0x25c], 0x4c
mov ebx, dword [ebp - 0x2dc]
lea eax, [ecx + ecx*2 - 3]
shl eax, 3
mov esi, dword [ebp - 0x2b8]
mov edi, dword [ebp - 0x2b4]
add eax, dword [ebx + edx + 0x1c]
add dword [eax + 8], esi
adc dword [eax + 0xc], edi
imul eax, dword [ebp - 0x25c], 0x4c
add eax, dword [ebp - 0x2dc]
mov edx, dword [eax + 0x20]
mov ecx, dword [eax + 0x1c]
lea eax, [edx + edx*2 - 3]
mov esi, dword [ecx + eax*8 + 0xc]
cmp dword [ebp - 0x2c4], esi
mov ebx, dword [ecx + eax*8 + 8]
jl 0x410134
jg 0x40ff9a
cmp dword [ebp - 0x2c8], ebx
jbe 0x41011a
cmp dword [ebp - 0x2b0], 0x1f
jg 0x40edc2
call sub.cygwin1.dll___getreent
mov edx, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c4]
mov edi, dword [ebp - 0x2b0]
mov dword [esp + 4], str.WARN:_Discontinuity_of__lld_in_audio_channel__d__please_remultiplex_input._n
sub edx, ebx
sbb ecx, esi
mov dword [esp + 0x10], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x17
mov dword [esp + 4], 1
mov dword [esp], str.WARN:_Previous_sector:
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
imul ebx, dword [ebp - 0x25c], 0x4c
add ebx, dword [ebp - 0x2dc]
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea eax, [eax + eax*2 - 3]
lea edx, [edx + eax*8]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040b830
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 3
mov dword [esp + 4], 1
mov dword [esp], 0x41b607
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea eax, [eax + eax*2 - 3]
lea edx, [edx + eax*8 + 8]
mov eax, dword [edx]
mov edx, dword [edx + 4]
call fcn.0040b830
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x17
mov dword [esp + 4], 1
mov dword [esp], str._nWARN:_Current_sector:
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov edx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2c8]
call fcn.0040b830
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 3
mov dword [esp + 4], 1
mov dword [esp], 0x41b607
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
mov edx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x2c0]
call fcn.0040b830
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
mov edx, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebp - 0x2c4]
mov ebx, dword [ebp - 0x2c8]
lea eax, [edx + edx*2 - 3]
mov dword [ecx + eax*8 + 0xc], esi
mov dword [ecx + eax*8 + 8], ebx
jmp 0x40edc2
cmp dword [ebp - 0x2c4], esi
jg 0x40edc2
jl 0x410134
cmp dword [ebp - 0x2c8], ebx
jae 0x40edc2
call sub.cygwin1.dll___getreent
mov edx, dword [ebp - 0x2b0]
sub ebx, dword [ebp - 0x2c8]
sbb esi, dword [ebp - 0x2c4]
mov dword [esp + 4], str.WARN:_Audio_pts_for_channel__d_moves_backwards_by__lld__please_remultiplex_input._n
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 8], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x40ffe1
imul eax, dword [ebp - 0x25c], 0x4c
mov edi, dword [ebp - 0x2dc]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [edi + eax + 0x1c]
lea eax, [ecx + ecx*2 - 3]
mov ecx, dword [ebp - 0x2c8]
mov dword [edx + eax*8 + 0xc], ebx
mov dword [edx + eax*8 + 8], ecx
jmp 0x40ff61
call sub.cygwin1.dll___getreent
mov ebx, dword [ebp - 0x2b0]
mov dword [esp + 4], str.WARN:_Invalid_audio_channel__d_n
mov dword [esp + 8], ebx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x40ee13
mov edx, dword [ebp - 0x2bc]
or edx, dword [ebp - 0x2c0]
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
je 0x40ed3b
call sub.cygwin1.dll___getreent
mov ecx, dword [ebp - 0x2b0]
mov dword [esp + 4], str.WARN:_Audio_channel__d_contains_sync_headers_but_has_no_PTS._n
mov dword [esp + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
jmp 0x40ed3b
mov eax, edx
shr eax, 0xc
and eax, 0xf
je 0x40ec15
cmp eax, 0xf
je 0x40ec15
and edx, 3
cmp edx, 2
je 0x40ec15
test ebx, ebx
js 0x410295
add dword [ebp - 0x2c0], 0x870
adc dword [ebp - 0x2bc], 0
mov eax, esi
mov ecx, dword [ebp - 0x364]
shr al, 1
mov esi, eax
shr al, 3
mov edx, esi
movzx eax, al
and edx, 1
mov eax, dword [eax*4 + 0x41b920]
add edx, ebx
lea eax, [eax + eax*2]
add edx, eax
mov dword [ecx], edx
jmp 0x40ec20
mov dword [edx + 0x24], 1
jmp 0x40ed7c
add dword [ebp - 0x2b8], 0x870
adc dword [ebp - 0x2b4], 0
jmp 0x41025d
mov ecx, dword [ebp - 0x334]
lea eax, [edx + ecx + 0x19]
movzx ebx, byte [edx + ecx + 0x17]
mov dword [esp], eax
call fcn.00401440
mov ecx, eax
mov eax, ebx
and eax, 0xf8
cmp eax, 0x38
je 0x4107d2
jg 0x41054d
cmp eax, 0x28
je 0x4107d2
cmp eax, 0x30
je 0x4107d2
cmp eax, 0x20
lea esi, [esi]
je 0x4107d2
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0xffffffff
mov dword [ebp - 0x25c], 0xffffffff
jmp 0x40ecac
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x41048b
cmp dword [ebp - 0x274], eax
je 0x410463
mov edi, dword [ebp - 0x2cc]
mov ecx, 0x24
mov esi, dword [ebp - 0x378]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x280]
mov ebx, dword [ebp - 0x27c]
mov esi, dword [ebp - 0x278]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], esi
jmp 0x40ef17
add ecx, dword [ebp - 0x308]
mov dword [esp + 8], esi
mov dword [esp], 0x41718f
mov dword [ebp - 0x26c], ecx
mov dword [esp + 4], ecx
call sub.cygwin1.dll_memcpy
test esi, esi
jle 0x4103f3
lea edi, [ebp - 0x48]
xor ebx, ebx
mov dword [ebp - 0x394], edi
mov eax, dword [ebp - 0x394]
lea edx, [ebx + 0x417188]
add ebx, 1
mov ecx, dword [ebp - 0x2d8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x2cc]
call fcn.0040da90
cmp esi, ebx
jg 0x4103c5
mov ebx, dword [ebp - 0x26c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x41718f
mov dword [esp], ebx
call sub.cygwin1.dll_memcpy
mov dword [0x417188], 0xffffffff
mov word [0x41718c], 0xffff
mov byte [0x41718e], 0xff
mov edi, dword [ebp - 0x308]
cmp byte [edi + 0x15], 0
js 0x4104d0
mov eax, dword [ebp - 0x240]
cmp byte [eax + 0x44ca30], 0
jne 0x4104bf
mov edx, dword [ebp - 0x308]
cmp byte [edx + 1], 0
jne 0x4104ae
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x2d8], ecx
jmp 0x40e44a
mov edx, dword [ebp - 0x308]
add edx, dword [ebp - 0x350]
mov eax, dword [edx]
mov dword [0x417188], eax
movzx eax, word [edx + 4]
mov word [0x41718c], ax
movzx eax, byte [edx + 6]
mov byte [0x41718e], al
jmp 0x410427
mov dword [esp + 8], str.mpeg1
mov dword [esp + 4], 1
mov dword [esp], ecx
call fcn.004049d0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x18]
jmp 0x410345
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x2d8], ecx
jmp 0x40e470
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x2d8], edx
jmp 0x40e470
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x48]
and eax, dword [edx + 0x4c]
add eax, 1
jne 0x410437
add edi, 0x17
mov esi, dword [ebp - 0x308]
movzx eax, byte [edi + 3]
movzx edx, byte [edi + 4]
shl eax, 8
or eax, edx
sar eax, 1
mov ecx, eax
mov ebx, eax
movzx eax, byte [esi + 0x17]
sar ebx, 0x1f
mov esi, ecx
mov ecx, ebx
and eax, 0xe
sar eax, 1
mov edx, eax
sar edx, 0x1f
shld edx, eax, 0x1e
shl eax, 0x1e
or ecx, edx
movzx edx, byte [edi + 2]
or esi, eax
movzx eax, byte [edi + 1]
mov edi, dword [ebp - 0x2cc]
shl eax, 8
or eax, edx
sar eax, 1
shl eax, 0xf
mov edx, eax
or esi, eax
sar edx, 0x1f
or ecx, edx
mov dword [edi + 0x48], esi
mov dword [edi + 0x4c], ecx
jmp 0x410437
cmp eax, 0x88
je 0x4106f8
cmp eax, 0xa0
je 0x4105e6
add eax, 0xffffff80
jne 0x4102f6
mov edx, dword [ebp - 0x308]
and ebx, 7
sub esi, edi
movzx eax, byte [edx + edi + 1]
mov dword [ebp - 0x2b0], ebx
lea ebx, [ecx - 1]
imul eax, eax, 0xb40
mov edx, eax
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2b0]
sar edx, 0x1f
mov dword [ebp - 0x2bc], edx
lea edx, [esi - 4]
mov dword [ebp - 0x25c], eax
lea eax, [ecx + 6]
cmp edx, eax
jle 0x4105cd
mov esi, dword [ebp - 0x308]
mov edx, dword [ebp - 0x334]
lea eax, [esi + edx + 0x1b]
cmp byte [eax + ecx - 1], 0xb
je 0x41080b
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
jmp 0x40ecac
mov eax, dword [ebp - 0x308]
and ebx, 7
mov edx, dword [ebp - 0x334]
or ebx, 0x10
movzx esi, byte [eax + edi + 1]
lea edx, [eax + edx + 0x1b]
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x338], edx
movzx ecx, byte [edx + 1]
mov eax, ecx
shr al, 6
cmp al, 1
je 0x410781
jb 0x410777
cmp al, 2
je 0x410737
mov edx, esi
movzx eax, dl
imul eax, eax, 0x96
shr cl, 4
mov dword [esp + 4], str._dkhz
mov dword [ebp - 0x2c0], eax
mov ebx, eax
mov eax, ecx
and eax, 1
add eax, 1
sar ebx, 0x1f
lea eax, [eax + eax*2]
mov dword [ebp - 0x2bc], ebx
shl eax, 4
lea ebx, [ebp - 0x1e]
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.cygwin1.dll_sprintf
mov edi, dword [ebp - 0x2dc]
imul eax, dword [ebp - 0x2b0], 0x4c
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 6
lea esi, [edi + eax + 0x48]
lea edi, [edi + eax + 0x28]
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004044b0
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx + 1]
mov dword [esp + 4], str._dch
and eax, 7
add eax, 1
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.cygwin1.dll_sprintf
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 5
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004044b0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
jmp 0x40ecac
and ebx, 7
or ebx, 0x18
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
jmp 0x40ecac
mov dword [esp + 0xc], str.24bps
mov ecx, dword [ebp - 0x2dc]
imul eax, dword [ebp - 0x2b0], 0x4c
mov dword [esp + 8], 2
lea edx, [ecx + eax + 0x48]
lea eax, [ecx + eax + 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004044b0
mov ebx, dword [ebp - 0x338]
movzx ecx, byte [ebx + 1]
jmp 0x410632
mov dword [esp + 0xc], str.16bps
jmp 0x41073f
imul eax, dword [ebp - 0x2b0], 0x4c
mov edi, dword [ebp - 0x2dc]
mov dword [esp + 0xc], str.20bps
mov dword [esp + 8], 2
lea edx, [edi + eax + 0x48]
lea eax, [edi + eax + 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004044b0
mov eax, dword [ebp - 0x338]
movzx ecx, byte [eax + 1]
jmp 0x410632
lea eax, [edx + edx]
mov edx, dword [ebp - 0x2dc]
mov dword [edx + 8], eax
jmp 0x40fc97
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
jmp 0x40ecac
cmp byte [eax + ebx + 1], 0x77
jne 0x4105cd
lea eax, [eax + ecx + 3]
mov dword [esp], eax
call fcn.00401410
mov ebx, eax
shr ebx, 0x1e
test ebx, ebx
mov dword [ebp - 0x264], eax
je 0x41084d
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov dword [esp + 4], str.WARN:_Unknown_AC3_sample_rate:__d_n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
imul eax, dword [ebp - 0x2b0], 0x4c
mov edi, dword [ebp - 0x2dc]
mov dword [esp + 0xc], str.48khz
mov dword [esp + 8], 6
lea esi, [edi + eax + 0x48]
lea edi, [edi + eax + 0x28]
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004044b0
mov eax, dword [ebp - 0x264]
shl eax, 8
mov edx, eax
shr edx, 0x1b
cmp edx, 8
je 0x41089a
cmp edx, 6
jne 0x4105cd
mov edx, eax
mov ebx, eax
shl edx, 8
shr edx, 0x1d
shl ebx, 0xb
test dl, 1
je 0x4108b5
shl eax, 0xd
cmp edx, 1
cmovne ebx, eax
test dl, 4
lea eax, [ebx*4]
cmovne ebx, eax
cmp edx, 2
je case.default.0x4108d0
mov eax, ebx
shr eax, 0x1f
jmp dword [edx*4 + 0x41b810]
mov eax, dword [ebx + 0x50]
sub eax, 1
test eax, eax
mov dword [ebx + 0x50], eax
jne 0x4108f8
mov eax, dword [ebx + 0x54]
sub eax, 1
test eax, eax
mov dword [ebx + 0x54], eax
jne 0x41096d
mov dword [ebx + 0x40], 0xe
mov eax, dword [ebx + 0x44]
sub dword [ebp - 0x260], 1
add eax, 1
add edi, 1
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0x260]
test eax, eax
jne 0x40ea91
jmp 0x40e470
cmp eax, 1
sbb edx, 0xffffffff
mov dword [esp + 8], edx
lea ebx, [ebp - 0x18]
mov dword [esp + 4], str._dch
jmp 0x4106bf
mov eax, ebx
mov edx, edi
call fcn.0040bc80
mov eax, dword [ebx + 0x50]
sub eax, 1
test eax, eax
mov dword [ebx + 0x50], eax
jne 0x4108f8
mov dword [ebx + 0x50], 2
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 0x14
jmp 0x4108fb
mov dword [ebx + 0x50], 2
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 0x12
jmp 0x4108fb
mov edx, 1
jmp 0x410923
mov eax, ebx
shr eax, 0x1e
cmp eax, 2
jne 0x4109b7
mov dword [esp + 0xc], str.surround
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004044b0
lea eax, [ebx*4]
shr eax, 0x1f
mov edx, 2
jmp 0x410923
mov eax, dword [ebx + 0x50]
sub eax, 1
test eax, eax
mov dword [ebx + 0x50], eax
jne 0x4108f8
mov dword [ebx + 0x50], 2
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 0x13
jmp 0x4108fb
movzx eax, byte [edi]
or eax, dword [ebx + 0x54]
cmp eax, 0xfffffff
mov dword [ebx + 0x54], eax
je 0x410a51
sar eax, 0xc
and eax, 0xf
mov dword [ebx + 0x54], eax
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x50], 2
mov dword [ebx + 0x40], 0x12
jmp 0x4108fb
movzx eax, byte [edi]
mov dword [ebx + 0x40], 0x11
shl eax, 8
or dword [ebx + 0x54], eax
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
movzx eax, byte [edi]
mov dword [ebx + 0x40], 0x10
shl eax, 0x10
or dword [ebx + 0x54], eax
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
mov dword [ebx + 0x40], 9
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
movzx eax, byte [edi]
mov dword [ebx + 0x40], 0xf
shl eax, 0x18
mov dword [ebx + 0x54], eax
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
mov eax, dword [ebx + 0x50]
sub eax, 1
test eax, eax
mov dword [ebx + 0x50], eax
jne 0x4108f8
mov dword [ebx + 0x40], 0xe
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
mov eax, ebx
mov edx, edi
call fcn.0040bc80
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 9
jmp 0x4108fb
mov eax, ebx
mov edx, edi
call fcn.0040bc80
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 0xc
jmp 0x4108fb
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x410add
sub eax, 1
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
mov dword [ebx + 0x40], 9
movzx esi, byte [edi]
mov eax, esi
cmp al, 4
je 0x410b3d
ja 0x410b06
cmp al, 2
jbe 0x4108f8
mov dword [ebx + 0x40], 0xb
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
mov edx, esi
cmp dl, 6
je 0x410b8e
jb 0x410b78
cmp dl, 7
je 0x410b62
add dl, 1
nop
lea esi, [esi]
je 0x410b53
call sub.cygwin1.dll___getreent
mov ecx, esi
movzx edx, cl
mov dword [esp + 8], edx
mov dword [esp + 4], str.ERR:_procremap_encountered_unknown_subtitle_command:__d_n
jmp 0x40e974
mov dword [ebx + 0x50], 2
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 0xa
jmp 0x4108fb
mov dword [ebx + 0x40], 8
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
mov dword [ebx + 0x50], 2
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 0xd
jmp 0x4108fb
mov dword [ebx + 0x50], 6
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 0xa
jmp 0x4108fb
mov dword [ebx + 0x50], 4
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 0xa
jmp 0x4108fb
mov ecx, dword [ebx + 0x44]
cmp ecx, dword [ebx + 0x48]
mov eax, ecx
je 0x410bf7
cmp ecx, dword [ebx + 0x4c]
jne 0x4108fb
mov dword [ebx + 0x40], 4
movzx eax, byte [edi]
mov esi, dword [ebp - 0x314]
mov dword [ebx + 0x40], 5
shl eax, 0x12
mov edx, eax
sar edx, 0x1f
add dword [esi], eax
mov eax, ecx
adc dword [esi + 4], edx
jmp 0x4108fb
movzx eax, byte [edi]
add dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 9
jmp 0x4108fb
mov dword [ebx + 0x40], 0
jmp 0x41090b
movzx eax, byte [edi]
mov dword [ebx + 0x40], 7
shl eax, 8
mov dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
movzx eax, byte [edi]
mov ecx, dword [ebp - 0x314]
mov dword [ebx + 0x40], 6
shl eax, 0xa
mov edx, eax
sar edx, 0x1f
add dword [ecx], eax
adc dword [ecx + 4], edx
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
mov ecx, dword [ebx + 0x44]
jmp 0x410bbe
movzx eax, byte [edi]
add dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 8
jmp 0x4108fb
movzx eax, byte [edi]
mov dword [ebx + 0x40], 3
shl eax, 8
mov dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0x44]
jmp 0x4108fb
movzx eax, byte [edi]
add dword [ebx + 0x48], eax
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], 2
jmp 0x4108fb
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x50], 0
movzx eax, byte [edi]
mov dword [ebx + 0x40], 1
shl eax, 8
mov dword [ebx + 0x48], eax
xor eax, eax
jmp 0x4108fb
mov dword [esp + 0xc], 0x41b65d
mov dword [esp + 8], str.procremap
mov dword [esp + 4], 0x30e
mov dword [esp], str.dvdvob.c
call sub.cygwin1.dll___assert_func
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop