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

Disassembly:
rol dword [edx], 0x33
fld dword [ebx]
jmp 0x550df853
or bx, 0xb92
cbw
rol cl, 1
inc al
inc ecx
neg dl
shr ax, 0xab
shr eax, 0xab
neg cl
dec ecx
xchg esi, edx
inc esp
xor cl, cl
inc ecx
add edx, ebp
inc ebp
movsx esp, dh
inc ebp
cmovns edx, edi
dec eax
adc ecx, esp
inc ecx
push edx
inc edx
mov dword [ecx + edi - 0x1b5f25de], edi
sal dl, 0xe7
cwde
inc ebx
mov edi, dword [ebx + edi - 0x1b5f25dd]
setnp dl
dec edi
lea ebx, [ebx + edi*4 - 0x6d7c9773]
jns 0x8cc5b0
sub ecx, dword [eax]
sub eax, 0x69ffebed
jno 0x81423a
scasd eax, dword es:[edi]
adc eax, dword [eax]
dec ebx
jns 0x814260
scasd eax, dword es:[edi]
adc eax, dword [eax]
inc ebp
inc ecx
sub dword [edi - 0x5c90ffed], 0x459cd90d
arpl word [edx - 0x50], ax
cmc
call [eax]
dec ebp
xchg esi, eax
add byte [eax + 0x77d387bd], 0x4e
in eax, 0x95
test byte [ebx], 0xb9
int3
inc dx
mov dword [esi + esi*2 + 0x7e828d58], ecx
inc ecx
not esp
inc esi
adc dword [esp + ebp*2 - 0x32], edx
inc ebx
mov ebx, dword [ebx + ebp*2 - 0x34]
inc ecx
movzx edx, dh
dec edi
lea ebx, [ebx + esi + 0x3f4146b0]
inc edx
add dword [esp + esi + 0x3f4146ad], 0x6883d0b6
inc ecx
sal ch, 0x25
inc ecx
xor ebx, ecx
inc edx
lea ebx, [ebx + esi*2 - 0x1e9d49d9]
inc dx
shl dword [esp + ebp - 0x3e], 0x6c
dec edx
mov dword [esp + ebp*2 - 0x80], edi
xor ebx, 0x7f9e49b8
dec edx
dec dword [esp + esi + 0x3f4146ac]
mov ecx, 0x582e6e8c
call fcn.009a3cdf
inc ecx
mov edi, dword [ebx]
inc ecx
xor edi, ecx
inc ecx
mov ebp, 0x6f16422e
dec edx
lea eax, [ebp*2 - 0x7b7a2bd5]
dec ebx
lea ebx, [ebp + ebp*4 - 0x4afb386b]
dec edi
jmp 0x8e99e5
mov ecx, dword [edi]
mov eax, 0x9d068a25
ror ax, 0xee
inc al
mov eax, dword [edi + 4]
adc edi, 4
jmp 0xcefce0
cwde
dec ebp
or ebp, edi
xor ebx, 0xadb75016
inc ecx
push esp
inc ebx
bswap ebx
dec ebx
sal byte [esp + eax - 0x36], 0x62
dec esp
mov dword [esp + eax - 0x3c], ecx
dec eax
cdq
dec eax
idiv eax
bt edx, 0xba
inc edx
xor dword [esp + ebp - 0x3b], ebx
inc ebp
mov ecx, esi
dec eax
idiv eax
dec ecx
inc esp
inc ecx
pop ecx
dec eax
arpl bx, bx
dec ecx
sal edi, cl
inc eax
shl bh, 1
dec eax
adc ebp, ebx
shl dl, cl
call fcn.007aab46
mov edx, 0xeb9b1caf
sar edx, 0x6b
mov eax, edx
mov edx, dword [ebp]
mov cl, byte [ebp + 4]
xor ax, ax
shr edx, cl
rol eax, 0xdf
call fcn.008f712f
shl al, 0xc5
inc ecx
xor edi, ecx
bswap edi
shr ebx, 0x2c
dec edx
sar dword [esp + edi - 0x1b5f25de], 0x16
ror edi, 1
inc esi
xchg dword [esp + esi - 0x561bf68e], edi
not bx
dec edi
inc cx
inc esp
inc cx
sar esp, 0x86
dec bl
neg edi
inc esi
xadd byte [esp + esi - 0x561bf68c], bh
dec esi
xchg dword [esp + esi - 0x561bf692], ebp
dec ebp
lea edi, [eax - 0x6bcc1f6b]
lea edi, [edi + ebx*2 - 0x1fb42a91]
inc ebp
adc dl, ah
inc esp
add edx, dword [esp + ebx - 0xfff6]
neg edi
inc ebp
add ah, al
inc ecx
movsx ecx, sp
inc edi
dec eax
rol ecx, 0x41
inc edx
sar dword [esp + esi - 0x561bf690], 0x30
dec esp
mov dword [esp + ebx - 0xfff9], ecx
dec eax
cwde
inc ebp
btr edx, esi
xor dword [esp + ebx - 0xfff9], edi
inc ecx
pop ecx
inc sp
sub edx, edx
dec ecx
xchg edx, eax
dec ebp
sbb ebp, edi
dec eax
arpl di, di
ja 0xc669bf
mov ecx, 0xbab4e398
jmp 0x8bc5b0
add ecx, 0x8cb2b09c
ror eax, cl
bts eax, ecx
ror edx, 2
xor edx, 0x551ea6bc
bswap ecx
dec cl
sub edx, 0x803c2d2a
and cx, cx
add ecx, 0x880da2a4
and al, 0x94
xor ebx, edx
add esi, edx
jmp fcn.00c9bff2
inc ecx
xor ebx, ecx
sub ebx, 0x9d1fd731
inc cx
btr edx, eax
cbw
xor ebx, 0x7f9e49b8
and di, ax
lea ebx, [ebx + ecx*2 + 0x3489f9ca]
jae 0x8c9a2d
inc ecx
mov esi, 0x7702701d
inc ecx
mov ecx, dword [esi + esi - 0x7702701d]
inc esi
mov eax, dword [esi + esi - 0x77027019]
inc ecx
mov ebp, 0x9cbe58a1
inc ecx
and ecx, eax
inc ecx
movzx edx, bp
inc esp
movzx esp, dl
not ecx
inc ebp
mov eax, ebp
inc esp
mov esp, ecx
inc cx
not esi
inc ecx
mov edi, 0xe4a0da21
dec ebp
imul eax, ebp
inc esi
mov eax, dword [esi + esi - 0x77028fda]
dec edx
lea esi, [esi + esi - 0x77028fd6]
inc ecx
movsx edi, di
inc ebp
and esp, eax
inc ecx
movsx ebx, bp
inc ecx
not esp
inc ecx
mov eax, esi
inc ecx
mov edi, esp
inc ecx
not edi
dec ecx
not ebp
inc ebx
movzx ecx, byte [esi + ebx - 0x77028fe2]
inc esp
movzx eax, dl
inc ecx
mov edx, 0xff240faf
inc ecx
neg eax
inc ecx
xor cl, cl
cwd
inc ecx
not al
xor cl, 0x10
inc ecx
add eax, eax
dec ecx
lea edx, [esi - 0x20e69950]
dec esp
imul edx, eax
inc cl
jmp 0x814251
xor ax, ax
xor dword [esp + eax - 0x57a7fffc], ebp
mov dword [esp + eax - 0x57a80000], edi
movsx ebp, al
push ebx
ror eax, 0x66
call fcn.008ba317
mov dword [0x448d4ee0], eax
add al, 8
inc bx
or ecx, dword [eax + esi*2 + 0x7e828d58]
inc edx
or byte [esp + esi + 0x3f4146ad], 0x26
jg 0xcb7453
inc ecx
mov esi, 0x4a378ae
dec edx
lea ebx, [esi*8 + 0x54a3aa82]
inc esp
mov esp, ebx
inc esi
mov ebp, dword [esi - 0x79bf6ff2]
dec edx
lea eax, [esi*2 - 0x7cf944c]
dec eax
lea ecx, [eax*4 + 0x5db43b92]
dec edx
lea esi, [esi + esi - 0x4a378aa]
inc ebx
movzx ebx, byte [ebx + esi*8 - 0x251bc570]
call fcn.008b42a9
pushfd
add dword [esp + 4], 0xff7e42e7
mov dword [esp + 4], 0x78b050b8
push dword [esp]
popfd
lea esp, [esp + 4]
call fcn.00c68497
mov edx, 0xb7ebb8
imul edx, edx
push edx
mov cl, byte [edi]
movzx ax, byte [edi + 2]
dec dx
sal dx, 0xab
adc edi, 1
sub dl, 0x12
pop edx
imul cl
bt edx, edx
mov word [edi], ax
sbb esi, 4
lea ecx, [edx + edx + 0x6429ff3e]
btr ecx, ecx
imul ecx, ecx
mov ecx, dword [esi]
mov eax, 0xd5b5560e
xchg ah, al
xor ecx, ebx
add eax, eax
neg eax
ror ecx, 2
rol dx, 0x8d
shr eax, 0xb9
neg ecx
mul edx
lea ecx, [ecx + edx*8 + 0xa4ea04]
rol edx, 0x77
ror ecx, 3
not al
not eax
btc dx, 0xa0
dec ecx
or edx, 0x86becd3a
jge 0x8d20e9
shr ax, 0x6e
xor ebx, ecx
rol eax, 0xa1
adc ebp, ecx
push edx
mov ecx, dword [esp + eax - 0x6f200002]
div byte [esp + eax - 0x6f1fffff]
mov dword [esp + eax - 0x6f200200], ebp
ret
inc ecx
mul ebp
dec eax
add ebp, edi
jmp ebp
dec edx
lea esi, [esi + esi + 0x3f4146aa]
inc ecx
sub ebx, ebp
js 0x94a531
ja 0x82adc9
jmp 0x89b484