Function at 0x14019a548
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha256

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rax, qword [0x140448b38]
xor rax, rsp
mov qword [rbp + 0x17], rax
xor ebx, ebx
mov dword [rsp + 0x28], r8d
mov esi, r8d
mov r14, rdx
mov rdi, rcx
cmp qword [rdx], rbx
jne 0x14019a5bb
test r8d, r8d
je 0x14019a5c0
mov ebx, 0x80070057
mov ecx, ebx
call fcn.140082a8c
mov ecx, ebx
call fcn.140082b34
mov eax, ebx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140389660
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r8d, r8d
je 0x14019a587
mov ecx, dword [rcx]
sub ecx, 1
je 0x14019a5e9
cmp ecx, 1
jne 0x14019a5fc
lea r9d, [rcx + 7]
lea r8, [0x1403ecd30]
mov rcx, rdi
call fcn.14019a4cc
mov ebx, eax
test eax, eax
jns 0x14019a5f8
mov ecx, eax
jmp 0x14019a58e
mov r9d, 5
lea r8, [0x1403ecc18]
jmp 0x14019a5d7
mov esi, dword [rsp + 0x28]
test esi, esi
je 0x14019a593
movups xmm0, xmmword [r14]
cmp esi, 0x40
jbe 0x14019a672
mov r8d, esi
lea rdx, [rsp + 0x30]
mov rcx, rdi
movdqu xmmword [rsp + 0x30], xmm0
call fcn.14019a83c
mov ebx, eax
test eax, eax
js 0x14019a5e5
lea r8, [rsp + 0x28]
mov dword [rsp + 0x28], 0x40
lea rdx, [rbp - 0x69]
mov rcx, rdi
call fcn.14019aad4
mov ebx, eax
test eax, eax
js 0x14019a5e5
and qword [rbp - 0x79], 0
lea rdx, [rsp + 0x30]
and dword [rbp - 0x71], 0
xor r8d, r8d
movaps xmm0, xmmword [rbp - 0x79]
mov rcx, rdi
movdqa xmmword [rsp + 0x30], xmm0
call fcn.14019a548
mov ebx, eax
test eax, eax
jns 0x14019a6ce
jmp 0x14019a5e5
movq qword [rbp - 0x79], xmm0
lea r12, [rbp - 0x69]
psrldq xmm0, 8
xor r14d, r14d
movd ebx, xmm0
mov r15d, esi
mov dword [rbp - 0x71], ebx
test esi, esi
je 0x14019a6d2
movaps xmm1, xmmword [rbp - 0x79]
lea r8, [rsp + 0x20]
movdqa xmm0, xmm1
inc ebx
psrldq xmm0, 8
movq rcx, xmm1
movd edx, xmm0
mov dword [rbp - 0x71], ebx
call fcn.14018f20c
inc r14d
mov cl, byte [rax]
xor cl, byte [rsp + 0x20]
mov byte [r12], cl
inc r12
mov eax, r14d
cmp rax, r15
jb 0x14019a691
mov esi, dword [rsp + 0x28]
mov r8d, esi
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x29]
mov r14d, esi
call sub.msvcrt.dll_memcpy
mov eax, 0x40
lea rcx, [rbp - 0x69]
sub eax, esi
add rcx, r14
mov r8d, eax
mov edx, 0x36
mov ebx, eax
call sub.msvcrt.dll_memset
lea rcx, [rbp - 0x29]
mov r8d, ebx
add rcx, r14
mov edx, 0x5c
call sub.msvcrt.dll_memset
test esi, esi
je 0x14019a72f
xor eax, eax
xor byte [rbp + rax - 0x69], 0x36
xor byte [rbp + rax - 0x29], 0x5c
inc rax
sub r14, 1
jne 0x14019a71c
and dword [rsp + 0x38], 0
lea rax, [rbp - 0x29]
and dword [rbp - 0x71], 0
lea rdx, [rsp + 0x30]
mov qword [rbp - 0x79], rax
mov r8d, 0x40
mov rax, qword [0x1404524a8]
mov ecx, dword [rax]
lea rax, [rbp - 0x79]
add rax, rcx
mov rcx, rdi
mov qword [rsp + 0x30], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.14019a83c
mov ebx, eax
test eax, eax
js 0x14019a5e5
movups xmm0, xmmword [rdi + 0x54]
and qword [rsp + 0x30], 0
xor r8d, r8d
movups xmm1, xmmword [rdi + 0x64]
and dword [rsp + 0x38], 0
lea rdx, [rsp + 0x30]
movups xmmword [rdi + 0x9c], xmm0
mov rcx, rdi
movups xmm0, xmmword [rdi + 0x74]
movups xmmword [rdi + 0xac], xmm1
movups xmm1, xmmword [rdi + 0x84]
movups xmmword [rdi + 0xbc], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movups xmmword [rdi + 0xcc], xmm1
call fcn.14019a548
mov ebx, eax
test eax, eax
js 0x14019a5e5
and dword [rsp + 0x38], 0
lea rax, [rbp - 0x69]
and dword [rbp - 0x71], 0
lea rdx, [rsp + 0x30]
mov qword [rbp - 0x79], rax
mov r8d, 0x40
mov rax, qword [0x1404524a8]
mov ecx, dword [rax]
lea rax, [rbp - 0x79]
add rax, rcx
mov rcx, rdi
mov qword [rsp + 0x30], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.14019a83c
mov ebx, eax
test eax, eax
js 0x14019a5e5
mov byte [rdi + 0x9a], 1
jmp 0x14019a593