Function at 0x14000b3e0
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using sha1

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [0x140045100]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x90]
xor r12d, r12d
mov dword [rsp + 0x20], r9d
mov r15d, r9d
mov qword [rsp + 0x28], r8
mov rdi, rcx
mov qword [rsp + 0x38], rax
mov ebx, 0x14
mov dword [rsp + 0x40], 0x67452301
mov dword [rsp + 0x44], 0xefcdab89
mov dword [rsp + 0x48], 0x98badcfe
mov dword [rsp + 0x4c], 0x10325476
mov dword [rsp + 0x50], 0xc3d2e1f0
cmp edx, 0x40
jle 0x14000b4b7
mov r8d, edx
mov qword [rsp + 0x54], r12
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.14000b280
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 8]
call fcn.140009dc0
mov r8d, r12d
mov dword [rsp + 0x40], 0x67452301
lea rdi, [rbp - 8]
mov dword [rsp + 0x44], 0xefcdab89
mov r14d, ebx
mov dword [rsp + 0x48], 0x98badcfe
mov dword [rsp + 0x4c], 0x10325476
mov dword [rsp + 0x50], 0xc3d2e1f0
mov dword [rsp + 0x58], r12d
jmp 0x14000b584
mov dword [rsp + 0x58], r12d
mov r8d, r12d
movsxd r14, edx
test edx, edx
jle 0x14000b584
cmp r14d, 0x40
jb 0x14000b584
lea rax, [r14 - 1]
lea r10, [rbp - 0x60]
add r10, rax
lea r11, [rbp - 0x60]
add rax, rcx
cmp r11, rax
ja 0x14000b4f4
cmp r10, rcx
jae 0x14000b584
movdqa xmm2, xmmword [str.6666666666666666:2_]
lea r10, [rbp - 0x60]
movsxd r11, edx
lea r13, [rbp - 0x50]
lea rbx, [rbp - 0x50]
and r11, 0xffffffffffffffc0
sub r10, rcx
lea rdx, [rcx + 0x20]
sub r13, rcx
sub rbx, rcx
mov rsi, 0xffffffffffffffe0
mov rdi, rcx
sub rsi, rcx
nop dword [rax]
movdqu xmm0, xmmword [rdx - 0x20]
add r8d, 0x40
movdqu xmm1, xmmword [rdx - 0x10]
lea rdx, [rdx + 0x40]
pxor xmm0, xmm2
lea rax, [rsi + rdx]
pxor xmm1, xmm2
movdqu xmmword [r10 + rdx - 0x60], xmm0
movdqu xmm0, xmmword [rdx - 0x40]
movdqu xmmword [rdx + r13 - 0x60], xmm1
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rdx - 0x30]
movdqu xmmword [r10 + rdx - 0x40], xmm1
pxor xmm0, xmm2
movdqu xmmword [rbx + rdx - 0x40], xmm0
cmp rax, r11
jl 0x14000b530
movsxd rdx, r8d
movsxd r13, r14d
cmp rdx, r13
jge 0x14000b5b8
lea rax, [rbp - 0x60]
mov r8, rdi
sub r8, rax
nop dword [rax]
lea rcx, [rbp - 0x60]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r8]
xor al, 0x36
mov byte [rcx], al
cmp rdx, r13
jl 0x14000b5a0
mov ebx, 0x40
cmp r14d, ebx
jge 0x14000b5d8
mov eax, ebx
lea rcx, [rbp - 0x60]
sub eax, r14d
add rcx, r13
movsxd r8, eax
mov dl, 0x36
call fcn.140033e30
movups xmm0, xmmword [rbp - 0x60]
lea rdx, [rsp + 0x5c]
movups xmm1, xmmword [rbp - 0x50]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x5c], xmm0
mov dword [rsp + 0x54], 0x200
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rsp + 0x6c], xmm1
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rsp + 0x7c], xmm0
movups xmmword [rbp - 0x74], xmm1
call fcn.14000a010
mov ecx, dword [rsp + 0x54]
mov edx, dword [rsp + 0x58]
lea eax, [rcx + r15*8]
mov dword [rsp + 0x54], eax
cmp eax, ecx
jae 0x14000b628
inc edx
shr ecx, 3
mov eax, r15d
shr eax, 0x1d
and ecx, 0x3f
add edx, eax
mov dword [rsp + 0x58], edx
lea eax, [r15 + rcx]
cmp eax, 0x3f
jbe 0x14000b6bd
mov rdx, qword [rsp + 0x28]
mov esi, ebx
sub esi, ecx
mov eax, ecx
lea rcx, [rsp + 0x5c]
mov r8d, esi
add rcx, rax
call fcn.140033790
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x40]
call fcn.14000a010
lea r15d, [rsi + 0x3f]
cmp r15d, dword [rsp + 0x20]
jae 0x14000b6b3
mov r13d, dword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
nop dword [rax]
nop word [rax + rax]
mov edx, esi
lea rcx, [rsp + 0x40]
add rdx, rbx
call fcn.14000a010
add esi, 0x40
add r15d, 0x40
cmp r15d, r13d
jb 0x14000b690
mov ebx, 0x40
movsxd r13, r14d
mov r15d, dword [rsp + 0x20]
mov ecx, r12d
jmp 0x14000b6c0
mov esi, r12d
mov eax, ecx
sub r15d, esi
lea rcx, [rsp + 0x5c]
mov edx, esi
add rdx, qword [rsp + 0x28]
add rcx, rax
mov r8d, r15d
call fcn.140033790
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140009dc0
mov dword [rsp + 0x40], 0x67452301
mov edx, r12d
mov dword [rsp + 0x44], 0xefcdab89
mov dword [rsp + 0x48], 0x98badcfe
mov dword [rsp + 0x4c], 0x10325476
mov dword [rsp + 0x50], 0xc3d2e1f0
mov dword [rsp + 0x58], r12d
test r14d, r14d
jle 0x14000b7f3
cmp r14d, 0x40
jb 0x14000b7f3
lea eax, [r14 - 1]
movsxd rcx, eax
lea r8, [rbp - 0x60]
add r8, rcx
lea rax, [rcx + rdi]
lea rcx, [rbp - 0x60]
cmp rcx, rax
ja 0x14000b751
cmp r8, rdi
jae 0x14000b7f3
mov ecx, r14d
and ecx, 0x8000003f
jge 0x14000b763
dec ecx
or ecx, 0xffffffc0
inc ecx
movdqa xmm2, xmmword [0x1400355b0]
lea r8, [rbp - 0x60]
mov eax, r14d
lea r11, [rbp - 0x50]
sub eax, ecx
lea r9, [rbp - 0x50]
sub r8, rdi
movsxd r10, eax
sub r11, rdi
lea rcx, [rdi + 0x20]
sub r9, rdi
mov r13, 0xffffffffffffffe0
sub r13, rdi
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x20]
add edx, 0x40
movdqu xmm1, xmmword [rcx - 0x10]
lea rcx, [rcx + 0x40]
pxor xmm0, xmm2
lea rax, [rcx + r13]
pxor xmm1, xmm2
movdqu xmmword [rcx + r8 - 0x60], xmm0
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmmword [rcx + r11 - 0x60], xmm1
pxor xmm0, xmm2
movdqu xmm1, xmmword [rcx - 0x30]
movdqu xmmword [r8 + rcx - 0x40], xmm0
pxor xmm1, xmm2
movdqu xmmword [rcx + r9 - 0x40], xmm1
cmp rax, r10
jl 0x14000b7a0
movsxd r13, r14d
movsxd rdx, edx
cmp rdx, r13
jge 0x14000b827
lea rax, [rbp - 0x60]
sub rdi, rax
nop dword [rax]
nop word [rax + rax]
lea rcx, [rbp - 0x60]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + rdi]
xor al, 0x5c
mov byte [rcx], al
cmp rdx, r13
jl 0x14000b810
cmp r14d, 0x40
jge 0x14000b843
mov eax, ebx
lea rcx, [rbp - 0x60]
sub eax, r14d
add rcx, r13
movsxd r8, eax
mov dl, 0x5c
call fcn.140033e30
movups xmm0, xmmword [rbp - 0x60]
lea rdx, [rsp + 0x5c]
movups xmm1, xmmword [rbp - 0x50]
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x5c], xmm0
mov dword [rsp + 0x54], 0x200
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rsp + 0x6c], xmm1
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rsp + 0x7c], xmm0
movups xmmword [rbp - 0x74], xmm1
call fcn.14000a010
mov ecx, dword [rsp + 0x54]
lea eax, [rcx + 0xa0]
mov dword [rsp + 0x54], eax
cmp eax, ecx
jae 0x14000b893
inc dword [rsp + 0x58]
shr ecx, 3
and ecx, 0x3f
lea eax, [rcx + 0x14]
cmp eax, 0x3f
jbe 0x14000b8f3
sub ebx, ecx
mov eax, ecx
lea rcx, [rsp + 0x5c]
mov r8d, ebx
add rcx, rax
lea rdx, [rbp - 0x20]
call fcn.140033790
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x40]
call fcn.14000a010
lea edi, [rbx + 0x3f]
cmp edi, 0x14
jae 0x14000b8ee
mov eax, ebx
lea rdx, [rbp - 0x20]
add rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000a010
add ebx, 0x40
add edi, 0x40
cmp edi, 0x14
jb 0x14000b8d0
mov ecx, r12d
jmp 0x14000b8f6
mov ebx, r12d
mov eax, ebx
lea rdx, [rbp - 0x20]
add rdx, rax
mov edi, 0x14
mov eax, ecx
mov r8d, edi
lea rcx, [rsp + 0x5c]
sub r8d, ebx
add rcx, rax
call fcn.140033790
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140009dc0
mov eax, dword [rbp + 0x98]
cmp eax, edi
cmovg eax, edi
movsxd r8, eax
test eax, eax
jle 0x14000b947
mov rcx, qword [rsp + 0x38]
lea rdx, [rbp - 0x20]
call fcn.140033790
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.14001af60
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret