Function at 0x14000a200
Capabilities:
Create new key via cryptacquirecontext
Encode data using xor
Hash data using sha1
Initialize hashing via wincrypt

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 8], ecx
push rbx
push r12
push r14
push r15
sub rsp, 0x78
xor ebx, ebx
mov dword [rsp + 0x20], 0xf0000000
mov r14, r9
mov dword [rsp + 0xa0], ebx
mov r15, rdx
lea rcx, [rsp + 0x48]
xor r8d, r8d
xor edx, edx
lea r9d, [rbx + 0x18]
lea r12d, [rbx + 0x10]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x14000a47c
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov edx, 0x8004
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x14000a46f
mov rcx, qword [rsp + 0x40]
lea r9, [rsp + 0xb0]
xor r8d, r8d
mov dword [rsp + 0x20], ebx
lea edx, [rbx + 2]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x14000a464
mov qword [rsp + 0x68], rdi
lea ecx, [rbx + 0x40]
mov edi, dword [rsp + 0xc0]
mov qword [rsp + 0x60], r13
lea rdx, [rdi + 4]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r13, rax
test rax, rax
je 0x14000a45a
mov edx, dword [rsp + 0xb0]
lea ecx, [rbx + 0x40]
mov qword [rsp + 0xa8], rbp
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbp, rax
test rax, rax
je 0x14000a440
mov edx, dword [rsp + 0xb0]
lea ecx, [rbx + 0x40]
mov qword [rsp + 0x70], rsi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
je 0x14000a432
mov r8d, edi
mov dword [rsp + 0xa0], 1
mov rdx, r14
mov rcx, r13
call fcn.140033fa0
lea rcx, [rdi + r13]
lea edx, [rdi + 4]
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0xd8], edx
lea r14d, [rbx + 1]
nop word [rax + rax]
mov eax, r14d
mov r9, r13
bswap eax
mov dword [rcx], eax
mov r8d, 0x10
mov eax, dword [rsp + 0xb0]
mov ecx, 0x8004
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], edx
mov rdx, r15
call fcn.140009ff0
mov r8d, dword [rsp + 0xb0]
mov rdx, rsi
mov rcx, rbp
call fcn.140033fa0
mov eax, dword [rsp + 0xc8]
mov edi, dword [rsp + 0xb0]
cmp eax, 1
jbe 0x14000a3ed
lea ebx, [rax - 1]
nop word [rax + rax]
mov dword [rsp + 0x30], edi
mov r9, rsi
mov qword [rsp + 0x28], rsi
mov r8d, 0x10
mov rdx, r15
mov dword [rsp + 0x20], edi
mov ecx, 0x8004
call fcn.140009ff0
mov edi, dword [rsp + 0xb0]
xor eax, eax
test edi, edi
je 0x14000a3e7
movzx ecx, byte [rax + rsi]
lea rdx, [rax + rbp]
xor byte [rdx], cl
inc eax
mov edi, dword [rsp + 0xb0]
cmp eax, edi
jb 0x14000a3d0
sub rbx, 1
jne 0x14000a3a0
mov rcx, qword [rsp + 0xd0]
cmp r12d, edi
mov rdx, rbp
cmovb edi, r12d
mov r8d, edi
mov ebx, edi
call fcn.140033fa0
add qword [rsp + 0xd0], rbx
inc r14d
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 0xd8]
sub r12d, edi
jne 0x14000a340
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rsi, qword [rsp + 0x70]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov ebx, dword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
jmp 0x14000a45a
mov rdi, qword [rsp + 0x68]
mov r13, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rsp + 0x48]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, ebx
add rsp, 0x78
pop r15
pop r14
pop r12
pop rbx
ret