Function at 0x41ad70
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4cb521
mov eax, dword fs:[0]
push eax
mov eax, 0x11a64
call fcn.0048a520
mov eax, dword [0x512f80]
xor eax, esp
mov dword [esp + 0x11a60], eax
push ebx
push ebp
push esi
mov eax, dword [0x512f80]
xor eax, esp
push eax
lea eax, [esp + 0x11a74]
mov dword fs:[0], eax
mov esi, ecx
test edi, edi
mov ebp, dword [esp + 0x11a84]
jne 0x41adde
push str.fpIn
push ecx
call fcn.0042c7e0
add esp, 4
push eax
mov eax, 0x3eb
mov ecx, str.....CommonSrcPkgFile.cpp
mov edx, str.fpIn___0
call fcn.0042ca40
test ebp, ebp
jne 0x41ae05
push str.fpOut
push ecx
call fcn.0042c7e0
add esp, 4
push eax
mov eax, 0x3ec
mov ecx, str.....CommonSrcPkgFile.cpp
mov edx, str.fpOut___0
call fcn.0042ca40
test esi, esi
mov dword [esp + 0x1c], esi
je 0x41af7d
mov ebx, 0x8cd9
push edi
push 4
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.00483204
add esp, 0x10
cmp eax, 4
je 0x41ae4c
push 0x3fd
push str.....CommonSrcPkgFile.cpp
push str._fread_nNumCompressedBytesToRead__1__sizeof_u32___fpIn___sizeof_u32_____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
cmp dword [esp + 0x14], ebx
jbe 0x41ae71
push 0x3fe
push str.....CommonSrcPkgFile.cpp
push str.nNumCompressedBytesToRead___readBufSize
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jbe 0x41ae9a
push 0x3ff
push str.....CommonSrcPkgFile.cpp
push str.nNumCompressedBytesToRead___nNumBytesRemainingToRead
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
mov edx, dword [esp + 0x14]
push edi
push edx
lea eax, [esp + 0xb8]
push 1
push eax
call fcn.00483204
mov esi, eax
add esp, 0x10
cmp esi, dword [esp + 0x14]
je 0x41aed9
push 0x403
push str.....CommonSrcPkgFile.cpp
push str.nNumCompressedBytesRead__nNumCompressedBytesToRead
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
push edi
call fcn.00484c3b
add esp, 4
test eax, eax
jne 0x41afa6
push esi
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x8d9c]
push eax
mov dword [esp + 0x28], ebx
call fcn.004b7ef0
test eax, eax
jne 0x41afc6
cmp dword [esp + 0x18], eax
jne 0x41af36
push 0x40e
push str.....CommonSrcPkgFile.cpp
push str.nUncompressedBufSize___0
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
mov ecx, dword [esp + 0x18]
push ebp
push ecx
lea edx, [esp + 0x8d98]
push 1
push edx
call fcn.0048337e
add esp, 0x10
cmp eax, dword [esp + 0x18]
je 0x41af73
push 0x411
push str.....CommonSrcPkgFile.cpp
push str._fwrite_writeBuf__1__nUncompressedBufSize__fpOut___nUncompressedBufSize____false
push ecx
call fcn.0042c7e0
add esp, 4
mov ecx, eax
call fcn.0042ca10
sub dword [esp + 0x1c], esi
jne 0x41ae16
mov ecx, dword [esp + 0x11a74]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x11a60]
xor ecx, esp
call fcn.0048162f
add esp, 0x11a70
ret 4
push str.error_reading_data_segment_file
lea eax, [esp + 0x24]
push eax
xor cl, cl
call fcn.0040e5f0
push 0x5026f0
lea ecx, [esp + 0x24]
push ecx
call fcn.00488a7c
push eax
lea edx, [esp + 0x98]
push edx
call fcn.00408d70
mov dword [esp + 0x11a84], 0
push eax
lea eax, [esp + 0x84]
push eax
mov ecx, str.unable_to_uncompress_data__error_
call fcn.004089d0
mov byte [esp + 0x11a8c], 1
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, 0x4e28e8
call fcn.00408aa0
add esp, 0x18
mov byte [esp + 0x11a7c], 2
push eax
lea edx, [esp + 0x50]
push edx
call fcn.0040e350
push 0x5026f0
lea eax, [esp + 0x50]
push eax
call fcn.00488a7c
int3