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

Disassembly:
jne 0x86a486
neg ecx
lea edx, [eax + edx + 0x6416e09d]
ror ecx, cl
xor edx, 0xf8320dbc
sal cl, 1
sar al, 0x44
rol edx, 3
mov dword [esp + eax - 0x7501], 0x6a11f3a5
rol al, 0x61
sbb eax, 0x3400d039
lea edx, [edx + ecx*2 - 0x5fd23048]
cbw
ror edx, 1
call fcn.00912cdb
inc ecx
mov esp, 0xcd3f2fa4
inc ecx
shr esp, 0x3b
inc ebp
movsx ebp, sp
dec ebp
mov esp, dword [esp + esi - 0x19]
inc ecx
movzx edi, bp
inc esp
mov edx, edi
inc ebx
mov ebx, dword [esp + ebp*2 - 0x32]
inc esp
mov edi, edi
dec eax
lea ecx, [edi*8 + 0x65870e91]
dec edx
lea esi, [esi + ebp*2 - 0x2e]
inc ecx
mov dword [ebp + esi - 0x19], ebx
inc edi
mov esp, dword [ebp + ebx - 0x19]
jns 0x7a7b52
mul eax
adc cx, 0xa288
call fcn.00c42182
movzx ax, byte [edi]
mov ecx, 0x7db1aa85
mov cl, byte [edi + ecx - 0x7db1aa83]
add edi, 2
mov edx, 0x7121040d
add al, cl
movsx ecx, dx
rol cx, cl
dec ecx
mov word [edi + edx - 0x7121040d], ax
lea ebp, [ebp + ecx*8 - 0x50404]
movzx eax, dl
mov eax, dword [ebp + ecx - 0xa080]
sub dl, 0x9b
xor edx, 0x5d93391e
xor eax, ebx
dec eax
ror eax, 1
lea eax, [eax + edx*4 - 0x64c43aa0]
ror eax, 1
sal dx, 0x23
bt cx, dx
dec eax
not edx
neg cl
neg eax
sal edx, 0x8d
shl ecx, 0x8d
not eax
neg eax
bswap eax
lea ecx, [ecx + edx*8 + 0x50aae6b7]
not eax
shr cl, 1
shr edx, 0xa3
shl edx, cl
inc eax
btc dx, dx
inc cx
xor ebx, eax
shl cx, 0xcb
dec cx
adc esi, eax
and ecx, edx
jmp esi
inc ecx
mov edx, edi
inc ebp
xor esp, ecx
inc ecx
rol esp, 3
inc ebp
mov eax, edx
jmp 0x9254fb
dec edi
lea ebx, [ebx + ebp*2 - 0x2e]
jne 0x83d02b
ror dl, 0xa4
bts edx, edx
xor eax, ebx
rol eax, 1
push ecx
dec dword [esp + ecx - 0x80000000]
push ecx
dec eax
or byte [esp + ecx - 0x7ffffffb], 0x12
xor eax, 0x74866623
shr edx, 0x63
add byte [esp + edx*2 - 0x2d163ffc], cl
btc edx, edx
inc eax
dec ecx
sal dx, 0xe4
neg ecx
xor ebx, eax
add edi, eax
lea eax, [esp + ecx - 0x7fffffd5]
mov word [esp + ecx - 0x80000000], cx
xchg word [esp + ecx - 0x7ffffffe], cx
sub word [esp + edx*2 - 0x2d16001b], 0xd31e
mov edx, dword [eax + edx - 0x168b0010]
movzx eax, cx
sbb ecx, ecx
or ecx, edx
ror word [esp + eax - 0xff80], 0x42
mov edx, dword [esi + eax - 0xff84]
adc ecx, edx
mov dword [esi + eax*4 - 0x3fe04], ecx
ror dword [esp + eax*4 - 0x3fdff], 0x3d
not eax
sbb esi, 4
imul eax
movsx ecx, dl
jb 0x917d22
pop edx
pop eax
jo fcn.00c67487
inc ecx
bswap esp
movsx ebx, cx
dec ecx
neg eax
inc ecx
inc esp
sar bx, 0x23
inc ecx
rol esp, 2
inc ecx
btc edi, 0x22
inc esp
xchg ecx, ebp
inc ebp
mov esi, ebp
inc ecx
neg esp
inc ecx
ror esp, 2
dec esi
lea esi, [edi*8 - 0x29432d66]
dec edx
lea eax, [eax*2 - 0x4753c173]
inc cx
and edx, 0x5141f19f
inc ebp
xor bh, ch
inc esp
xor dword [esp + edi - 0x19], esp
inc ecx
shr eax, cl
cdq
inc ecx
pop ecx
inc ecx
push eax
cbw
dec ebp
arpl sp, sp
jnp 0x8350a1
mov eax, dword [ebp]
xor eax, ebx
mov ecx, 0xf5a7a504
shl ecx, 0xdd
bswap eax
sbb eax, 0xd9943d82
movzx edx, cx
shr cl, 0xa3
and dl, 0xb1
neg eax
neg dl
inc edx
sbb edx, 0x4ba61aa4
ror eax, 1
and ecx, 0xef8ff121
dec eax
xor ebx, eax
imul dx, cx
mov dword [esi - 4], eax
mov eax, dword [ebp + ecx - 0x7ffffffc]
sar ecx, 0x3e
shl ecx, cl
lea ebp, [ebp + ecx - 0x7ffffff8]
jbe 0x8e8f21