Function at 0x1401a4800
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 [0x1405f8008]
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 0x1401a4874
test r8d, r8d
je 0x1401a4879
mov ebx, 0x80070057
mov ecx, ebx
call fcn.14003e510
mov ecx, ebx
call fcn.14006a5bc
mov eax, ebx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14001af80
mov rbx, qword [rsp + 0x128]
add rsp, 0xf0
pop rdi
pop rsi
pop rbp
ret
test r8d, r8d
je 0x1401a4840
mov ecx, dword [rcx]
sub ecx, 1
je 0x1401a4897
cmp ecx, 1
jne 0x1401a48a8
mov rcx, rdi
call fcn.1401a3f4c
mov ebx, eax
test eax, eax
jns 0x1401a48a1
mov ecx, eax
jmp 0x1401a4847
mov rcx, rdi
call fcn.1401a3d44
jmp 0x1401a488d
mov esi, dword [rbp - 0x79]
mov rdx, qword [rbp - 0x61]
test esi, esi
je 0x1401a484c
movups xmm0, xmmword [rdx]
cmp esi, 0x40
jbe 0x1401a491e
mov r8d, esi
lea rdx, [rsp + 0x20]
mov rcx, rdi
movdqu xmmword [rsp + 0x20], xmm0
call fcn.1401a4bac
mov ebx, eax
test eax, eax
js 0x1401a4893
lea r8, [rbp - 0x79]
mov dword [rbp - 0x79], 0x40
lea rdx, [rbp - 0x49]
mov rcx, rdi
call fcn.1401a4338
mov ebx, eax
test eax, eax
js 0x1401a4893
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.1401a4800
mov ebx, eax
test eax, eax
jns 0x1401a4979
jmp 0x1401a4893
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 0x1401a497c
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.14019c1d4
mov byte [rdi], al
inc rdi
mov eax, dword [rbp - 0x61]
inc eax
mov dword [rbp - 0x61], eax
cmp rax, rsi
jb 0x1401a4941
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.14001bade
mov eax, esi
lea rcx, [rbp - 9]
add rcx, rax
mov r8d, ebx
mov edx, 0x5c
call fcn.14001bade
test esi, esi
je 0x1401a49e6
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 0x1401a49d1
jmp 0x1401a49e8
xor esi, esi
lea rax, [rbp - 9]
mov dword [rbp - 0x69], esi
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x71], rax
call fcn.14019bdac
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.1401a4bac
mov ebx, eax
test eax, eax
js 0x1401a4893
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.1401a4800
mov ebx, eax
test eax, eax
js 0x1401a4893
lea rax, [rbp - 0x49]
mov dword [rbp - 0x69], esi
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x71], rax
call fcn.14019bdac
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.1401a4bac
mov ebx, eax
test eax, eax
js 0x1401a4893
mov byte [rdi + 0x9a], 1
jmp 0x1401a484c