Function at 0x140526808
Capabilities:
Authenticate hmac
Encode data using base64

Disassembly:
xor r8d, 0xb926b19c
rol r8d, 3
push r11
mov qword [rsp + r11 - 0x2d8ff828], r9
sub qword [rsp + r11*2 - 0x5b1ff070], r11
imul dil
xor dword [rsp + r11 - 0x2d8ff828], r8d
lea r9, [rax*4 + 0x4507b8b5]
mov qword [rsp + r11 - 0x2d8ff830], rdi
mov r9, qword [rsp + rdx - 0x28]
or ax, di
sar qword [rsp + r11*2 - 0x5b1ff068], 0x32
movsxd r8, r8d
jb fcn.140561a39
jp 0x14053c6f2
movzx ebx, cl
inc edi
ror edi, 2
call fcn.1405347c0
xor dword [rsp + r8 - 0xe6c4754], ecx
btr edx, 0x8b
shr r8d, 0x36
pop r9
movzx eax, bx
sub bx, bx
setg al
movsxd rcx, ecx
shl rdi, 0xf
jae 0x14053a031
sub r10, 4
mov r8d, 0x5926988
lea r11, [r8 + r8*4 - 0x5841ad5e]
mov edi, dword [r10 + r8*4 - 0x1649a620]
movzx ebx, r11b
xor edi, r9d
bswap edi
inc edi
rol edi, 1
btr r8w, 0x23
shl bl, 0xc4
neg edi
movsx edx, r11w
or r8b, r11b
lea edi, [rdi + r8*8 + 0x7aa457b9]
call fcn.14052a667
mov ebx, 0xa93c5230
movzx edi, bx
mov rax, qword [rsi + rdi*2 - 0xa460]
mov cl, byte [rdi + rsi - 0x5228]
movzx r8d, bl
lea rsi, [rdi + rsi - 0x522e]
shr rax, cl
mov qword [rsi + rdi - 0x5230], rax
movsx eax, r8w
movzx ecx, al
lea rcx, [r8*4 + 0x1fa9d926]
lea r10, [r10 + rdi*4 - 0x148c4]
mov eax, dword [rdi + r10 - 0x5230]
push rbx
rol dil, cl
xor eax, r9d
ror rcx, cl
add cx, 0x262f
shl rdi, cl
rol eax, 3
sal r8b, 5
shr cx, 0xa1
bswap eax
rol eax, 2
sub di, 0x5f0d
jp 0x140550db4
movsx ecx, al
mov qword [rsp + rcx + 5], r9
lea rdi, [rax + rcx*4 - 0x79e1f6e2]
sal di, 0xaa
xor dword [rsp + rcx*8 - 0x10], r8d
or al, 0x3f
lea r9, [rdi + rax*4 - 0x78634dd8]
mov r9, qword [rsp + rcx*2 + 2]
cqo
movsxd r8, r8d
mov qword [rsp + rcx*4 - 4], rax
adc ax, dx
adc rbp, r8
inc byte [rsp + rcx*4 + 3]
call fcn.14052d417
adc r8w, r11w
adc rbp, rcx
call fcn.14053803d
setl r11b
xor r9b, bl
sar r8b, 0xe5
shl cl, 0xa4
dec di
adc rbx, rsp
bswap ecx
lea rax, [r8 + rdi*2 - 0x2755c944]
mov rdi, qword [rbx + rcx*2 - 0x963f8e]
not ax
mul al
cwde
mov qword [rsi + rcx*2 - 0x963f96], rdi
mul r8
setb dl
mov edi, dword [r10 + rcx - 0x4b1fcc]
dec al
lea r10, [rcx + r10 - 0x4b1fcc]
sub rdx, 0x718b8027
bswap edx
xor edi, r9d
xchg rdx, rcx
xor r11d, 0x6d1d3389
rol edi, 1
call fcn.14055a5f7
mov r8d, 0x28b00819
mov r11d, dword [r10 + r8 - 0x28b00819]
lea rbx, [r8 + r8*2 + 0x73aceb04]
xor r11d, r9d
lea rdx, [r8 + rbx*8 - 0x42c620e6]
lea rdi, [rdx + r8*8 - 0x4dc949d8]
mov ecx, edi
ror r11d, 3
bswap r11d
sar di, 0xac
sets dl
dec r11d
neg r11d
imul r8w, bx
lea rdi, [rcx + rbx*2 - 0x434171e7]
bts ecx, edi
lea r11d, [r8 + r11 + 0x1a7bbc6a]
not bx
sar di, 0xc2
shr r8b, 0xc1
push r9
xor dword [rsp + r8*2 - 0x516194b6], r11d
pop r9
movsxd r11, r11d
movzx eax, cl
jmp 0x14053cb5b
je 0x14054ca53
lea rax, [rdi*2 + 0x502c7d9b]
add rbp, r11
btr cx, 0x1f
sub ecx, ecx
neg ebx
mov rbx, qword [rsi + r8 - 0x28b0ca5b]
not r8w
mov r11d, r8d
mov rax, qword [r8 + rsi - 0x28b0359c]
or rcx, rdx
mov cl, byte [r8 + rsi - 0x28b03594]
not dx
lea rsi, [rsi + r8 - 0x28b0359a]
or r8b, r8b
bswap r8d
shld rbx, rax, cl
ror r11b, 0x62
adc di, r8w
mov qword [r11 + rsi - 0x28b03529], rbx
cmovge r11w, dx
lea rax, [r8 + r8*8 + 0x3130f82c]
movzx ecx, al
jmp rbp
adc rbp, r8
cdq
xadd dl, cl
mov rax, qword [rsi + r11 - 0x2d8ff838]
mov qword [rsp + r11*2 - 0x5b1ff060], rdi
dec rcx
movzx r8d, byte [rsp + r11 - 0x2d8ff829]
mov di, word [r11 + rax - 0x2d8ff838]
btc r8w, r11w
lea rsi, [rsi + r11 - 0x2d8ff832]
pop r11
mov word [rsi + r11*2], di
add qword [rsp + r11], rbp
ret 8
jge 0x140553f42
lea eax, [rax + r8*2 + 0x3a2742f]
lea r11, [rdi + rcx + 0x18e7f85]
mov edx, ecx
xor eax, 0x932eb08a
btr edx, edi
rol eax, 1
bswap eax
mov qword [rsp + r8], r9
xor dword [rsp + r8*4], eax
dec r11w
movzx r9d, r8w
pop r9
shr bx, 0x65
dec dil
movsxd rax, eax
bswap ebx
neg r8
ror ecx, 0x92
adc rbp, rax
bt r11w, dx
add r8, rbp
jmp r8
bswap r8d
xor r8d, 0x643d6284
jmp 0x1405395fe