Function at 0x41c630
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x46e2dc
push eax
mov dword fs:[0], esp
sub esp, 0x58
push esi
mov esi, dword [esp + 0x6c]
test esi, esi
je 0x41c668
push 0
push 0x476994
add ecx, 0x2a0
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Find_1]
test eax, eax
jl 0x41c67d
or eax, 0xffffffff
pop esi
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 4
mov ecx, dword [esi + 0xc]
xor al, al
test cl, 1
jne 0x41c68f
shr ecx, 1
inc al
cmp al, 0x1a
jl 0x41c682
add al, 0x41
mov word [esp + 0x6c], 0
mov byte [esp + 0x6c], al
push ebx
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_4]
lea ecx, [esp + 8]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x6c], 0
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_5]
push str.:mpegav.dat
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 1
call dword [0x47238c]
lea edx, [esp + 8]
push edx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_5]
push str.:VIDEO_TS.vob
lea ecx, [esp + 0x14]
mov byte [esp + 0x6c], 2
call dword [0x47238c]
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_5]
push str.:.cda
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 3
call dword [0x47238c]
lea ecx, [esp + 0x48]
call sub.MFC71.DLL_CFileFind::CFileFind
lea ecx, [esp + 0x30]
mov byte [esp + 0x68], 4
call sub.MFC71.DLL_CFileFind::CFileFind
mov bl, 5
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], bl
call sub.MFC71.DLL_CFileFind::CFileFind
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 6
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [esp + 0x50]
call sub.MFC71.DLL_CFileFind::FindFile
test eax, eax
je 0x41c7cb
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], bl
call fcn.0046af3e
lea ecx, [esp + 0x30]
mov byte [esp + 0x68], 4
call fcn.0046af3e
lea ecx, [esp + 0x48]
mov byte [esp + 0x68], 3
call fcn.0046af3e
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
pop ebx
mov eax, 2
pop esi
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 4
push 0
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [esp + 0x38]
call sub.MFC71.DLL_CFileFind::FindFile
test eax, eax
je 0x41c84e
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], bl
call fcn.0046af3e
lea ecx, [esp + 0x30]
mov byte [esp + 0x68], 4
call fcn.0046af3e
lea ecx, [esp + 0x48]
mov byte [esp + 0x68], 3
call fcn.0046af3e
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
pop ebx
mov eax, 3
pop esi
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 4
push 0
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
lea ecx, [esp + 0x20]
call sub.MFC71.DLL_CFileFind::FindFile
test eax, eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], bl
je 0x41c8d1
call fcn.0046af3e
lea ecx, [esp + 0x30]
mov byte [esp + 0x68], 4
call fcn.0046af3e
lea ecx, [esp + 0x48]
mov byte [esp + 0x68], 3
call fcn.0046af3e
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
pop ebx
mov eax, 1
pop esi
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret 4
call fcn.0046af3e
lea ecx, [esp + 0x30]
mov byte [esp + 0x68], 4
call fcn.0046af3e
lea ecx, [esp + 0x48]
mov byte [esp + 0x68], 3
call fcn.0046af3e
lea ecx, [esp + 0xc]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 8]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov ecx, dword [esp + 0x60]
pop ebx
xor eax, eax
pop esi
mov dword fs:[0], ecx
add esp, 0x64
ret 4