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

Disassembly:
dec esi
mov dword [esi + eax*2 - 0x603f2d28], edx
pop edx
sal dword [esp + edi + 0x10072cab], cl
inc ecx
sal esp, 0x9e
dec edx
lea esi, [esi + eax*2 - 0x603f2d28]
inc ecx
neg esi
inc ecx
pop esi
jb fcn.0073c0e6
sbb edx, 0xb58635a2
xchg dword [esp + ecx - 0x2517ad14], ecx
xchg dword [esp + ecx*2 - 0x2000], ecx
btc eax, ecx
rol edx, 1
sal byte [esp + ecx*2 - 0x4a2f5a25], 0xc3
xor ebx, edx
rol dword [esp + ecx - 0x2517ad14], cl
lea edi, [ecx + edi - 0x2517ad18]
neg ax
adc dword [esp + ecx*2 - 0x4a2f5a28], eax
btr eax, eax
mov dword [ecx + edi - 0x2517ad14], edx
neg cl
jns 0x99aef5
or cx, word [esp + eax*2 - 0x1ffffe]
pop eax
jne fcn.00c9bff2
mov ecx, dword [esi]
mov eax, 0x8694489f
bswap eax
cwde
movzx edx, byte [ebp - 1]
xor dl, bl
dec eax
neg dl
shl eax, 0x38
or eax, 0x36a5951e
sets al
ror dl, 1
add dl, 0x88
rol eax, 0xc4
dec al
inc eax
not dl
inc dl
call fcn.00ccfb82
inc ebp
xor esi, ecx
inc ecx
mov eax, eax
inc ebp
lea esi, [esi + eax*2 + 0x18198793]
mov edx, 0x5725f213
xadd al, ah
inc ecx
xor esi, 0xa88b1695
cwde
jmp 0x9ac5c7
mov eax, dword [esi]
mov cl, byte [esi + 4]
adc esi, 6
mov edx, 0x168f3338
add edx, edx
mov byte [eax + edx*2 - 0x5a3ccce0], cl
btr edx, edx
mov ecx, edx
imul ecx, edx
lea ebp, [ebp + edx*2 - 0x5a3ccce4]
xadd dx, cx
mov ecx, dword [ebp + edx*2 - 0x5a3daee0]
lea eax, [edx + edx*4 + 0x10813e3c]
xchg dx, ax
xor ecx, ebx
shr eax, 0x33
neg ecx
or eax, 0x133b434
ror edx, 0xc8
lea ecx, [ecx + eax - 0x1ae9aa01]
mul eax
neg ecx
ror ecx, 2
sal eax, 0x47
push edx
sbb ecx, 0xeb8d0db0
or byte [esp + edx - 0x171f1], ah
dec eax
neg ecx
cbw
not ecx
add eax, 0x18208c87
dec ecx
xor ebx, ecx
add edi, ecx
mov ecx, 0xd6273c11
imul byte [esp + edx - 0x171ef]
mov dword [esp + edx - 0x171f2], edi
ret
cbw
inc ecx
inc esi
inc ecx
bswap esi
dec ecx
not esp
inc ecx
push esp
dec esp
mov dword [esp + eax*2 - 0x1ffaa], ecx
dec esp
add eax, eax
inc esp
xor dword [esp + eax*2 - 0x1ffaa], esi
inc ecx
mov ebx, esp
inc ecx
pop ecx
add bl, al
dec ebp
arpl si, si
mov ecx, eax
dec ecx
add ebp, esi
cwde
mov edx, dword [esi + ecx*2 - 0x1ffaa]
inc esp
mov eax, dword [esi + ecx - 0xffd1]
movsx edi, bl
inc ebp
movsx esi, sp
not edx
inc ecx
not eax
inc ecx
or edx, eax
dec esp
lea eax, [edi - 0x12789ee2]
push ebx
dec eax
xadd ecx, eax
mov dword [esi + eax*4 - 0x3ff50], edx
dec eax
cdq
inc ebp
movzx edx, byte [ebx + eax*4 - 0x3ff50]
neg dword [esp + eax - 0xffd4]
neg cl
inc cx
neg esp
dec ebp
lea ebx, [ebx + eax*8 - 0x7fea3]
inc ebp
xor dl, cl
imul edx
inc ecx
mul esp
inc ecx
inc dl
inc ecx
ror dl, 1
inc ecx
not dl
shl bx, 0x2e
rol word [esp + eax + 6], 0x49
inc ecx
rol dl, 1
call fcn.0091d836
dec edi
lea ebx, [eax + ebx - 0x301f4b3c]
inc cx
shl esp, 0xe2
dec eax
mov dword [esp + edx], edi
dec ebp
xor edx, ecx
inc esi
and byte [esp + eax*2 - 0x603e9690], bh
dec ecx
dec edx
movsx ebx, al
inc cx
ror eax, 0xf
dec eax
shr dword [esp + edx], 0x93
dec ecx
bswap edx
dec ebx
lea ecx, [esi + esi*2 + 0x6ca1ce8d]
dec ecx
ror edx, 6
cbw
dec eax
mul dword [esp + edx*4]
inc dx
or dword [esp + eax - 0x301f9690], 0xf7499a2e
rol byte [ecx + 0x54], cl
dec edx
lea edi, [ebx + esi*2 + 0x683becbf]
sbb dword [esp + edx*8 + 4], edx
dec ecx
bswap edx
dec eax
cwde
dec esi
xchg dword [esp + eax - 0x301f9691], esi
dec ecx
not edx
dec ebp
xor ecx, edx
jmp 0x98c27a