Function at 0x13bea29
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Manually build aes constants

Disassembly:
lea edi, [edi + edx - 0x7d5feeb8]
dec cx
jg 0x1498581
inc edx
neg eax
cmovp ecx, eax
xchg byte [esp + eax - 0x62e6e000], ah
rol edx, 2
pop eax
neg edx
pop ecx
xor ebx, edx
add ebp, edx
add ax, cx
adc eax, eax
movsx edx, cx
jmp ebp
xor dword [esp + eax - 0x65fdaddf], 0x3a160331
xor ecx, 0xbbbefc98
neg edx
and word [esp + eax - 0x65fdaddd], ax
xor edx, 0xf118c586
shr dword [esp + ecx - 0x778e8506], 0x9e
lea edi, [edi + eax*2 - 0x59b69bde]
cwde
shr eax, 0xc2
lea edx, [eax + eax + 0x71947132]
xor ecx, ebx
btr eax, edx
neg ecx
ror edx, 0x2e
rol ecx, 1
ror edx, 0x75
lea ecx, [ecx + eax*2 - 0x53233304]
push edx
shl edx, 0xfc
neg dword [esp + eax*8 - 0x9be0]
not ecx
and dword [esp + eax - 0x137c], eax
jg 0x14e414f
neg dx
and eax, dword [esp]
sub ecx, ecx
xor bx, dx
dec al
mov word [edi + ecx], dx
ror ecx, 0x2e
je 0x150fe46
mov eax, dword [esi + ecx*8 + 2]
jae 0x151e541
ror ecx, 1
xor ebx, ecx
add ebp, ecx
cwd
or edx, ebp
jmp edx
mov dword [esp + eax - 0x25149fe5], ecx
xadd edx, ecx
pop ecx
jo fcn.01556dc6
xor ecx, 0x9b3a7aaf
inc edx
ror dl, 0xa5
dec ecx
rol ecx, 1
cdq
imul edx, eax
inc ecx
xchg byte [esp + edx*4 + 1], ah
ror ecx, 2
idiv dword [esp + edx*2]
rol edx, 0x21
imul dx, word [esp + edx - 6]
xor ebx, ecx
add ebp, ecx
movsx ecx, word [esp + edx - 0xfc]
mov dl, byte [esi + eax*2 - 8]
imul eax, ecx
pop ecx
push eax
lea esi, [esi + eax*2 - 0x1f3]
xor ax, 0xc615
lea ecx, [ecx*8 + 0x5d3f1f3f]
call fcn.00b92e2b
mov edx, 0x21b12eab
push edx
movsx ecx, dx
mov eax, dword [edi + edx - 0x21b12eab]
mov ecx, dword [edi + edx*2 - 0x43625d52]
mov dword ss:[eax + edx*2 - 0x43625d56], ecx
movzx ecx, byte [edx + esi - 0x21b12eab]
movzx eax, dl
btc eax, edx
neg byte [esp + edx - 0x21b12ea9]
xor cl, bl
btr edx, 0xb9
ror cl, 1
xchg dword [esp + edx - 0x21b12eab], edx
add cl, 0x9b
ror cl, 1
sub cl, 0x9a
xor bl, cl
inc edx
jnp 0x12fe7a1
lea ecx, [esp + ecx + 4]
cmovno eax, dword [esp + eax*2 - 0x1156]
mov eax, dword [edx + ecx - 0x214f2eac]
xor dl, dl
movzx ecx, byte [esp + edx*2 - 0x429e5c00]
js 0xce99bd
mov dword [edx + edi - 0x214f2dfc], eax
or edx, 0x5c11eebc
lea eax, [edx + 0xd9fcd19]
jg 0xcdb99d
inc ecx
mov esp, 0x8017bc9d
inc ebp
movzx ebx, ah
inc ecx
movzx ebp, ah
inc edi
mov eax, dword [esi + ebx*2 - 0x13a]
inc ebx
mov edx, dword [esi + ebx*2 - 0x136]
inc ecx
movsx eax, bl
dec esi
lea ecx, [ebx*4 + 0xf851fbb]
inc esp
add eax, edx
dec ebx
lea edx, [ebx + ecx*8 - 0x35e555c8]
inc edi
mov dword [ebx + esi - 0x99], eax
mov ebx, edx
dec ebp
lea ebp, [ecx + edx*8 + 0x3c3038a3]
inc esi
mov ebx, dword [esi + ebx*8 - 0x4ec]
dec eax
ror ebp, 0x21
dec ebp
dec edx
lea esi, [esi + ecx*2 - 0x1f0a4462]
movzx ecx, bl
add ebx, 0xe708f70a
xadd ebp, eax
inc ebp
xor ebx, edi
inc esp
movsx edx, bp
ror eax, cl
inc edi
lea ebx, [ebx + ecx*4 - 0x6baab449]
inc ecx
push edx
pop ebx
inc ecx
xor ebx, 0xd59adf23
inc ecx
inc ebx
inc esp
or esp, ebp
neg dx
inc ecx
rol ebx, 3
inc ecx
dec ebx
inc ecx
push edi
cbw
inc ebp
or dl, dl
inc esi
xor dword [esp + ecx*4 - 0x3e1488bc], ebx
inc ecx
pop edi
sal ebp, 0x46
dec ebp
arpl bx, bx
inc eax
xadd ch, cl
dec ecx
adc edi, ebx
dec ecx
btc esp, edx
inc cx
not ecx
dec esp
lea eax, [ebx*8 + 0x7a0ce40f]
dec edx
lea ebx, [esp + ecx - 0xf85dcc8]
dec esp
lea edx, [ebp + ecx*4 + 0x539ca986]
dec eax
ror ecx, 0x32
inc eax
xor ch, al
inc esi
mov esp, dword [ebx + ecx*2 - 0x1f0bbba0]
inc edi
mov dword [esi + ecx*4 - 0x3e177740], esp
inc ecx
movsx ebx, cx
dec eax
cmovl ebx, eax
dec eax
rol edx, 0x18
dec eax
add ecx, edi
jmp ecx
xor al, dh
mov edx, dword [esi + ecx*2 - 0x153]
lea esi, [esi + ecx - 0xa5]
xor edx, ebx
not ecx
sub eax, dword [esp]
sal cl, 6
xor edx, 0x711cfa3b
not edx
push ecx
bswap ecx
neg edx
sal eax, 0xa9
jnp 0x135d4a1
jae 0xd08796
imul ecx, dword [esp]
not eax
add byte [esp + ecx - 0x4d2d123e], dl
xor cl, 8
xor eax, 0x843242b8
shr dl, 6
ror dl, 0x22
xor ebx, eax
add ebp, eax
mov dword [esp + ecx - 0x4d2d1248], ebp
ret
xor ebx, ecx
add ebp, ecx
add word [esp + edx - 0x50000000], dx
jbe 0x13ec931
mul al
mov dword [esp + eax - 0x3c10], ebp
ret
add ecx, ecx
lea esi, [ecx + esi + 6]
movsx edx, byte [esp + ecx*8]
xor eax, ebx
ror eax, 2
neg byte [esp + ecx + 3]
ror dl, 0xc1
not ecx
lea eax, [eax + ecx - 0x1ad98243]
jae 0x14d4586