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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r12
sub rsp, 0xc0
xor ebx, ebx
xor eax, eax
mov rsi, rdx
mov byte [rsp + 0x48], bl
mov qword [r11 - 0x7f], rax
lea rdx, [r11 - 0x48]
movaps xmmword [r11 - 0x18], xmm6
mov rcx, r9
mov dword [rsp + 0x51], eax
mov word [rsp + 0x55], ax
mov byte [rsp + 0x57], al
mov r12, r9
mov edi, r8d
mov ebp, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], ebx
call fcn.18006bc60
lea rdx, [rsp + 0x90]
mov rcx, r12
movdqu xmm6, xmmword [rax]
call fcn.180029390
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0xa0]
mov rcx, r12
movdqa xmmword [rsp + 0x60], xmm6
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x70], xmm0
call fcn.18006bb30
lea r9d, [rbx + 1]
lea rcx, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0xf0000000
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
cmp eax, ebx
jne 0x1800cf85e
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
jmp 0x1800cf9c1
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8003
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
cmp eax, ebx
jne 0x1800cf897
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x40]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x1800cf857
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
cmp eax, ebx
jne 0x1800cf8cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x40]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
jmp 0x1800cf857
mov rcx, qword [rsp + 0x38]
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x48]
mov edx, 2
mov dword [rsp + 0x30], socket
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
cmp eax, ebx
je 0x1800cf99a
cmp dword [rsp + 0x30], 0x10
jne 0x1800cf993
mov edi, 0x21
mov rcx, rdi
call fcn.1800d04fc
mov r8, rdi
xor edx, edx
mov rcx, rax
mov rsi, rax
call fcn.1800d7640
mov rdx, rbx
lea rdi, str.0123456789abcdef
movzx eax, byte [rsp + rdx + 0x48]
shr eax, 4
cmp eax, 0xf
ja 0x1800cf941
mov cl, byte [rax + rdi]
jmp 0x1800cf943
mov cl, 0x3f
mov byte [rsi + rdx*2], cl
movsx eax, byte [rsp + rdx + 0x48]
and eax, 0xf
cmp eax, 0xf
ja 0x1800cf95a
cdqe
mov cl, byte [rax + rdi]
jmp 0x1800cf95c
mov cl, 0x3f
mov byte [rsi + rdx*2 + 1], cl
inc rdx
cmp rdx, 0x10
jl 0x1800cf92f
or rcx, 0xffffffffffffffff
xor eax, eax
mov byte [rsi + 0x20], bl
mov rdi, rsi
mov rdx, rsi
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r12
call fcn.180003768
mov rcx, rsi
call fcn.1800d1434
jmp 0x1800cf9a2
mov ebp, 1
jmp 0x1800cf9a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rsp + 0x40]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
cmp ebp, ebx
sete bl
mov eax, ebx
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r12
ret