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

Disassembly:
push rsi
push r14
push r15
sub rsp, 0x20
mov qword [rsp + 0x48], rbp
lea rsi, [rcx + 0x88]
mov qword [rsp + 0x50], rdi
mov r15, rcx
mov edi, 0x40
mov qword [rsp + 0x58], r12
mov ecx, edi
mov rbp, r8
mov r12, rdx
call fcn.140181e64
mov ecx, edi
mov qword [rsi], rax
lea r14, [r15 + 0x90]
call fcn.140181e64
mov qword [r14], rax
xorps xmm0, xmm0
mov rax, qword [rsi]
xorps xmm1, xmm1
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov rax, qword [r14]
movups xmmword [rax], xmm1
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm1
cmp rbp, rdi
jbe 0x140170875
mov rax, qword [r15 + 8]
lea rcx, [r15 + 8]
mov qword [rsp + 0x40], rbx
call qword [rax + 0x10]
mov r8, rbp
lea rcx, [r15 + 8]
mov rdx, r12
call qword [0x1401ccb70]
mov rax, qword [r15 + 8]
lea rcx, [r15 + 8]
call qword [rax + 0x18]
mov r8, qword [rsi]
mov r10, rax
mov r9, qword [r14]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rax]
cmp rcx, qword [rax + 8]
je 0x140170891
nop word [rax + rax]
mov edx, edi
dec edi
test edx, edx
jle 0x140170891
movzx eax, byte [rcx]
mov byte [r8], al
inc r8
movzx eax, byte [rcx]
inc rcx
mov byte [r9], al
inc r9
cmp rcx, qword [r10 + 8]
jne 0x140170850
jmp 0x140170891
mov rcx, qword [rsi]
mov r8, rbp
mov rdx, r12
call fcn.140182cfa
mov rcx, qword [r14]
mov r8, rbp
mov rdx, r12
call fcn.140182cfa
mov rdx, qword [r14]
mov rcx, qword [rsi]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
lea r8, [rdx + 0x3f]
lea r9, [rcx + 0x3f]
cmp rdx, r9
ja 0x1401708ba
xor eax, eax
cmp r8, rcx
jae 0x1401708ea
cmp rdx, rsi
ja 0x1401708c6
xor eax, eax
cmp r8, rsi
jae 0x1401708ea
cmp rdx, r14
ja 0x1401708d2
xor eax, eax
cmp r8, r14
jae 0x1401708ea
cmp rcx, rsi
ja 0x1401708de
xor eax, eax
cmp r9, rsi
jae 0x1401708ea
cmp rcx, r14
ja 0x14017092a
xor eax, eax
cmp r9, r14
jb 0x14017092a
cmp rax, 0x40
jae 0x1401709ba
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsi]
xor byte [rax + rcx], 0x36
mov rcx, qword [r14]
xor byte [rcx + rax], 0x5c
inc rax
cmp rax, 0x40
jl 0x140170900
mov rax, qword [r15]
mov rcx, r15
add rsp, 0x20
pop r15
pop r14
pop rsi
jmp qword [rax + 0x10]
movdqu xmm0, xmmword [rcx]
movdqa xmm2, xmmword [str.6666666666666666_]
movdqa xmm3, xmmword [0x1401d4a00]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rcx], xmm1
movdqa xmm1, xmm3
pxor xmm1, xmm0
movdqu xmm0, xmmword [rcx + 0x10]
movdqu xmmword [rdx], xmm1
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rdx + 0x10]
movdqu xmmword [rcx + 0x10], xmm1
movdqa xmm1, xmm3
pxor xmm1, xmm0
movdqu xmm0, xmmword [rcx + 0x20]
movdqu xmmword [rdx + 0x10], xmm1
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rdx + 0x20]
movdqu xmmword [rcx + 0x20], xmm1
pxor xmm0, xmm3
movdqu xmmword [rdx + 0x20], xmm0
movdqu xmm0, xmmword [rcx + 0x30]
pxor xmm2, xmm0
movdqu xmm0, xmmword [rdx + 0x30]
movdqu xmmword [rcx + 0x30], xmm2
pxor xmm3, xmm0
movdqu xmmword [rdx + 0x30], xmm3
mov rax, qword [r15]
mov rcx, r15
add rsp, 0x20
pop r15
pop r14
pop rsi
jmp qword [rax + 0x10]