Function at 0x1401a51e0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xf0
mov rax, qword [0x1405fa008]
xor rax, rsp
mov qword [rbp + 0x37], rax
xor ebx, ebx
mov qword [rbp - 0x61], rdx
mov esi, r8d
mov rdi, rcx
mov qword [rbp - 0x71], rcx
mov dword [rbp - 0x79], r8d
cmp qword [rdx], rbx
jne 0x1401a5254
test r8d, r8d
je 0x1401a5259
mov ebx, 0x80070057
mov ecx, ebx
call fcn.14003e600
mov ecx, ebx
call fcn.14006a86c
mov eax, ebx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14001af10
mov rbx, qword [rsp + 0x128]
add rsp, 0xf0
pop rdi
pop rsi
pop rbp
ret
test r8d, r8d
je 0x1401a5220
mov ecx, dword [rcx]
sub ecx, 1
je 0x1401a5277
cmp ecx, 1
jne 0x1401a5288
mov rcx, rdi
call fcn.1401a492c
mov ebx, eax
test eax, eax
jns 0x1401a5281
mov ecx, eax
jmp 0x1401a5227
mov rcx, rdi
call fcn.1401a4724
jmp 0x1401a526d
mov esi, dword [rbp - 0x79]
mov rdx, qword [rbp - 0x61]
test esi, esi
je 0x1401a522c
movups xmm0, xmmword [rdx]
cmp esi, 0x40
jbe 0x1401a52fe
mov r8d, esi
lea rdx, [rsp + 0x20]
mov rcx, rdi
movdqu xmmword [rsp + 0x20], xmm0
call fcn.1401a558c
mov ebx, eax
test eax, eax
js 0x1401a5273
lea r8, [rbp - 0x79]
mov dword [rbp - 0x79], 0x40
lea rdx, [rbp - 0x49]
mov rcx, rdi
call fcn.1401a4d18
mov ebx, eax
test eax, eax
js 0x1401a5273
and qword [rsp + 0x20], 0
lea rdx, [rsp + 0x20]
and dword [rsp + 0x28], 0
xor r8d, r8d
movaps xmm0, xmmword [rsp + 0x20]
mov rcx, rdi
movdqa xmmword [rsp + 0x20], xmm0
call fcn.1401a51e0
mov ebx, eax
test eax, eax
jns 0x1401a5359
jmp 0x1401a5273
and dword [rbp - 0x61], 0
movq qword [rsp + 0x20], xmm0
psrldq xmm0, 8
movd ebx, xmm0
mov ecx, esi
mov dword [rsp + 0x28], ebx
test esi, esi
je 0x1401a535c
lea rdi, [rbp - 0x49]
mov esi, ecx
movaps xmm1, xmmword [rsp + 0x20]
inc ebx
movdqa xmm0, xmm1
mov dword [rsp + 0x28], ebx
psrldq xmm0, 8
movq rcx, xmm1
movd edx, xmm0
call fcn.14019cbe0
mov byte [rdi], al
inc rdi
mov eax, dword [rbp - 0x61]
inc eax
mov dword [rbp - 0x61], eax
cmp rax, rsi
jb 0x1401a5321
mov rdi, qword [rbp - 0x71]
mov esi, dword [rbp - 0x79]
mov eax, esi
lea rdx, [rbp - 0x49]
mov r8d, esi
lea rcx, [rbp - 9]
mov qword [rbp - 0x71], rax
call sub.msvcrt.dll_memcpy
mov ebx, 0x40
mov eax, esi
sub ebx, esi
lea rcx, [rbp - 0x49]
mov r8d, ebx
add rcx, rax
mov edx, 0x36
call fcn.14001ba6e
mov eax, esi
lea rcx, [rbp - 9]
add rcx, rax
mov r8d, ebx
mov edx, 0x5c
call fcn.14001ba6e
test esi, esi
je 0x1401a53c6
mov rcx, qword [rbp - 0x71]
xor esi, esi
mov eax, esi
xor byte [rbp + rax - 0x49], 0x36
xor byte [rbp + rax - 9], 0x5c
inc rax
sub rcx, 1
jne 0x1401a53b1
jmp 0x1401a53c8
xor esi, esi
lea rax, [rbp - 9]
mov dword [rbp - 0x69], esi
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x71], rax
call fcn.14019c7b8
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x28], esi
mov r8d, 0x40
movaps xmm0, xmmword [rsp + 0x20]
mov rcx, rdi
movdqa xmmword [rsp + 0x20], xmm0
call fcn.1401a558c
mov ebx, eax
test eax, eax
js 0x1401a5273
movups xmm0, xmmword [rdi + 0x54]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
movups xmm1, xmmword [rdi + 0x64]
mov dword [rsp + 0x28], esi
lea rdx, [rsp + 0x20]
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 + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
movups xmmword [rdi + 0xcc], xmm1
call fcn.1401a51e0
mov ebx, eax
test eax, eax
js 0x1401a5273
lea rax, [rbp - 0x49]
mov dword [rbp - 0x69], esi
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x71], rax
call fcn.14019c7b8
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x28], esi
mov r8d, 0x40
movaps xmm0, xmmword [rsp + 0x20]
mov rcx, rdi
movdqa xmmword [rsp + 0x20], xmm0
call fcn.1401a558c
mov ebx, eax
test eax, eax
js 0x1401a5273
mov byte [rdi + 0x9a], 1
jmp 0x1401a522c