Function at 0x41c550
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x150
mov eax, dword [0x512f80]
xor eax, esp
mov dword [esp + 0x14c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x15c]
push esi
mov esi, ecx
test esi, esi
push edi
jne 0x41c598
push str.FilePtr
push ecx
call fcn.0042c7e0
add esp, 4
push eax
mov eax, 0x1bf
mov ecx, str.....CommonSrcPkgFileTOCindex.cpp
mov edx, str.pPkgFile___0
call fcn.0042ca40
push 1
push 0xfffffffffffffffc
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c5c8
push 0x1c5
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__sizeof_nFileNameLen____1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push esi
push 4
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.00483204
add esp, 0x10
cmp eax, 4
je 0x41c5fe
push 0x1c6
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fread_nFileNameLen__1__sizeof_nFileNameLen___pPkgFile___sizeof_nFileNameLen_____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 1
push 0xfffffffffffffffc
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c62e
push 0x1c7
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__sizeof_nFileNameLen____1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 1
push 0xfffffffffffffffc
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c65e
push 0x1cb
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__sizeof_nOffset____1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push esi
push 4
lea ecx, [esp + 0x28]
push 1
push ecx
call fcn.00483204
add esp, 0x10
cmp eax, 4
je 0x41c694
push 0x1cc
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fread_nOffset__1__sizeof_nOffset___pPkgFile___sizeof_nOffset_____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 1
push 0xfffffffffffffffc
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c6c4
push 0x1cd
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__sizeof_nOffset____1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 1
push 0xfffffffffffffffc
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c6f4
push 0x1d1
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__sizeof_nStoredFileLen____1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push esi
push 4
lea edx, [esp + 0x24]
push 1
push edx
call fcn.00483204
add esp, 0x10
cmp eax, 4
je 0x41c72a
push 0x1d2
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fread_nStoredFileLen__1__sizeof_nStoredFileLen___pPkgFile___sizeof_nStoredFileLen_____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 1
push 0xfffffffffffffffc
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c75a
push 0x1d3
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__sizeof_nStoredFileLen____1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 1
push 0xfffffffffffffffc
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c78a
push 0x1d7
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__sizeof_nUncompressedFileLen____1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push esi
push 4
lea eax, [esp + 0x20]
push 1
push eax
call fcn.00483204
add esp, 0x10
cmp eax, 4
je 0x41c7c0
push 0x1d8
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fread_nUncompressedFileLen__1__sizeof_nUncompressedFileLen___pPkgFile___sizeof_nUncompressedFileLen_____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 1
push 0xfffffffffffffffc
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c7f0
push 0x1d9
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__sizeof_nUncompressedFileLen____1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
mov ecx, dword [esp + 0x14]
push 1
neg ecx
push ecx
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c825
push 0x1dd
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__nFileNameLen___1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
mov edx, dword [esp + 0x14]
push esi
push edx
lea eax, [esp + 0x58]
push 1
push eax
call fcn.00483204
mov ecx, dword [esp + 0x24]
add esp, 0x10
cmp eax, ecx
je 0x41c865
push 0x1de
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fread_s__1__nFileNameLen__pPkgFile___nFileNameLen____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
mov ecx, dword [esp + 0x14]
push 1
neg ecx
push ecx
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c896
push 0x1df
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile___static_cast_long__nFileNameLen___1___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
cmp dword [esp + 0x14], 0x104
jbe 0x41c8c0
lea ecx, [esp + 0x24]
push str.invalid_file_name_length_in_table_of_contents_entry
push ecx
xor cl, cl
call fcn.0040e5f0
push 0x5026f0
lea edx, [esp + 0x28]
push edx
call fcn.00488a7c
push esi
call fcn.00482e35
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
jne 0x41c8ef
push 0x1e7
push str.....CommonSrcPkgFileTOCindex.cpp
push str.currpos____1
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 2
push 0
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c91f
push 0x1e8
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile__0L__2___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push esi
call fcn.00482e35
mov ebx, eax
add esp, 4
cmp ebx, 0xffffffff
jne 0x41c94e
push 0x1ea
push str.....CommonSrcPkgFileTOCindex.cpp
push str.nPkgFileLen____1
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push 0
push edi
push esi
call fcn.00482c18
add esp, 0xc
test eax, eax
je 0x41c97d
push 0x1eb
push str.....CommonSrcPkgFileTOCindex.cpp
push str._fseek_pPkgFile__currpos__0___0____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
cmp dword [esp + 0x20], ebx
jbe 0x41c9a3
push str.invalid_data_segment_file_offset_in_table_of_contents_entry
lea eax, [esp + 0x28]
push eax
xor cl, cl
call fcn.0040e5f0
push 0x5026f0
lea ecx, [esp + 0x28]
push ecx
call fcn.00488a7c
cmp dword [esp + 0x18], 0
jne 0x41c9ca
push str.invalid_data_segment_uncompressed_file_length_from_table_of_contents_entry
lea edx, [esp + 0x28]
push edx
xor cl, cl
call fcn.0040e5f0
push 0x5026f0
lea eax, [esp + 0x28]
push eax
call fcn.00488a7c
cmp dword [esp + 0x1c], 0
jne 0x41c9f1
lea ecx, [esp + 0x24]
push str.invalid_data_segment_stored_file_length_from_table_of_contents_entry
push ecx
xor cl, cl
call fcn.0040e5f0
push 0x5026f0
lea edx, [esp + 0x28]
push edx
call fcn.00488a7c
mov eax, dword [esp + 0x14]
lea esi, [ebp + 4]
mov ecx, esi
call fcn.0041b200
lea eax, [esp + 0x50]
push eax
mov ecx, esi
call fcn.0040e130
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
pop edi
mov dword [ebp + 0x20], ecx
mov ecx, dword [esp + 0x158]
pop esi
mov dword [ebp + 0x24], edx
mov dword [ebp + 0x28], eax
pop ebp
pop ebx
xor ecx, esp
call fcn.0048162f
add esp, 0x150
ret 4