Function at 0x1547591
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using chaskey
Encrypt data using speck
Hash data using murmur3

Disassembly:
mov ecx, dword [esi + eax*2 - 0x3ffe]
jmp 0x13c8d31
xor dl, bl
add dl, 0x85
not dl
lea eax, [eax*4 + 0x25059f]
xor dl, 0xab
ror eax, 0x21
add eax, eax
sub eax, eax
adc dl, 0x8c
and ax, ax
add ax, ax
adc al, al
neg dl
inc eax
xor bl, dl
neg al
sal eax, 0x32
adc edx, esp
sal eax, 0x57
or eax, 0x558d2c90
inc ax
mov dword [edx + eax - 0x558d2c91], ecx
mov edx, dword [esi + eax - 0x558d2c91]
bt ax, 0x13
movzx ecx, ax
sal al, 0xe3
lea esi, [esi + eax - 0x558d2c84]
dec cl
xor al, al
jg 0x15997ad
xor edx, ebx
ror eax, cl
neg edx
dec edx
not cl
sal eax, cl
adc eax, 0x641dcc9c
neg edx
call fcn.014ae244
xchg edx, eax
xor ebx, ecx
cwde
add edi, ecx
jmp 0xc9f4cd
mov ecx, dword [ebp + eax*2 - 0x2004]
xor ecx, ebx
add eax, eax
movzx edx, ax
ror ecx, 1
lea ecx, [ecx + edx + 0x68189c8b]
btr edx, 0x33
bswap ecx
neg edx
neg ecx
ror ecx, 3
xchg dx, ax
bt edx, 0x14
inc ecx
xor eax, eax
jns 0x12f2104
mov word [ebx - 0x5ce5f1cc], ss
xor edi, dword [ecx - 0x60]
cmp ah, al
ret 0x973d
not dl
rol eax, 0x66
rol dl, 1
btr eax, eax
xor ax, 0x1591
not ax
not dl
jnp 0x157cb22
inc bp
movzx ecx, byte [esi]
mov ebx, 0x4a01bb83
inc ecx
mov cl, byte [esi + ebx - 0x4a01bb81]
inc esp
movzx esp, bx
dec ebp
lea esi, [esi + ebx - 0x4a01bb81]
inc ecx
sal cl, cl
inc bp
and esp, esp
inc di
mov dword [esi - 0x17706], ecx
inc esp
movzx ebp, bx
dec esp
lea eax, [ebx + ebx - 0x47c9c8c1]
dec esp
lea ecx, [ebx + 0x1a0d0325]
dec ecx
lea esi, [esp + esi - 0xbb87]
dec ebx
lea ecx, [esp + ebp*2 + 0x3633088c]
inc ebp
mov ebx, esp
dec ebx
lea eax, [ecx + eax*8 + 0x3580ef08]
mov eax, dword [esi + ebx - 0x4a01bb83]
inc ecx
inc bl
inc cx
and ebx, eax
inc ecx
xor eax, edi
inc cx
sal ebx, 0x64
inc ecx
mov ebp, ecx
inc ebp
mov edx, ecx
lea eax, [ebx + eax - 0x6c887d3a]
dec ecx
ror edx, cl
inc sp
imul ecx, ebx
not eax
dec eax
inc ebp
or edx, eax
jl 0x156e9cd
xor eax, 0xad0ab487
inc ecx
shl al, 0x21
inc cx
dec ebx
inc ecx
movzx edx, cx
inc ecx
push edi
call fcn.0132d604
xor al, dl
div eax
lea esi, [eax + esi + 5]
xor dl, byte [ebp + eax - 6]
dec eax
lea ebp, [ebp + eax - 5]
xor dl, bl
ror eax, 0xf0
jae 0x139e655
or ax, 0x34af
jp 0x14cc3b1
mov ecx, dword [edi]
mov eax, 0x2b22982
movsx edx, ax
lea edi, [eax + edi - 0x2b2297e]
bswap eax
push ecx
popfd
mul al
lea edx, [edx + eax*8 + 0x5d0f073e]
lea esi, [esi + edx - 0x6e5730e4]
jno 0x1591f92
mov eax, 0xd69d5e2d
jmp 0x144bc3d
dec edx
mov dword [esp + ecx - 0xa0d], 0x45854713
dec edx
mov dword [esp + ecx - 0xa0d], edi
ret 8
mov cl, byte [esi + 4]
xor eax, eax
sub eax, eax
and al, 0x93
shl edx, cl
bts eax, 0x2c
mov dword [esi + eax*2 - 0x1ffe], edx
jae 0x1397acd
mov ecx, dword [edi]
add edi, 4
mov eax, 0xf20cf033
movzx edx, byte [esi]
btc eax, 0x88
shr ax, 0x2d
adc esi, 0
inc al
jg 0x12da8da
not dl
inc ax
ror ecx, cl
shl word [esp + eax*2 - 0x695e], 0x86
xor bl, dl
ror dword [esp + eax*2 - 0x6960], 0xa1
lea edx, [esp + edx + 4]
push eax
cmovb ax, cx
jb 0xc3ab46
mov ax, word [eax + edx - 0x34b0]
or ecx, 0x199ef296
xchg byte [esp + ecx - 0x3fbffa97], cl
lea edi, [edi + ecx - 0x3fbffa32]
mov word [edi + ecx - 0x3fbffa30], ax
lea edx, [ecx + ecx*8 - 0x35612ff1]
sal cx, 0x25
pop ecx
pop edx
jb fcn.01556dc6
pop ecx
mov ecx, 0x7237d714
dec esi
lea esp, [esp + 0x10]
dec ebp
xchg ebp, ecx
dec esp
add edx, ecx
inc edi
mov byte [esp + ecx - 0xa0d], bl
inc ecx
seta ch
jns 0x140ec67
xor ecx, 0x52039eb4
cwde
xor ebx, ecx
sal al, 0xe1
push eax
ror dl, 0x43
adc ebp, ecx
and dword [esp + edx*4 - 0xfc], eax
lea esi, [edx + esi - 0x41]
movsx ecx, dl
btc edx, 0x10
movzx edx, byte [esi + edx*8 - 0x80200]
xor dl, bl
lea eax, [ecx + eax - 0x767d99fc]
add dl, 0x9e
inc eax
or dword [esp + ecx*4 - 0xfc], eax
pop ecx
xor dl, 0x3a
sub word [esp + ecx*2 - 0x1f4], 0xfba7
dec dl
cwde
rol dl, 1
sar eax, cl
or ecx, dword [esp + eax]
neg dl
sal cl, 0xa1
neg al
inc dl
jmp 0x13cb0b2
inc ecx
sub eax, 0x67a98089
inc ecx
add ebp, ebx
inc ecx
neg eax
movzx ebx, al
dec esp
lea esp, [ebp + eax*8 - 0x4aecd5]
inc ecx
xor eax, 0xfe823a92
inc ecx
movsx edx, bx
bt bp, ax
rol ebp, cl
inc ecx
rol eax, 2
inc eax
ror ch, 0x86
sar bp, cl
inc ecx
push edi
dec eax
btc eax, 0x8a
inc esp
xor dword [esp + ebx - 5], eax
dec ecx
rol esp, cl
inc ecx
pop edi
dec eax
sal ebx, cl
dec ebp
arpl ax, ax
dec ecx
adc edi, eax
inc ecx
mov eax, 0xf1a867ad
cbw
inc ebp
mov esi, dword [esi]
jmp fcn.012e2664
btr eax, eax
inc dl
bt ax, 0xba
xor bl, dl
ror eax, 0xc8
jae 0x143d34e
mov edx, dword [edx + esi - 0x6e5730e0]
mov ecx, 0x33b64d1b
btr ecx, 0x1c
xor edx, ebx
neg edx
bt eax, 0xb0
div al
lea edx, [edx + ecx - 0x6b3af6ad]
add ecx, eax
inc ecx
not edx
ror edx, 1
neg ecx
sbb cx, 0x4aa8
xor edx, 0x2d27b515
idiv cl
xor ebx, edx
add ebp, edx
call fcn.01366c78
inc ebp
xor esp, edi
inc ecx
bswap esp
or ebp, ebp
sar ebp, 0x3d
mov ecx, 0x36265428
inc ecx
dec esp
inc ecx
neg esp
inc ecx
ror esp, 3
inc ebp
lea esp, [esp + edx*2 - 0x20147238]
dec ecx
shl ebp, 0xda
inc ecx
movsx eax, dx
inc ebp
movzx ecx, dl
inc ecx
push edi
inc esp
xor dword [esp + edx*2 - 0x12a18], esp
dec ecx
and ecx, edx
inc ecx
pop edi
dec ebp
arpl sp, sp
inc eax
xor ch, cl
dec eax
lea ecx, [edx + edx*4 + 0x57163d87]
dec ecx
adc edi, esp
ror cl, 0x46
jae fcn.012e2664
add edi, ecx
add dl, dh
push edx
pop ecx
pop edx
ja fcn.0149336d
not ax
neg edx
inc ecx
bts eax, 1
inc cx
mov dword [esi + edx*2 - 0x2ca8b74e], eax
dec eax
mov dword [esp + edx - 0x16545ba7], edi
ret 8