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

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov ebx, r8d
mov rdi, rdx
xor esi, esi
lea rcx, [rbp - 0x18]
lea r9d, [rsi + 0x18]
xor r8d, r8d
xor edx, edx
mov dword [rbp - 0x2c], 0x10
mov dword [rsp + 0x20], 0xf0000000
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x180010f5a
mov rcx, qword [rbp - 0x18]
lea rax, [rbp - 0x20]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8004
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x180010f4e
mov rcx, qword [rbp - 0x20]
and dword [rsp + 0x20], esi
lea r9, [rbp - 0x30]
lea edx, [rsi + 2]
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
je 0x180010f44
lea r13d, [rsi + 0x40]
lea rdx, [rbx + 4]
mov r15d, ebx
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r14, rax
mov qword [rbp - 0x10], rax
test rax, rax
je 0x180010f44
mov edx, dword [rbp - 0x30]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r12, rax
test rax, rax
je 0x180010f3b
mov edx, dword [rbp - 0x30]
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r13, rax
test rax, rax
je 0x180010f32
mov r8d, ebx
mov rdx, rdi
mov rcx, r14
mov esi, 1
call fcn.180026930
lea ecx, [rbx + 4]
mov ebx, dword [rbp - 0x2c]
mov eax, esi
mov dword [rbp - 0x24], ecx
mov dword [rbp - 0x28], eax
mov rdx, qword [rbp + 0x40]
bswap eax
mov r9, r14
mov dword [r15 + r14], eax
mov eax, dword [rbp - 0x30]
mov r8d, 0x10
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], ecx
mov ecx, 0x8004
call fcn.180010bc4
mov r8d, dword [rbp - 0x30]
mov rdx, r13
mov rcx, r12
call fcn.180026930
mov eax, dword [rbp + 0x58]
mov edi, dword [rbp - 0x30]
cmp eax, esi
jbe 0x180010ef4
mov r14, qword [rbp + 0x40]
lea ebx, [rax - 1]
mov dword [rsp + 0x30], edi
mov r9, r13
mov r8d, 0x10
mov rdx, r14
mov ecx, 0x8004
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], edi
call fcn.180010bc4
mov edi, dword [rbp - 0x30]
xor r11d, r11d
test edi, edi
je 0x180010ee8
mov rdx, r13
mov rcx, r12
sub rdx, r12
mov al, byte [rdx + rcx]
add r11d, esi
xor byte [rcx], al
mov edi, dword [rbp - 0x30]
add rcx, rsi
cmp r11d, edi
jb 0x180010ed5
sub rbx, rsi
jne 0x180010e9f
mov r14, qword [rbp - 0x10]
mov ebx, dword [rbp - 0x2c]
mov rcx, qword [rbp + 0x60]
cmp ebx, edi
mov rdx, r12
cmovb edi, ebx
mov r8d, edi
mov ebx, edi
call fcn.180026930
add qword [rbp + 0x60], rbx
mov ebx, dword [rbp - 0x2c]
mov eax, dword [rbp - 0x28]
mov ecx, dword [rbp - 0x24]
sub ebx, edi
add eax, esi
mov dword [rbp - 0x2c], ebx
mov dword [rbp - 0x28], eax
test ebx, ebx
jne 0x180010e52
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rbp - 0x18]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, esi
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret