Function at 0x1400a4810
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha384

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 r8d, edx
mov rsi, rcx
test rcx, rcx
je 0x1400a4bef
test r10, r10
jne 0x1400a484f
test r9d, r9d
jne 0x1400a4bef
lea eax, [rdx - 3]
cmp eax, 5
jbe 0x1400a4863
lea eax, [rdx - 0xa]
cmp eax, 3
ja 0x1400a4bef
cmp byte [rcx + 0x228], 0
je 0x1400a4871
call fcn.1400a5090
mov edx, r8d
mov byte [rsi + 0x229], 0
mov rcx, rsi
mov byte [rsi + 0x228], r8b
call fcn.1400a4610
mov edi, eax
test eax, eax
jne 0x1400a4bf4
movzx ecx, byte [rsi + 0x228]
lea rbx, [rsi + 0xe0]
xor r15d, r15d
lea r12, [rsi + 0x160]
lea r13d, [rax + 0x20]
sub ecx, 3
je 0x1400a4ab2
sub ecx, 1
je 0x1400a4a77
sub ecx, 2
je 0x1400a4a2e
sub ecx, 1
je 0x1400a4948
cmp ecx, 1
jne 0x1400a4bef
mov r14d, 0x80
cmp ebp, r14d
ja 0x1400a4900
test r10, r10
je 0x1400a4af5
mov r8, rbp
mov rdx, r10
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400a4af5
test r10, r10
je 0x1400a493c
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400ccce0
mov edi, eax
test eax, eax
jne 0x1400a4aed
mov rdx, rbx
mov rcx, rsi
call fcn.1400ccfc0
mov edi, eax
test eax, eax
jne 0x1400a4aed
mov ecx, 0x40
jmp 0x1400a4afd
mov edi, 0xffffff53
mov eax, edi
jmp 0x1400a4bf4
mov r14d, 0x80
cmp ebp, r14d
jbe 0x1400a48e4
test r10, r10
je 0x1400a493c
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400ccce0
mov edi, eax
test eax, eax
jne 0x1400a4aed
test rbx, rbx
je 0x1400a493c
mov rcx, rsi
call fcn.1400cce80
mov edi, eax
test eax, eax
jne 0x1400a4beb
movups xmm0, xmmword [rsi]
movabs rax, 0xcbbb9d5dc1059ed8
mov ecx, 0x30
mov edi, r15d
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], r15d
mov qword [rsi + 0xc8], r15
mov qword [rsi + 0xd0], r15
jmp 0x1400a4afd
mov r14d, 0x40
cmp ebp, r14d
jbe 0x1400a48e4
test r10, r10
je 0x1400a493c
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400d7c30
mov edi, eax
test eax, eax
jne 0x1400a4aed
mov rdx, rbx
mov rcx, rsi
call fcn.1400d85e0
mov edi, eax
test eax, eax
jne 0x1400a4aed
mov ecx, r13d
jmp 0x1400a4afd
mov r14d, 0x40
cmp ebp, r14d
jbe 0x1400a48e4
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400c9880
mov edi, eax
test eax, eax
jne 0x1400a4aed
mov rdx, rbx
mov rcx, rsi
call fcn.1400c9d20
mov edi, eax
test eax, eax
jne 0x1400a4aed
mov ecx, reloc.WS2_32.dll_sendto
jmp 0x1400a4afd
mov r14d, 0x40
cmp ebp, r14d
jbe 0x1400a48e4
mov r8d, ebp
mov rdx, r10
mov rcx, rsi
call fcn.1400dcfa0
mov edi, eax
test eax, eax
jne 0x1400a4aed
mov rdx, rbx
mov rcx, rsi
call fcn.1400dd110
mov edi, eax
test eax, eax
jne 0x1400a4aed
mov ecx, reloc.WS2_32.dll_recv
jmp 0x1400a4afd
test edi, edi
jne 0x1400a4beb
mov rcx, rbp
cmp ebp, r14d
jae 0x1400a4b0d
mov r8d, r14d
xor edx, edx
sub r8d, ecx
add rcx, rbx
call sub.VCRUNTIME140.dll_memset
lea eax, [r14 - 1]
lea rdx, [rax + rbx]
add rax, r12
cmp rbx, rax
ja 0x1400a4b4d
cmp rdx, r12
jb 0x1400a4b4d
cmp r15d, r14d
jae 0x1400a4beb
mov ecx, r14d
nop
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 0x1400a4b30
mov eax, edi
jmp 0x1400a4bf4
movdqa xmm3, xmmword [0x140534380]
movdqa xmm4, xmmword [0x1405342e0]
nop dword [rax]
mov eax, r15d
add r15d, 0x40
movdqu xmm1, xmmword [rax + rbx]
movdqa xmm0, xmm1
xorps xmm1, xmm4
movdqu xmmword [rax + rbx], xmm1
xorps xmm0, xmm3
movdqu xmmword [rax + r12], xmm0
lea eax, [r13 - 0x10]
movdqu xmm1, xmmword [rax + rbx]
movdqa xmm0, xmm1
xorps xmm1, xmm4
movdqu xmmword [rax + rbx], xmm1
xorps xmm0, xmm3
movdqu xmmword [rax + r12], xmm0
mov eax, r13d
movdqu xmm1, xmmword [rax + rbx]
movdqa xmm0, xmm1
xorps xmm1, xmm4
movdqu xmmword [rax + rbx], xmm1
xorps xmm0, xmm3
movdqa xmm1, xmm4
movdqu xmmword [rax + r12], xmm0
lea eax, [r13 + 0x10]
add r13d, 0x40
movdqa xmm0, xmm3
movdqu xmm2, xmmword [rax + rbx]
xorps xmm0, xmm2
xorps xmm1, xmm2
movdqu xmmword [rax + r12], xmm0
movdqu xmmword [rax + rbx], xmm1
cmp r15d, r14d
jb 0x1400a4b60
mov eax, edi
jmp 0x1400a4bf4
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