Function at 0x14008efe0
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha384
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov ebp, r9d
mov r10, r8
mov rsi, rcx
test rcx, rcx
je 0x14008f477
test r8, r8
jne 0x14008f01c
test r9d, r9d
jne 0x14008f477
lea eax, [rdx - 3]
cmp eax, 5
jbe 0x14008f030
lea eax, [rdx - 0xa]
cmp eax, 3
ja 0x14008f477
mov byte [rcx + 0x229], 0
mov byte [rcx + 0x228], dl
call fcn.14008ede0
mov edi, eax
test eax, eax
jne 0x14008f47c
lea rbx, [rcx + 0xe0]
xor r12d, r12d
lea r13, [rcx + 0x160]
movzx ecx, byte [rcx + 0x228]
sub ecx, 3
je 0x14008f273
sub ecx, 1
je 0x14008f22e
sub ecx, 2
je 0x14008f1e0
sub ecx, 1
je 0x14008f0fb
cmp ecx, 1
jne 0x14008f477
mov r15d, 0x80
cmp ebp, r15d
ja 0x14008f0b4
test r10, r10
je 0x14008f361
mov r8, rbp
mov rdx, r10
mov rcx, rbx
call fcn.1400fb190
jmp 0x14008f361
test r10, r10
je 0x14008f0ef
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400b2a10
mov edi, eax
test eax, eax
jne 0x14008f359
mov rdx, rbx
mov rcx, rsi
call fcn.1400b2cd0
mov edi, eax
test eax, eax
jne 0x14008f359
lea r14d, [rax + 0x40]
jmp 0x14008f369
mov edi, 0xffffff53
mov eax, edi
jmp 0x14008f47c
mov r15d, 0x80
cmp ebp, r15d
jbe 0x14008f098
test r10, r10
je 0x14008f0ef
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400b2a10
mov edi, eax
test eax, eax
jne 0x14008f359
test rbx, rbx
je 0x14008f0ef
mov rcx, rsi
call fcn.1400b2bb0
mov edi, eax
test eax, eax
jne 0x14008f473
movups xmm0, xmmword [rsi]
movabs rax, 0xcbbb9d5dc1059ed8
lea r14d, [r15 - 0x50]
mov edi, r12d
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rbx + 0x20], xmm0
mov qword [rsi], rax
movabs rax, 0x629a292a367cd507
mov qword [rsi + 8], rax
movabs rax, 0x9159015a3070dd17
mov qword [rsi + 0x10], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rsi + 0x18], rax
movabs rax, 0x67332667ffc00b31
mov qword [rsi + 0x20], rax
movabs rax, 0x8eb44a8768581511
mov qword [rsi + 0x28], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rsi + 0x30], rax
movabs rax, 0x47b5481dbefa4fa4
mov qword [rsi + 0x38], rax
mov dword [rsi + 0xc0], r12d
mov qword [rsi + 0xc8], r12
mov qword [rsi + 0xd0], r12
jmp 0x14008f369
mov r15d, 0x40
cmp ebp, r15d
jbe 0x14008f098
test r10, r10
je 0x14008f0ef
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400bcfb0
mov edi, eax
test eax, eax
jne 0x14008f359
mov rdx, rbx
mov rcx, rsi
call fcn.1400bd950
mov edi, eax
test eax, eax
jne 0x14008f359
lea r14d, [r15 - 0x20]
jmp 0x14008f369
mov r15d, 0x40
cmp ebp, r15d
jbe 0x14008f098
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400af930
mov edi, eax
test eax, eax
jne 0x14008f359
mov rdx, rbx
mov rcx, rsi
call fcn.1400afdd0
mov edi, eax
test eax, eax
jne 0x14008f359
lea r14d, [r15 - 0x2c]
jmp 0x14008f369
mov r14d, 0x40
mov r15d, r14d
cmp ebp, r14d
jbe 0x14008f098
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400c2200
mov edi, eax
test eax, eax
jne 0x14008f359
test rbx, rbx
je 0x14008f0ef
mov eax, dword [rsi]
lea rdi, [rsi + 0xc]
mov byte [rax + rdi], 0x80
mov ecx, dword [rsi]
inc ecx
mov dword [rsi], ecx
cmp ecx, 0x38
jbe 0x14008f2df
mov r8d, r14d
xor edx, edx
sub r8d, ecx
add rcx, rdi
call fcn.1400fb830
mov rdx, rdi
mov dword [rsi], r14d
mov rcx, rsi
call fcn.1400c1a10
mov ecx, r12d
mov dword [rsi], r12d
mov r8d, 0x38
xor edx, edx
sub r8d, ecx
add rcx, rdi
call fcn.1400fb830
mov r8d, dword [rsi + 4]
mov rdx, rdi
mov ecx, dword [rsi + 8]
mov eax, r8d
shr eax, 0x1d
lea eax, [rax + rcx*8]
mov rcx, rsi
mov dword [rsi + 8], eax
lea eax, [r8*8]
mov dword [rsi + 4], eax
mov dword [rdi + 0x38], eax
mov eax, dword [rsi + 8]
mov dword [rdi + 0x3c], eax
call fcn.1400c1a10
movups xmm0, xmmword [rsi + 0x4c]
mov edi, r12d
mov r14d, reloc.WS2_32.dll_recv
movups xmmword [rbx], xmm0
mov dword [rsi + 0x4c], 0x67452301
mov dword [rsi + 0x50], 0xefcdab89
mov dword [rsi + 0x54], 0x98badcfe
mov dword [rsi + 0x58], 0x10325476
mov qword [rsi], r12
mov dword [rsi + 8], r12d
jmp 0x14008f369
test edi, edi
jne 0x14008f473
mov r14d, ebp
cmp ebp, r15d
jae 0x14008f37c
mov r8d, r15d
mov ecx, r14d
sub r8d, r14d
add rcx, rbx
xor edx, edx
call fcn.1400fb830
lea eax, [r15 - 1]
lea rdx, [rax + rbx]
add rax, r13
cmp rbx, rax
ja 0x14008f3bd
cmp rdx, r13
jb 0x14008f3bd
cmp r12d, r15d
jae 0x14008f473
mov ecx, r15d
nop dword [rax]
movzx eax, byte [rbx]
lea rbx, [rbx + 1]
xor al, 0x5c
mov byte [rbx + 0x7f], al
xor byte [rbx - 1], 0x36
sub rcx, 1
jne 0x14008f3a0
mov eax, edi
jmp 0x14008f47c
movdqa xmm3, xmmword [0x140115990]
mov edx, 0x20
movdqa xmm4, xmmword [0x1401158f0]
nop dword [rax]
nop word [rax + rax]
mov eax, r12d
movdqa xmm0, xmm3
movdqa xmm1, xmm4
add r12d, 0x40
movdqu xmm2, xmmword [rbx + rax]
xorps xmm0, xmm2
xorps xmm1, xmm2
movdqu xmmword [rbx + rax], xmm1
movdqu xmmword [rax + r13], xmm0
lea eax, [rdx - 0x10]
movdqa xmm0, xmm3
movdqa xmm1, xmm4
movdqu xmm2, xmmword [rax + rbx]
xorps xmm0, xmm2
xorps xmm1, xmm2
movdqu xmmword [rax + rbx], xmm1
movdqu xmmword [rax + r13], xmm0
mov eax, edx
movdqa xmm0, xmm3
movdqa xmm1, xmm4
movdqu xmm2, xmmword [rax + rbx]
xorps xmm0, xmm2
xorps xmm1, xmm2
movdqu xmmword [rax + rbx], xmm1
movdqu xmmword [rax + r13], xmm0
lea eax, [rdx + 0x10]
add edx, 0x40
movdqa xmm0, xmm3
movdqa xmm1, xmm4
movdqu xmm2, xmmword [rax + rbx]
xorps xmm0, xmm2
xorps xmm1, xmm2
movdqu xmmword [rax + r13], xmm0
movdqu xmmword [rax + rbx], xmm1
cmp r12d, r15d
jb 0x14008f3e0
mov eax, edi
jmp 0x14008f47c
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret