Function at 0x10003a10
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
xor ebx, ebx
mov eax, esi
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003a30
sub eax, edx
je 0x10003a49
jmp 0x10003a40
cmp byte [eax + esi], 0x2e
je 0x10003a49
dec eax
jne 0x10003a40
mov ebp, dword [esp + 0x38]
cmp ebp, ebx
lea edi, [eax + esi]
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
je 0x10003b72
call fcn.10001740
test eax, eax
je 0x10003a76
mov ebx, 0x80
mov dword [esp + 0x38], ebx
jmp 0x10003a91
mov edx, esi
call fcn.10002680
neg al
sbb eax, eax
and eax, 0x20000000
add eax, 0x80
mov dword [esp + 0x38], eax
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp + 4], eax
mov eax, 4
mov ecx, ebx
shr ecx, 0x1d
push eax
not cl
and cl, 1
push str..ccd
push edi
mov word [ebp + 0x11d4], ax
mov word [ebp + 0x11d6], ax
mov byte [ebp + 0x11db], cl
call fcn.10015c67
add esp, 0xc
test eax, eax
jne 0x10003af6
mov edx, dword [esp + 0x3c]
mov cl, byte [esp + 0x48]
push ebx
push edx
push ebp
mov eax, esi
call fcn.100031b0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
push 4
push str..dvd
push edi
call fcn.10015c67
add esp, 0xc
test eax, eax
jne 0x10003b41
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x17]
push ecx
push esi
push edx
push eax
push ebp
call fcn.10003560
add esp, 0x18
test eax, eax
je 0x10003b39
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x24
ret
mov al, byte [esp + 0x13]
test al, al
jne 0x10003b72
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
push ecx
push 0
push 1
push 0x80000000
xor esi, esi
mov edi, 0x8000080
mov ebx, 3
call fcn.10002600
mov ebx, eax
add esp, 0x10
cmp ebx, 0xffffffff
mov dword [esp + 0x20], ebx
jne 0x10003b7c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
push 0
lea edx, [esp + 0x28]
push edx
push 0xc
lea eax, [esp + 0x34]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [esp + 0x24], 0xc
jne 0x10003e90
mov ecx, 3
mov edi, 0x100184c0
lea esi, [esp + 0x28]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x10003bbb
mov word [ebp + 0x11d0], 0x800
jmp 0x10003bc4
mov word [ebp + 0x11d0], 0x930
push ebx
call fcn.10003460
mov si, word [ebp + 0x11d0]
mov edi, eax
movzx eax, si
mov ecx, edx
cdq
add esp, 4
cmp ecx, edx
jl 0x10003e90
jg 0x10003bee
cmp edi, eax
jb 0x10003e90
cmp si, 0x800
jne 0x10003cc6
push edx
push eax
push ecx
push edi
call fcn.1000bfb0
push eax
push 0x10003990
push ebx
call fcn.10004340
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10003cc6
push edi
call fcn.10003f60
push edi
call fcn.100090d0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x10003cbd
push str._BDMV_
push ebx
call fcn.10008e70
add esp, 8
test eax, eax
je 0x10003c59
mov al, byte [ebp + 0x11d9]
test al, al
jne 0x10003cb4
mov byte [ebp + 0x11d9], 5
jmp 0x10003cb4
push str._HVDVD_TS_
push ebx
call fcn.10008e70
add esp, 8
test eax, eax
je 0x10003c7e
mov al, byte [ebp + 0x11d9]
test al, al
jne 0x10003cb4
mov byte [ebp + 0x11d9], 3
jmp 0x10003cb4
push str._VIDEO_TS_VIDEO_TS.IFO
push ebx
call fcn.10008e70
add esp, 8
test eax, eax
je 0x10003cb4
mov cl, byte [ebp + 0x11d9]
test cl, cl
jne 0x10003ca1
mov byte [ebp + 0x11d9], 2
mov esi, dword [esp + 0x20]
mov ecx, eax
mov edx, ebx
call fcn.100034a0
mov byte [ebp + 0x11d8], al
push ebx
call fcn.10008c10
add esp, 4
push edi
call fcn.10004310
add esp, 4
mov eax, dword [esp + 0x44]
cmp byte [eax], 0
je 0x10003dad
cmp byte [esp + 0x12], 0x10
jae 0x10003dad
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
push ecx
push 0
push 1
push 0x80000000
xor esi, esi
mov ebx, 3
call fcn.10002600
mov bl, byte [esp + 0x22]
movzx esi, bl
add esp, 0x10
cmp eax, 0xffffffff
mov dword [ebp + esi*8 + 8], eax
je 0x10003eb5
push eax
mov dword [esp + 0x18], 1
call fcn.10003460
mov ecx, eax
mov edi, edx
mov edx, ecx
add esp, 4
or edx, edi
je 0x10003eab
movzx eax, word [ebp + 0x11d0]
cdq
push edx
push eax
push edi
push ecx
call fcn.1000bfb0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [ebp + esi*4 + 0x1190], eax
add ecx, eax
shl esi, 8
sub esi, edx
mov dword [esp + 0x1c], ecx
mov eax, edx
lea esi, [esi + ebp + 0x90]
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x10003d70
inc bl
mov eax, edx
mov byte [esp + 0x12], bl
mov byte [ebp + 0x11da], bl
lea esi, [eax + 1]
jmp 0x10003d90
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003d90
sub eax, esi
mov cl, byte [edx + eax + 1]
test cl, cl
lea eax, [edx + eax + 1]
mov dword [esp + 0x18], eax
jne 0x10003cd3
mov al, byte [ebp + 0x11d9]
test al, al
jne 0x10003dc9
cmp word [ebp + 0x11d0], 0x800
jne 0x10003dc9
mov byte [ebp + 0x11d9], 2
mov al, 1
mov byte [ebp + 0x1879], al
mov byte [ebp + 0x187e], al
mov byte [ebp + 0x1884], al
mov byte [ebp + 0x1885], al
mov byte [ebp + 0x1888], al
mov eax, dword [esp + 0x1c]
mov ecx, 0x14
mov edx, eax
shr edx, 0x18
mov word [ebp + 0x1880], cx
mov byte [ebp + 0x1887], cl
mov byte [ebp + 0x188f], cl
mov byte [ebp + 0x1892], dl
mov ecx, eax
shr ecx, 0x10
mov edx, eax
shr edx, 8
mov byte [ebp + 0x187f], 0
mov dword [ebp + 0x187a], 0
mov byte [ebp + 0x1882], 0
mov byte [ebp + 0x1883], 0x12
mov byte [ebp + 0x1886], 0
mov byte [ebp + 0x1889], 0
mov byte [ebp + 0x188a], 0
mov byte [ebp + 0x188b], 0
mov byte [ebp + 0x188c], 0
mov byte [ebp + 0x188d], 0
mov byte [ebp + 0x188e], 0
mov byte [ebp + 0x1890], 0xaa
mov byte [ebp + 0x1891], 0
mov byte [ebp + 0x1893], cl
mov byte [ebp + 0x1894], dl
mov byte [ebp + 0x1895], al
mov dword [ebp + 0x11e8], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10003e9f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov dword [esp + 0x14], 0
jmp 0x10003e90
movzx ecx, bl
xor eax, eax
mov dword [ebp + ecx*8 + 8], eax
mov dword [esp + 0x14], eax
jmp 0x10003e90