Function at 0x10008f80
Capabilities:
Get file size
Read file on windows
Read file via mapping

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x30
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
push edi
push ebx
push eax
push str.CCODECMgr::MakeEncryptedFile:___s___s_
call fcn.1000b3f0
add esp, 0xc
call fcn.10010f70
cmp eax, 1
jne 0x10008fbc
push str.CCODECMgr::MakeEncryptedFile___SaveRunningModeSet..._________________
call fcn.1000b3f0
push 1
call fcn.10011060
add esp, 8
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov esi, eax
test esi, esi
je 0x10009011
push str..dll
push esi
call ebp
test eax, eax
je 0x10008fff
push str..sys
push esi
call ebp
test eax, eax
je 0x10008fff
push str..drv
push esi
call ebp
test eax, eax
je 0x10008fff
push str..exe
push esi
call ebp
test eax, eax
jne 0x10009011
call fcn.10011010
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
mov edi, dword [sym.imp.SHLWAPI.dll_StrStrIA]
push str.TemplatesNormal.dot
push ebx
call edi
test eax, eax
je 0x10009035
call fcn.10011010
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
push str.personal.xls
push ebx
call edi
test eax, eax
je 0x10009053
call fcn.10011010
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
push esi
push str..csv
call ebp
test eax, eax
je 0x1000906b
push esi
push str..txt
call ebp
test eax, eax
jne 0x100090a6
call dword [sym.imp.DSIpcAg.dll_class_IDSIpcAg____cdecl_SCAPI_GetIDSIpcAgent_void_]
test eax, eax
je 0x100090a6
mov edx, dword [eax]
push 0
push 0
push 0
push 0
push 0
push 3
push 0
push ebx
push 0x3fa
mov ecx, eax
call dword [edx]
cmp eax, 0x23
jne 0x100090a6
call fcn.10011010
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
xor edi, edi
push edi
push 0x80
push 3
push edi
push 1
push Ordinal_1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x100090e9
call fcn.10011010
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.__Failed_to_CreateFile_in_MakeEncryptedFile__d_
call fcn.1000b3f0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, eax
mov dword [esp + 0x10], edi
push ebp
mov dword [esp + 0x20], edi
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov ebx, eax
cmp ebx, edi
mov dword [esp + 0x14], ebx
jne 0x1000917f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.___Failed_to_CoTaskMemAlloc_Error__d_
call fcn.1000b3f0
call fcn.10011010
mov eax, dword [esp + 0x4c]
push eax
call fcn.1000cce0
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [sym.imp.dsLang.dll_char____cdecl_GetDSString_char__]
push str.STR_MEMALLOCFAIL_ENRYPT
call esi
add esp, 4
test eax, eax
je 0x100093ca
push 0x40
push str.STR_BOXCAPTION_TITLE
call esi
add esp, 4
push eax
push str.STR_MEMALLOCFAIL_ENRYPT
call esi
add esp, 4
push eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call sub.SCMsgBox.dll_SCMessageBox
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
lea ecx, [esp + 0x10]
push 0
push ecx
push ebp
push ebx
push esi
mov edi, ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x100091bd
mov eax, dword [esp + 0x10]
test eax, eax
jbe 0x100091bd
mov edx, dword [esp + 0x1c]
push 0
add edx, eax
add edi, eax
mov dword [esp + 0x20], edx
lea edx, [esp + 0x14]
push edx
push ebp
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x10009195
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 5
mov edi, str.SCDSA002
mov esi, ebx
xor eax, eax
repe cmpsw word [esi], word es:[edi]
je 0x1000943c
mov ecx, 5
mov edi, str.SCDSA003
mov esi, ebx
xor edx, edx
repe cmpsw word [esi], word es:[edi]
je 0x1000943c
mov ecx, 7
lea edi, [esp + 0x21]
mov byte [esp + 0x20], dl
push 0x20
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x24]
push eax
call fcn.10008f20
add esp, 8
lea ecx, [esp + 0x20]
lea edx, [ebp + 0x10020]
push ecx
push edx
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ebx, eax
test ebx, ebx
jne 0x1000926b
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
call fcn.10011010
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____Failed_to_CreateFileMapping_in_MakeEncryptedFile__d_
call fcn.1000b3f0
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.1000cce0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0
push 0
push 0
push 2
push ebx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
test eax, eax
jne 0x100092b5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____Failed_to_MapViewOfFile1_in_MakeEncryptedFile__d_
call fcn.1000b3f0
add esp, 8
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.10011010
mov edx, dword [esp + 0x44]
push edx
call fcn.1000cce0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov esi, dword [esp + 0x14]
mov ecx, ebp
mov edx, ecx
lea edi, [eax + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [esp + 0x18], 0
call dword [sym.imp.DSIpcAg.dll_class_IDSIpcAg____cdecl_SCAPI_GetIDSIpcAgent_void_]
mov esi, eax
test esi, esi
jne 0x10009315
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.10011010
mov ecx, dword [esp + 0x44]
push ecx
call fcn.1000cce0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push str.Request_Encrypt
call fcn.1000b3f0
add esp, 4
mov edi, dword [esp + 0x44]
mov edx, dword [esi]
lea eax, [esp + 0x18]
push 0
push 0
lea ecx, [esp + 0x28]
push eax
push ecx
push ebp
push 0
push 0
push edi
push 0x3ea
mov ecx, esi
call dword [edx]
mov esi, eax
test esi, esi
je 0x10009363
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebp
push esi
push str.____1Step_Failed_to_pDSIpcAg__Request_in_MakeEncryptedFile__d___d___d_
call fcn.1000b3f0
add esp, 0x10
jmp 0x100093b5
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10009379
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____2Step_Failed_to_pDSIpcAg__Request_in_MakeEncryptedFile__d_
jmp 0x100093ad
cmp eax, ebp
jae 0x1000938c
push str.Error_Code:_0x8000F001_n
call fcn.1000b3f0
add esp, 4
jmp 0x100093b5
push 0
push 0
push 0
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
test esi, esi
jne 0x100093d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____Failed_to_MapViewOfFile2_in_MakeEncryptedFile__d_
call fcn.1000b3f0
add esp, 8
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.10011010
push edi
call fcn.1000cce0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
push edi
call fcn.1000cce0
push edi
call fcn.100111e0
mov edi, dword [esp + 0x50]
push edi
call fcn.100111e0
mov edx, dword [esp + 0x24]
lea eax, [esi + 0x20]
push edx
push eax
push edi
call fcn.10009d20
add esp, 0x18
test eax, eax
push esi
jne 0x1000941d
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.10011010
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.10011010
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
push str.CCODECMgr::MakeEncryptedFile:_This_File_EncryptedFile...__
push str.DSCOXLS
call fcn.1000b440
add esp, 8
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
call fcn.10011010
mov ecx, dword [esp + 0x44]
push ecx
call fcn.1000cce0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret