Function at 0x48d860
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53c733
mov eax, dword fs:[0]
push eax
mov eax, 0x16b0
call fcn.004fa800
mov eax, dword [0x5954a0]
xor eax, ebp
mov dword [ebp - 0x38], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.PackageODMFile_CompressODMFileToMemory_1_
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x5c8], 0
xor eax, eax
mov word [ebp - 0x5c4], ax
push 0x3fe
push 0
lea ecx, [ebp - 0x5c2]
push ecx
call fcn.004f8090
add esp, 0xc
mov dword [ebp - 0x1c0], 0
push 0
push 0
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0048bd40
mov dword [ebp - 4], 0
push 0xa
lea ecx, [ebp - 0x34]
call fcn.0048f180
mov byte [ebp - 4], 1
xor ecx, ecx
mov word [ebp - 0x7cc], cx
push 0x1fe
push 0
lea edx, [ebp - 0x7ca]
push edx
call fcn.004f8090
add esp, 0xc
call fcn.004c02e6
push eax
lea ecx, [ebp - 0x18]
call fcn.004514d0
mov byte [ebp - 4], 2
cmp dword [ebp + 8], 0
jne 0x48d971
mov dword [ebp - 0x151c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0044f990
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0048f290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.0048bdd0
mov eax, dword [ebp - 0x151c]
jmp 0x48e1f0
push str.PackageODMFile_CompressODMFileToMemory_2_
call fcn.0047c040
add esp, 4
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
je 0x48d9a3
mov ecx, dword [ebp - 0x14]
and ecx, 0x10
je 0x48d9a3
mov dword [ebp - 0x1c0], 1
push str.PackageODMFile_CompressODMFileToMemory_3_
call fcn.0047c040
add esp, 4
cmp dword [ebp - 0x1c0], 0
je 0x48dab3
xor edx, edx
mov word [ebp - 0xbd4], dx
push 0x3fe
push 0
lea eax, [ebp - 0xbd2]
push eax
call fcn.004f8090
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0xbd4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0xbd4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
movzx ecx, word [ebp + eax*2 - 0xbd6]
cmp ecx, 0x5c
jne 0x48da1e
lea edx, [ebp - 0xbd4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
mov word [ebp + eax*2 - 0xbd6], cx
push 0x5c
lea edx, [ebp - 0xbd4]
push edx
call fcn.004f8f45
add esp, 8
test eax, eax
je 0x48da49
push 0x5c
lea eax, [ebp - 0xbd4]
push eax
call fcn.004f8f45
add esp, 8
xor ecx, ecx
mov word [eax], cx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1520], esp
lea edx, [ebp - 0xbd4]
push edx
call fcn.0044f380
mov dword [ebp - 0x16a8], eax
mov eax, dword [ebp - 0x16a8]
mov dword [ebp - 0x16ac], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x34]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x1524], esp
mov edx, dword [ebp + 8]
push edx
call fcn.0044f380
mov dword [ebp - 0x16b0], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1bc]
call fcn.0048c790
push str.PackageODMFile_CompressODMFileToMemory_3_1_
call fcn.0047c040
add esp, 4
jmp 0x48db6f
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x152c]
call fcn.0044f380
mov byte [ebp - 4], 4
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x1530]
call fcn.0044f380
mov byte [ebp - 4], 5
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0x1528], esp
mov dword [ebp - 0x1584], edx
lea eax, [ebp - 0x1530]
push eax
mov ecx, dword [ebp - 0x1584]
call fcn.00451520
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x152c]
push ecx
mov ecx, dword [ebp - 0x1584]
add ecx, 4
call fcn.0048f8f0
mov edx, dword [ebp - 0x1584]
mov byte [edx + 8], 0
mov eax, dword [ebp - 0x1584]
mov dword [eax + 0xc], 0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1584]
mov dword [ebp - 0x16b4], ecx
lea ecx, [ebp - 0x34]
call fcn.0048f1e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1530]
call fcn.0044f990
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x152c]
call fcn.0044f990
push str.PackageODMFile_CompressODMFileToMemory_3_2_
call fcn.0047c040
add esp, 4
push str.PackageODMFile_CompressODMFileToMemory_4_
call fcn.0047c040
add esp, 4
lea edx, [ebp - 0x5c4]
push edx
push 0x200
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x5c4]
push eax
call fcn.004f810a
add esp, 4
movzx ecx, word [ebp + eax*2 - 0x5c6]
cmp ecx, 0x5c
je 0x48dbbc
push 0x5668c0
lea edx, [ebp - 0x5c4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push str.PackageODMFile_CompressODMFileToMemory_5_
call fcn.0047c040
add esp, 4
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0048c0c0
test eax, eax
jne 0x48dc1b
mov dword [ebp - 0x1534], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0044f990
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0048f290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.0048bdd0
mov eax, dword [ebp - 0x1534]
jmp 0x48e1f0
push str.PackageODMFile_CompressODMFileToMemory_6_
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x5c8], 1
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x1594], ecx
mov edx, dword [ebp - 0x1594]
mov dword [ebp - 0x7d0], edx
cmp dword [ebp - 0x7d0], 0
je 0x48e18c
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x1598], eax
mov ecx, dword [ebp - 0x1598]
mov edx, dword [ecx]
mov dword [ebp - 0x7d0], edx
mov eax, dword [ebp - 0x1598]
add eax, 8
mov dword [ebp - 0xfe0], eax
mov dword [ebp - 0xbd8], 0
xor ecx, ecx
mov word [ebp - 0xfdc], cx
push 0x3fe
push 0
lea edx, [ebp - 0xfda]
push edx
call fcn.004f8090
add esp, 0xc
mov eax, dword [ebp - 0xfe0]
mov ecx, dword [eax]
mov dword [ebp - 0x159c], ecx
push 0x100
lea edx, [ebp - 0x7cc]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x159c]
push eax
call fcn.004fad12
add esp, 0x24
push 0x100
lea ecx, [ebp - 0x7cc]
push ecx
call fcn.004fbb1d
add esp, 8
mov edx, dword [ebp - 0x10]
push edx
push str.PackageODMFile_CompressODMFileToMemory_6__d_1
call fcn.0047c040
add esp, 8
mov eax, dword [ebp - 0xfe0]
mov ecx, dword [eax]
mov dword [ebp - 0x15a0], ecx
mov edx, dword [ebp - 0x15a0]
push edx
call fcn.00496ad0
add esp, 4
mov dword [ebp - 0xbdc], eax
cmp dword [ebp - 0xbdc], 0
jne 0x48dd67
mov eax, dword [ebp - 0x10]
push eax
push str.PackageODMFile_CompressODMFileToMemory_6__d_2__bIsFolder_
call fcn.0047c040
add esp, 8
mov ecx, dword [ebp - 0xfe0]
mov edx, dword [ecx]
mov dword [ebp - 0x15a4], edx
mov eax, dword [ebp - 0x15a4]
push eax
call fcn.0048ba60
add esp, 4
mov dword [ebp - 0xbd8], eax
mov ecx, dword [ebp - 0x10]
push ecx
push str.PackageODMFile_CompressODMFileToMemory_6__d_3__bIsFolder_
call fcn.0047c040
add esp, 8
cmp dword [ebp - 0xbdc], 0
jne 0x48e0c2
cmp dword [ebp - 0xbd8], 0
je 0x48e0c2
cmp dword [ebp + 0x28], 0
je 0x48e0c2
cmp dword [ebp + 0x24], 0
je 0x48e0c2
mov edx, dword [ebp - 0x10]
push edx
push str.PackageODMFile_CompressODMFileToMemory_6__d_3_1__bIsFolder_
call fcn.0047c040
add esp, 8
mov eax, dword [ebp - 0xfe0]
mov ecx, dword [eax]
mov dword [ebp - 0x15a8], ecx
mov edx, dword [ebp + 0x24]
push edx
lea eax, [ebp - 0xfdc]
push eax
mov ecx, dword [ebp - 0x15a8]
push ecx
call dword [ebp + 0x28]
add esp, 0xc
test eax, eax
jne 0x48dde6
jmp 0x48dc4e
mov edx, dword [ebp - 0x10]
push edx
push str.PackageODMFile_CompressODMFileToMemory_6__d_3_2__bIsFolder_
call fcn.0047c040
add esp, 8
lea eax, [ebp - 0x7cc]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp - 0xfe0]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xfe0]
mov edx, dword [ecx]
push edx
push str.padi__m_szFilePath:_s_padi__m_szFileName:_s_pszFileExt:_s_szExt:_s
lea eax, [ebp - 0x18]
push eax
call fcn.00451560
add esp, 0x18
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0xfe0]
mov eax, dword [edx + 4]
sub eax, 0x10
mov dword [ebp - 0x15ac], eax
mov ecx, dword [ebp - 0x15ac]
push ecx
call fcn.0044fd30
add esp, 4
mov dword [ebp - 0x15b0], eax
mov edx, dword [ebp - 0x15b0]
add edx, 0x10
mov dword [ebp - 0x1510], edx
mov byte [ebp - 4], 7
call fcn.004c02e6
push eax
lea ecx, [ebp - 0x150c]
call fcn.004514d0
mov byte [ebp - 4], 8
push ecx
mov eax, esp
mov dword [ebp - 0x1538], esp
mov dword [ebp - 0x15bc], eax
mov ecx, dword [ebp - 0x1510]
sub ecx, 0x10
mov dword [ebp - 0x15b4], ecx
mov edx, dword [ebp - 0x15b4]
push edx
call fcn.0044fd30
add esp, 4
mov dword [ebp - 0x15b8], eax
mov eax, dword [ebp - 0x15b8]
add eax, 0x10
mov ecx, dword [ebp - 0x15bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x15bc]
mov dword [ebp - 0x16b8], edx
lea ecx, [ebp - 0x150c]
call fcn.0048e210
mov dword [ebp - 0x16bc], eax
cmp dword [ebp - 0x16bc], 1
jne 0x48dfd5
mov eax, dword [ebp - 0x10]
push eax
push str.PackageODMFile_CompressODMFileToMemory_6__d_3_2_1__bIsFolder_
call fcn.0047c040
add esp, 8
mov ecx, dword [ebp - 0x1510]
mov dword [ebp - 0x1630], ecx
mov edx, dword [ebp - 0x1630]
push edx
lea eax, [ebp - 0x1518]
push eax
lea ecx, [ebp - 0x150c]
call fcn.0048e420
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x1518]
mov dword [ebp - 0x1634], ecx
mov edx, dword [ebp - 0x1634]
push edx
lea ecx, [ebp - 0x1510]
call fcn.0046fa60
mov dword [ebp - 0x1650], eax
mov eax, dword [ebp - 0x1650]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x1648], ecx
mov edx, dword [ebp - 0x1648]
push edx
call fcn.0044fd30
add esp, 4
mov dword [ebp - 0x164c], eax
mov eax, dword [ebp - 0x164c]
add eax, 0x10
mov dword [ebp - 0x1514], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1514]
push ecx
lea ecx, [ebp - 0x1510]
call fcn.0044f9d0
mov edx, dword [ebp - 0xfe0]
add edx, 4
mov dword [ebp - 0x1664], edx
lea eax, [ebp - 0x1510]
push eax
mov ecx, dword [ebp - 0x1664]
call fcn.0044f9d0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1514]
call fcn.0044f990
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1518]
call fcn.0044f990
mov ecx, dword [ebp - 0x10]
push ecx
push str.PackageODMFile_CompressODMFileToMemory_6__d_3_3__bIsFolder_
call fcn.0047c040
add esp, 8
mov edx, dword [ebp - 0xfe0]
mov eax, dword [edx + 4]
mov dword [ebp - 0x1670], eax
push 0
push 0
push 0x80
mov ecx, dword [ebp + 0x20]
push ecx
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x1670]
push edx
call fcn.004fad12
add esp, 0x24
mov eax, dword [ebp + 0x24]
push eax
push 0x80
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.004fdf2f
add esp, 0xc
lea edx, [ebp - 0xfdc]
test edx, edx
jne 0x48e044
mov dword [ebp - 0x1674], 0
jmp 0x48e059
lea eax, [ebp - 0xfdc]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1674], eax
mov ecx, dword [ebp - 0x1674]
push ecx
lea edx, [ebp - 0xfdc]
push edx
mov ecx, dword [ebp - 0xfe0]
call fcn.0044fb50
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp - 0xfe0]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xfe0]
mov ecx, dword [eax]
push ecx
push str.CDG_FILE_decryptPath:_s_name:_s_pszCommpressFileName:_s
lea edx, [ebp - 0x18]
push edx
call fcn.00451560
add esp, 0x14
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x150c]
call fcn.0044f990
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1510]
call fcn.0044f990
mov ecx, dword [ebp - 0x10]
push ecx
push str.PackageODMFile_CompressODMFileToMemory_6__d_4__bIsFolder_
call fcn.0047c040
add esp, 8
mov edx, dword [ebp - 0xfe0]
mov eax, dword [edx + 4]
mov dword [ebp - 0x169c], eax
mov ecx, dword [ebp - 0xfe0]
mov edx, dword [ecx]
mov dword [ebp - 0x16a0], edx
mov eax, dword [ebp - 0x1c0]
push eax
mov ecx, dword [ebp - 0xfe0]
movzx edx, byte [ecx + 8]
neg edx
sbb edx, edx
neg edx
sub edx, 1
push edx
mov eax, dword [ebp - 0x169c]
push eax
mov ecx, dword [ebp - 0x16a0]
push ecx
lea ecx, [ebp - 0x1bc]
call fcn.0048c420
test eax, eax
jne 0x48e132
mov dword [ebp - 0x5c8], 0
mov edx, dword [ebp - 0x10]
push edx
push str.PackageODMFile_CompressODMFileToMemory_6__d_5__bIsFolder_
call fcn.0047c040
add esp, 8
cmp dword [ebp - 0xbd8], 0
je 0x48e159
lea eax, [ebp - 0xfdc]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x10]
push ecx
push str.PackageODMFile_CompressODMFileToMemory_6__d_6__bIsFolder_
call fcn.0047c040
add esp, 8
cmp dword [ebp - 0x5c8], 0
je 0x48e17c
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x5c8], 0
jne 0x48e187
jmp 0x48e18c
jmp 0x48dc4e
lea ecx, [ebp - 0x1bc]
call fcn.0048c350
cmp dword [ebp - 0x10], 0
jne 0x48e1a7
mov dword [ebp - 0x5c8], 0
push str.PackageODMFile_CompressODMFileToMemory_7_
call fcn.0047c040
add esp, 4
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x153c], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.0044f990
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0048f290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.0048bdd0
mov eax, dword [ebp - 0x153c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x38]
xor ecx, ebp
call fcn.004f8124
mov esp, ebp
pop ebp
ret