Function at 0x1400500d0
Capabilities:
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x14015a010]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov r13, r9
mov rdi, r8
mov r15, rdx
mov r12, qword [rbp + 0xa0]
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
xor ebx, ebx
mov qword [rbp + 0x10], rbx
lea ecx, [rbx + 0x10]
call fcn.1400c5c48
mov qword [rbp], rax
lea rcx, [rax + 0x10]
mov qword [rbp + 0x10], rcx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rbp + 8], rcx
sub rcx, qword [rbp]
mov eax, ecx
cmp rax, rcx
jne 0x1400504e5
mov dword [rbp - 0x10], ecx
xor eax, eax
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x20]
call fcn.14004efa0
nop
mov qword [rbp + 0x18], rbx
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8003
mov rcx, qword [r15]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x140050509
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
sub rcx, rdx
mov eax, ecx
cmp rax, rcx
jne 0x1400504be
xor r9d, r9d
mov r8d, ecx
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov r14, qword [rdi + 8]
mov eax, r14d
cmp rax, r14
jne 0x1400505a1
mov rax, qword [rdi]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov r8d, r14d
mov rdx, rax
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov dword [rsp + 0x20], ebx
lea r9, [rbp - 0x10]
mov r8, qword [rbp]
lea edx, [rbx + 2]
mov rcx, qword [rbp + 0x18]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
mov ebx, dword [rbp - 0x10]
mov rsi, qword [rbp]
mov rcx, qword [r13]
mov rdi, qword [r13 + 8]
sub rdi, rcx
test rbx, rbx
je 0x140050261
test rcx, rcx
jne 0x140050218
call fcn.1400dbe44
mov dword [rax], 0x16
jmp 0x14005025b
test rsi, rsi
je 0x14005022f
cmp rdi, rbx
jb 0x14005022f
mov r8, rbx
mov rdx, rsi
call fcn.1400cb9c0
jmp 0x140050261
mov r8, rdi
xor edx, edx
call fcn.1400cb730
test rsi, rsi
jne 0x14005024b
call fcn.1400dbe44
mov dword [rax], 0x16
jmp 0x14005025b
cmp rdi, rbx
jae 0x140050261
call fcn.1400dbe44
mov dword [rax], 0x22
call fcn.1400da6d8
nop
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140050270
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edi, edi
mov qword [rbp - 8], rdi
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8003
mov rcx, qword [r15]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x140050524
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
sub rcx, rdx
mov eax, ecx
cmp rax, rcx
jne 0x140050576
xor r9d, r9d
mov r8d, ecx
mov rcx, qword [rbp - 8]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
sub rcx, rdx
mov eax, ecx
cmp rax, rcx
jne 0x14005054b
xor r9d, r9d
mov r8d, ecx
mov rcx, qword [rbp - 8]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
xor r9d, r9d
mov r8d, r14d
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rbp - 8]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov dword [rsp + 0x20], edi
lea r9, [rbp - 0x10]
mov r8, qword [rbp]
lea edx, [rdi + 2]
mov rcx, qword [rbp - 8]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
mov eax, dword [rbp - 0x10]
mov ebx, 0x18
sub rbx, rax
mov rcx, qword [r13]
lea rcx, [rcx + 0x10]
je 0x140050357
test rcx, rcx
je 0x140050347
mov rdx, qword [rbp]
mov r8, rbx
test rdx, rdx
je 0x140050342
call fcn.1400cb9c0
jmp 0x140050357
call fcn.1400cb730
call fcn.1400dbe44
mov dword [rax], 0x16
call fcn.1400da6d8
mov edi, dword [rbp - 0x10]
sub rdi, rbx
mov rsi, qword [rbp]
add rsi, rbx
mov rcx, qword [r12]
mov rbx, qword [r12 + 8]
sub rbx, rcx
test rdi, rdi
je 0x1400503d3
test rcx, rcx
jne 0x140050387
call fcn.1400dbe44
mov dword [rax], 0x16
jmp 0x1400503cd
test rsi, rsi
je 0x1400503a1
cmp rbx, rdi
jb 0x1400503a1
lfence
mov r8, rdi
mov rdx, rsi
call fcn.1400cb9c0
jmp 0x1400503d3
mov r8, rbx
xor edx, edx
call fcn.1400cb730
test rsi, rsi
jne 0x1400503bd
call fcn.1400dbe44
mov dword [rax], 0x16
jmp 0x1400503cd
cmp rbx, rdi
jae 0x1400503d3
call fcn.1400dbe44
mov dword [rax], 0x22
call fcn.1400da6d8
nop
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400503e3
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
nop
mov rdi, qword [rbp + 0x20]
cmp rdi, qword [rbp + 0x28]
je 0x1400503fc
mov rcx, qword [rbp + 0x30]
sub rcx, rdi
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x20]
test rdi, rdi
je 0x140050445
mov rdx, qword [rbp + 0x30]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005042d
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005053f
mov rcx, rdi
call fcn.1400c59a0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 0
mov rdi, qword [rbp]
cmp rdi, qword [rbp + 8]
je 0x14005045a
mov rcx, qword [rbp + 0x10]
sub rcx, rdi
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp]
test rdi, rdi
je 0x140050497
mov rdx, qword [rbp + 0x10]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005048f
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050545
mov rcx, rdi
call fcn.1400c59a0
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.1400c5980
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rax
lea rcx, [rbp - 0x80]
call fcn.14002b450
lea rdx, [0x140156a60]
lea rcx, [rbp - 0x80]
call fcn.1400cb8d0
nop
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x68]
call fcn.14002b450
lea rdx, [0x140156a60]
lea rcx, [rbp - 0x68]
call fcn.1400cb8d0
nop
lea rdx, str.CreateSessionKey:_CryptCreateHash_failed
lea rcx, [rbp - 0x50]
call fcn.14000c390
nop
lea rcx, [rbp - 0x50]
call fcn.14001e7f0
nop
lea rdx, str.CreateSessionKey:_CryptCreateHash_failed
lea rcx, [rbp - 0x30]
call fcn.14000c390
nop
lea rcx, [rbp - 0x30]
call fcn.14001e7f0
nop
call fcn.1400da6f8
nop
call fcn.1400da6f8
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x38]
call fcn.14002b450
lea rdx, [0x140156a60]
lea rcx, [rsp + 0x38]
call fcn.1400cb8d0
int3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x50]
call fcn.14002b450
lea rdx, [0x140156a60]
lea rcx, [rsp + 0x50]
call fcn.1400cb8d0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x68]
call fcn.14002b450
lea rdx, [0x140156a60]
lea rcx, [rsp + 0x68]
call fcn.1400cb8d0
int3