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

Disassembly:
lea edx, [edx + ecx*2 - 0x7d165aa8]
jbe 0x867e90
mov eax, 0x39ab9637
mov edx, eax
mov edx, dword [ebp + edx*2 - 0x73572c6e]
push eax
shr word [esp + eax - 0x39ab9636], 0x28
mov eax, dword [eax + ebp - 0x39ab9633]
adc ebp, 3
shr dword [esp], 0x2b
mov byte [esp + 1], 0x94
xor ecx, ecx
test eax, eax
push 0xf33e8738
push 0x84165c18
lea esp, [esp + 0xc]
je 0x86843d
push 0xdf27d304
mov dword [esp], edi
mov edi, 0xf982b000
or di, di
movzx edi, byte [edx]
xor edi, ecx
push 0x581c35a5
and edi, 0xff
sar dword [esp], 0xc1
call fcn.0076b19d
mov ecx, dword [edi]
add edi, 4
jmp 0x91ca70
call fcn.009bcc9c
inc al
or edx, ecx
and ax, ax
lea eax, [eax + eax + 0x1181720e]
lea ecx, [eax*2 + 0x75947f87]
mov dword [esi + eax - 0x1181720c], edx
add ecx, ecx
mov edx, dword [ebp + eax - 0x11817214]
bts ax, cx
xor edx, ebx
lea ecx, [ecx + ecx*4 - 0x51f5ea5f]
and eax, eax
neg cx
lea edx, [edx + eax*4 + 0x5083e06c]
not ecx
dec ecx
call fcn.00c90742
xor ecx, 0xe40cbc05
cdq
neg ecx
lea edx, [edx + eax*8 + 0x6aac4e10]
mul eax
xor ecx, 0x8d0dbb3c
ror ecx, 1
sub edx, eax
cwde
cbw
xor ebx, ecx
inc dx
add edi, ecx
mov edx, esi
lea ecx, [eax*8 - 0x76461663]
and eax, 0x83bc9996
sbb esi, 2
dec al
mov word [esi], dx
jnp 0x91f2a4
xor edx, ebx
xor cl, 0xb
sar byte [esp + 3], 0x22
lea edx, [edx + ecx - 0x30ba03de]
inc ecx
bswap edx
neg word [esp]
sar dword [esp], 0xf3
adc byte [esp + 1], 0x85
xor edx, 0xd0e3027
sal ax, 0x69
xor ecx, dword [esp]
cbw
lea edx, [ecx + edx - 0xac49f1]
xor ebx, edx
and cx, word [esp + ecx - 0x79adda0b]
sal eax, 0x43
add edi, edx
shl ax, cl
not byte [esp + ecx - 0x79adda01]
ror word [esp + ecx - 0x79adda03], 0xa1
add ax, word [ebp + ecx - 0x79adda04]
lea edx, [ecx + ecx*2 - 0x5e7396d8]
ror byte [esp + ecx - 0x79adda03], cl
lea ebp, [edx + ebp - 0xe95f732]
dec dword [esp + edx*2 - 0x1d2bee68]
lea esi, [ecx + esi - 0x79adda05]
mov word [esp + ecx - 0x79adda04], dx
sar ecx, cl
movzx edx, byte [esi + edx*2 - 0x1d2bee68]
call fcn.007d6b87
pop edx
pop edx
pop eax
jmp fcn.00c9bff2
not edx
mov eax, 0x85b4b23f
xchg cx, ax
lea edx, [ecx + edx - 0x7d19cee2]
ror edx, 1
sub ecx, 0x6a3b06af
mov dword [esp], ecx
sub ecx, 0x5b81b3ba
inc edx
push eax
sar cx, 0x42
not ecx
xor ebx, edx
add ebp, edx
mov di, word [edi]
call fcn.0086ef8d
mov eax, 0xe8bf52ac
mov edx, eax
xor dl, dl
not ecx
mov dword [ebp], ecx
jnp 0x93c6e7
sbb esi, 4
movzx ecx, dl
btr dx, cx
call fcn.007a84a0
inc edx
xor dword [esp + eax*4 - 0x1a4], ecx
dec eax
cwde
inc ebp
movsx edx, ch
inc ecx
pop ecx
dec eax
arpl cx, cx
jmp 0x81a7fd
xor edx, ebx
imul cx, cx
xor ecx, ecx
jle 0x80376f
mov eax, 0xa2289e36
cdq
xor ecx, ebx
neg ecx
btr ax, ax
cdq
sbb ecx, edx
rol ecx, 2
sar ax, 0x64
not eax
bt edx, edx
sub ecx, edx
sal eax, 0x61
shr eax, 0x87
xor ecx, edx
xor ebx, ecx
inc al
add esi, ecx
mov ecx, eax
mov bp, word [eax + ebp - 0x1775c19]
jmp fcn.00882a69
lea edx, [ecx + eax*8 - 0x5556655d]
cwde
js fcn.00cfe987
lea ecx, [edx + ecx*2 - 0x2dfa61d1]
sub al, 0x99
shl ecx, 0x5a
dec edx
neg cl
xor al, 0x80
xor bl, al
add eax, esp
imul dx, cx
xor cx, word [eax + edx*8]
neg edx
movsx eax, dl
lea esi, [esi + eax - 2]
sub edx, eax
imul eax, eax
ror al, 7
mov word [esi + edx], cx
not edx
ror eax, 0x21
lea edi, [edi + eax*8 - 4]
mov ecx, dword [edi + eax*8]
sal dx, 0x24
xor ecx, ebx
sar edx, 3
add eax, 0x7eb9dc37
inc ecx
lea eax, [eax - 0x6ef9e064]
ror ecx, 2
lea eax, [eax + eax*4 - 0x7ee04d69]
xor ecx, 0xed15c200
rol ecx, 1
bts ax, 0x15
add edx, eax
rol edx, 0x95
inc ecx
sal dl, 0xa1
neg al
ror ecx, 2
xor ebx, ecx
not edx
add ebp, ecx
shr ax, 0x8c
btc dx, ax
jae fcn.00909547