Function at 0x1401022e0
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 [0x140293028]
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.140185648
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 0x1401026f5
mov dword [rbp - 0x10], ecx
xor eax, eax
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x20]
call fcn.1401011b0
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 0x140102719
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
sub rcx, rdx
mov eax, ecx
cmp rax, rcx
jne 0x1401026ce
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 0x1401027b1
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 0x140102471
test rcx, rcx
jne 0x140102428
call fcn.1401ba450
mov dword [rax], 0x16
jmp 0x14010246b
test rsi, rsi
je 0x14010243f
cmp rdi, rbx
jb 0x14010243f
mov r8, rbx
mov rdx, rsi
call fcn.1401a9040
jmp 0x140102471
mov r8, rdi
xor edx, edx
call fcn.1401a8d80
test rsi, rsi
jne 0x14010245b
call fcn.1401ba450
mov dword [rax], 0x16
jmp 0x14010246b
cmp rdi, rbx
jae 0x140102471
call fcn.1401ba450
mov dword [rax], 0x22
call fcn.1401b3be0
nop
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140102480
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 0x140102734
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
sub rcx, rdx
mov eax, ecx
cmp rax, rcx
jne 0x140102786
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 0x14010275b
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 0x140102567
test rcx, rcx
je 0x140102557
mov rdx, qword [rbp]
mov r8, rbx
test rdx, rdx
je 0x140102552
call fcn.1401a9040
jmp 0x140102567
call fcn.1401a8d80
call fcn.1401ba450
mov dword [rax], 0x16
call fcn.1401b3be0
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 0x1401025e3
test rcx, rcx
jne 0x140102597
call fcn.1401ba450
mov dword [rax], 0x16
jmp 0x1401025dd
test rsi, rsi
je 0x1401025b1
cmp rbx, rdi
jb 0x1401025b1
lfence
mov r8, rdi
mov rdx, rsi
call fcn.1401a9040
jmp 0x1401025e3
mov r8, rbx
xor edx, edx
call fcn.1401a8d80
test rsi, rsi
jne 0x1401025cd
call fcn.1401ba450
mov dword [rax], 0x16
jmp 0x1401025dd
cmp rbx, rdi
jae 0x1401025e3
call fcn.1401ba450
mov dword [rax], 0x22
call fcn.1401b3be0
nop
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1401025f3
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
nop
mov rdi, qword [rbp + 0x20]
cmp rdi, qword [rbp + 0x28]
je 0x14010260c
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 0x140102655
mov rdx, qword [rbp + 0x30]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x14010263d
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14010274f
mov rcx, rdi
call fcn.1401853a0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 0
mov rdi, qword [rbp]
cmp rdi, qword [rbp + 8]
je 0x14010266a
mov rcx, qword [rbp + 0x10]
sub rcx, rdi
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp]
test rdi, rdi
je 0x1401026a7
mov rdx, qword [rbp + 0x10]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x14010269f
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140102755
mov rcx, rdi
call fcn.1401853a0
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.140185380
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.1400642c0
lea rdx, [0x14028fe68]
lea rcx, [rbp - 0x80]
call fcn.1401a8f20
nop
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x68]
call fcn.1400642c0
lea rdx, [0x14028fe68]
lea rcx, [rbp - 0x68]
call fcn.1401a8f20
nop
lea rdx, str.CreateSessionKey:_CryptCreateHash_failed
lea rcx, [rbp - 0x50]
call fcn.140010040
nop
lea rcx, [rbp - 0x50]
call fcn.140030650
nop
lea rdx, str.CreateSessionKey:_CryptCreateHash_failed
lea rcx, [rbp - 0x30]
call fcn.140010040
nop
lea rcx, [rbp - 0x30]
call fcn.140030650
nop
call fcn.1401b3c00
nop
call fcn.1401b3c00
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x38]
call fcn.1400642c0
lea rdx, [0x14028fe68]
lea rcx, [rsp + 0x38]
call fcn.1401a8f20
int3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x50]
call fcn.1400642c0
lea rdx, [0x14028fe68]
lea rcx, [rsp + 0x50]
call fcn.1401a8f20
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x68]
call fcn.1400642c0
lea rdx, [0x14028fe68]
lea rcx, [rsp + 0x68]
call fcn.1401a8f20
int3