Function at 0x40e170
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43be88
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x820
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [eax], edi
mov ecx, dword [esi]
mov dword [ebp - 0x10], esp
cmp dword [ecx - 8], edi
jne 0x40e1bd
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebp - 0x24]
call fcn.0043a3b8
mov eax, dword [esi]
push edi
push 0x8040
mov dword [ebp - 4], edi
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x28], edi
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CFile::Open
cmp eax, edi
jne 0x40e1f9
mov edx, dword [esi]
mov eax, dword [0x450ba4]
push edx
push str.CSyncEngine::UnCompressGzipFile__1._File_open_error.__s
push 4
push eax
jmp 0x40e2fe
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CFile::GetLength
mov ebx, eax
cmp ebx, edi
ja 0x40e22e
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CFile::CFile
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea edi, [ebx + 1]
push edi
call sub.MFC42.DLL_operatornew
mov ecx, edi
mov esi, eax
mov edx, ecx
xor eax, eax
mov edi, esi
add esp, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push ebx
and ecx, 3
push esi
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x28], esi
call dword [eax + 0x3c]
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CFile::Close
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x14]
push edi
push ecx
xor eax, eax
push ebx
push esi
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
call fcn.0040d750
add esp, 0x10
test esi, esi
je 0x40e28d
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x40e3f2
cmp dword [edi], 0
jbe 0x40e3e9
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 3
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x40e2cb
mov edx, dword [ebp - 0x14]
push edx
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi]
add esp, 4
push eax
push str.CSyncEngine::UnCompressGzipFile__Failed_DeleteFile_strGzipFilePath_.
jmp 0x40e2f5
mov eax, dword [esi]
push 0
push 0x9041
push eax
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CFile::Open
test eax, eax
jne 0x40e32a
mov edx, dword [ebp - 0x14]
push edx
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi]
add esp, 4
push eax
push str.CSyncEngine::UnCompressGzipFile__2._File_open_error.__s
mov ecx, dword [0x450ba4]
push 4
push ecx
call fcn.00404960
add esp, 0x10
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CFile::CFile
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [edi]
mov edx, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x24]
push edx
lea ecx, [ebp - 0x24]
call dword [eax + 0x40]
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CFile::Close
mov ecx, dword [ebp - 0x14]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CFile::CFile
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [0x450ba4]
push str.CSyncEngine::UnCompressGzipFile__Failed_GZipUnCompress__._pUnCompressBuffNULL_or_dwUnCompressSize0
push 4
push ecx
call fcn.00404960
add esp, 0xc
jmp 0x40e306