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

Disassembly:
xor ebx, eax
add edi, eax
bts ecx, edx
movsx eax, dl
mov ecx, dword [edx + ebp - 0x6ad17fb6]
lea ebp, [ebp + edx - 0x6ad17fb2]
bts eax, 0x88
xor ecx, ebx
shl word [esp + edx - 0x6ad17fb2], 0xaf
ror ecx, 3
sub ecx, 0x74241b8f
xor ecx, 0x81b39b84
neg dx
or ax, 0xaa15
lea edx, [eax + edx*2 + 0x39a45f96]
inc ecx
idiv dword [esp + edx - 0xf475fd8]
idiv ax
btc eax, edx
xor ebx, ecx
mov dword [esi + edx - 0x6dbaf8d2], ecx
sar eax, 0xa2
div eax
lea esi, [esi + edx*2 - 0x60b91758]
sal dl, 4
dec byte [esp + eax - 0x711afb9e]
xadd word [esp + edx*2 - 0x60b9173f], dx
pop edx
pop eax
pop eax
jns fcn.00cfe987
cwde
mov eax, dword [eax + ebp - 0x2bbf]
mov ecx, 0xc58d6281
xor eax, ebx
lea edx, [ecx + ecx*2 + 0x1a295838]
xor eax, 0xb081a899
push ecx
sub eax, 0x4495572b
rol eax, 3
bswap eax
sar cl, cl
push edx
neg eax
sub dword [esp + edx - 0x6ad17fb4], ecx
ror eax, 3
jmp 0x73652b
inc ecx
xor bl, cl
neg ecx
inc eax
sub bl, bh
dec edx
mov dword [esp + edx - 0x8a2b], edi
ror bl, 1
inc edi
inc eax
setns bh
xor bl, al
rol bl, 1
inc esi
mov ebp, dword [esp + esi*2 - 0x14a]
sal cl, 0x45
xor bl, 0x92
dec ecx
btc esi, 0x37
dec ecx
adc esp, 0x74bcb532
ror bl, 1
sub bl, 0xa5
shr ax, 1
xor bl, 0x9b
inc ecx
not ah
inc esp
movzx eax, bh
inc esp
xor cl, bl
dec ecx
btc esi, eax
dec eax
lea ebx, [esp + ebx + 0x18]
inc esp
xor ch, dl
bt ax, 0xb0
inc edx
neg byte [esp + edx - 0x8a28]
inc ebp
mov edi, dword [edx + ebx - 0x8a3b]
dec ecx
btr esi, 0x13
inc esi
mov dword [esi + edx - 0x8a3b], edi
jb 0x8f4dad
inc ebx
movzx edx, byte [ebx + edx*2 - 0x11470]
bswap edi
inc edx
sbb dword [esp + edx*2 - 0x1146a], edi
inc edx
shr dword [esp + edx*8 - 0x451d6], 0xfc
dec edi
lea ebx, [ebx + edx*2 - 0x1146f]
inc ecx
xor dl, cl
rol cx, 0xa7
dec eax
ror edi, cl
sbb dl, al
neg ecx
ror dl, cl
dec eax
ror edi, cl
xchg edi, eax
inc eax
xor dl, bh
inc ecx
shr ah, cl
rol dl, cl
mov word [esp + eax*4 - 0x3ffffef], 0xd1a3
jmp 0x949fd4
inc ecx
neg dh
inc ecx
movzx ecx, dx
movzx ebx, dl
inc ecx
rol esp, 2
inc ecx
neg esi
dec eax
sar ebx, cl
inc ecx
sbb esp, 0x8493b03b
inc ebp
movzx edi, dh
inc ebp
movsx ebp, bh
inc ecx
bswap esp
dec eax
shr ebx, 0xe0
dec eax
imul ecx, edx
inc ecx
push ecx
inc ecx
adc ebp, 0x31bede06
inc esp
xor dword [esp + ebx*8], esp
rol cl, 0x63
inc ecx
pop ecx
dec ebp
arpl sp, sp
inc ecx
neg dh
dec ecx
btc edi, 0x93
dec ecx
adc ebp, esp
dec ebp
mov ebp, dword [esi + esi - 0x4f746fe2]
inc ecx
movsx eax, si
inc ecx
mov ecx, dword [esi + esi - 0x4f746fda]
inc ebp
mov esp, esi
cwde
dec ecx
lea esi, [esi + esi - 0x4f746fd6]
inc ecx
movsx edi, di
inc ebx
mov dword [esi + ebp - 0x4f746fe2], ecx
mov ecx, edx
inc ecx
shr ah, 0x86
dec eax
or ebx, ebp
jmp ebx
cwde
xor dl, 0x92
ror dl, cl
add al, 0x1b
sbb dl, 0xa5
inc edx
shl byte [esp + edx - 0x8a24], cl
mov ebx, 0xc0f2a1f
xor dl, 0x9b
inc ecx
dec ebp
inc esp
xor cl, dl
dec eax
lea edx, [esp + edx + 0x18]
inc edx
mov edi, dword [edx + edx*4 - 0x228ec]
inc edx
mov dword [esi + edx*4 - 0x228f0], edi
dec edx
lea esi, [esi + edx*8 - 0x451dc]
inc ecx
pop ebp
pop ecx
inc ecx
pop esi
jmp fcn.0073c0e6
inc dl
rol ecx, cl
xor bl, dl
pop eax
lea edx, [esp + edx + 4]
movzx eax, cl
mov ecx, dword [edx + eax - 0xaf]
sal eax, 6
push eax
pop eax
mov dword [esi + eax - 0x2bc0], ecx
jp 0x7ad47f
dec ebx
inc edx
mov eax, dword [esp + edx*4 - 0x228e0]
neg ebx
inc esi
xor byte [esp + edx*4 - 0x228e3], dh
dec edx
mov dword [esp + edx - 0x8a3b], 0xd4a42432
inc edx
lea ebx, [ebx + edx - 0x1fb2b4da]
neg ebx
inc ebx
dec esi
mov dword [esp + edx*2 - 0x1146e], ecx
inc esp
movzx ecx, dx
inc edx
not dword [esp + edx*2 - 0x11472]
bswap edi
inc edx
xor dword [esp + edx*8 - 0x451d0], ebx
shl al, 0xc1
inc dx
neg dword [esp + edx - 0x8a3b]
dec esi
mov ecx, dword [esp + edx - 0x8a33]
dec ecx
rol esp, 0x23
sal al, 0xc7
dec eax
dec eax
dec eax
arpl bx, bx
dec eax
adc ebp, ebx
push eax
pop edx
inc ebx
movzx ebx, byte [edx + ebx - 0x8a36]
inc ecx
push esi
not edi
jmp 0x8a5351