Function at 0x140001360
Capabilities:
Create new key via cryptacquirecontext
Encode data using xor
Encrypt data using aes via winapi
Encrypt or decrypt via wincrypt
Hash data using fnv
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x60
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x50], rax
movzx eax, byte [r8]
mov rbx, r8
mov dword [rsp + 0x30], edx
mov rdi, rcx
mov rdx, r8
mov r9d, 0x811c9dc5
test al, al
je 0x1400013ac
movzx eax, al
lea rdx, [rdx + 1]
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [rdx]
test al, al
jne 0x140001394
xor eax, eax
movd xmm4, r9d
cmp dword [0x140005058], 5
pshufd xmm4, xmm4, 0
jl 0x140001423
movd xmm0, dword [r8]
mov eax, 0xc
movdqa xmm3, xmmword [0x140003700]
vpsrlvd xmm1, xmm4, xmmword [0x140003710]
pshufb xmm1, xmm3
xorps xmm1, xmm0
movd dword [r8], xmm1
movd xmm0, dword [r8 + 4]
vpsrlvd xmm1, xmm4, xmmword [str.__08]
pshufb xmm1, xmm3
xorps xmm1, xmm0
movd dword [r8 + 4], xmm1
movd xmm0, dword [r8 + 8]
vpsrlvd xmm1, xmm4, xmmword [0x140003710]
pshufb xmm1, xmm3
xorps xmm1, xmm0
movd dword [r8 + 8], xmm1
mov r8d, eax
add r8, rbx
nop dword [rax]
mov ecx, eax
lea r8, [r8 + 1]
and ecx, 7
mov edx, r9d
shl ecx, 3
inc eax
shr edx, cl
xor byte [r8 - 1], dl
cmp eax, 0xd
jb 0x140001430
mov r9d, 0x18
mov dword [rsp + 0x20], 0xf0000000
xor r8d, r8d
lea rcx, [rsp + 0x38]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140001487
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptAcquireContextW___u__n
call fcn.140001160
jmp 0x140001593
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov edx, 0x800c
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x1400014c4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptCreateHash___u__n
call fcn.140001160
jmp 0x140001593
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov r8d, 0xd
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x1400014f8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptHashData___u__n
call fcn.140001160
jmp 0x140001593
mov r8, qword [rsp + 0x40]
lea rax, [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
mov edx, 0x6610
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
jne 0x140001534
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptDeriveKey___u__n
call fcn.140001160
jmp 0x140001593
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
jne 0x140001570
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_CryptDecrypt___u__n
call fcn.140001160
jmp 0x140001593
mov rcx, qword [rsp + 0x38]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140001c80
mov rbx, qword [rsp + 0x88]
add rsp, 0x60
pop rdi
ret