Function at 0xcfc8ff
Capabilities:
Encode data using base64

Disassembly:
inc ecx
not edi
inc ecx
rol edx, 1
inc ecx
sal esp, 0x49
dec eax
lea edi, [edx*8 + 0x2a920e34]
inc ecx
dec edx
inc edx
not byte [esp + esi - 0xffa0]
dec ecx
bswap edi
inc ecx
xor edx, 0x588cb1af
inc ecx
not edx
inc dx
rol dword [esp + esi - 0xff9f], 0xed
inc edi
lea edx, [edx + esi*8 + 0x6206f1f0]
inc esi
mov ebp, dword [esp + esi - 0xffa0]
dec eax
neg eax
inc ecx
push esp
inc ecx
neg edx
dec edx
shr dword [esp + esi*2 - 0x1ff3e], 0xb
jb 0x95c104
rol ecx, 2
xor ecx, 0x400c8e31
bswap eax
or edx, 0xe31f732a
cbw
dec ecx
pop eax
push eax
cdq
rol ecx, 1
neg dl
setge dl
not dword [esp + eax*2 - 0x1ad620e]
xor ebx, ecx
add ebp, ecx
mov dx, word [eax + edi - 0xd6b109]
dec al
mov byte [esp + eax*2 - 0x1ad620b], 0xc
movzx eax, byte [esi + eax - 0xd6b10c]
mov ecx, 0xcdbb1226
xor ecx, dword [esp]
lea esi, [esi + ecx*2 - 0x65243dc2]
xor cx, cx
call fcn.0076b4b7
lea esi, [esi + edx - 0x637ddb64]
movzx ecx, dx
mov word [esi + ecx - 0xdb66], ax
sbb ecx, 0x7cbf09b7
jae 0x82fe09
jmp edi
dec eax
cwde
sub ecx, 0x68315c01
inc ecx
neg edx
push ecx
inc si
sub esi, dword [esp + edi*2 - 0x129]
inc edx
sar byte [esp + edi*2 - 0x125], 2
inc ecx
dec edx
dec edx
or edx, dword [esp + edi - 0x96]
ja 0x7a9d50
inc ebp
movsx ebp, bh
inc ecx
rol eax, 3
inc edx
mov eax, dword [esp + edi - 0x46840998]
sar word [esp + edi - 0x46840998], 0x2b
dec esi
mov dword [esp + edi - 0x46840992], ecx
dec eax
cwde
dec eax
cdq
inc esp
xor dword [esp + edi - 0x46840992], eax
dec esp
lea ecx, [edx + ebx*2 + 0x7a07359a]
pop edi
inc ecx
pop ecx
movzx ecx, bx
neg cl
dec ebp
arpl ax, ax
sbb di, cx
btc edx, ebx
dec ecx
adc ebp, eax
dec esp
mov eax, esi
dec eax
lea esi, [edi + esi - 0x87832]
inc sp
mov dword [esi + edi*2 - 0x10f060], eax
not ebx
dec eax
add ecx, 0x5fafdf86
ja fcn.0073c0e6
inc ecx
not edx
pop ebx
inc ecx
neg esi
inc esp
mov eax, dword [esp + eax*4 + 0x25a]
inc ecx
ror edx, 1
cwde
inc edx
shr byte [esp + ebp - 0xa], 0xe6
dec esi
mov dword [esp + ebp - 0xc], ecx
inc esi
xor dword [esp + ebp*8 - 0x60], edx
dec eax
sar ebx, cl
inc ebp
add ebp, esp
inc ecx
pop ecx
inc ecx
sal al, 2
shr bl, 2
dec ecx
shl esi, cl
dec ebp
arpl dx, dx
cbw
dec ecx
adc ebp, edx
inc ecx
bswap esi
jmp ebp
not dl
xor bl, dl
rol ax, 0xa
mov word [ecx + edi - 0xfb], dx
lea edx, [eax + eax + 0x5480fd13]
mov ecx, dword [esi + ecx - 0xfe]
xor byte [esp + edx*4 - 0x4ee54462], 0x1f
xchg edx, eax
sub edx, dword [esp + eax - 0x13b95119]
xor ecx, ebx
inc byte [esp + eax*4 - 0x4ee54461]
jno 0x84d4e6
dec ecx
lea esi, [eax + esi - 0x511d8094]
inc ebp
movzx edx, di
inc edi
movzx eax, byte [eax + ebx - 0x511d8096]
dec edi
lea ebx, [ebx + edx - 0x8095]
inc ebp
bt edi, edx
inc ebp
movzx esi, bh
inc ecx
push esi
inc ebp
xor al, cl
inc ecx
sar dl, 0xc5
inc ecx
movzx ebx, dx
inc ecx
rol al, 1
inc ecx
neg al
inc esi
xor esi, dword [esp + edx - 0x80fa]
neg bl
inc ecx
inc al
inc ecx
pop edi
dec eax
add ebx, ebx
inc ecx
not al
inc ebp
xor cl, al
inc ecx
movzx eax, si
inc ebp
movsx esp, dx
dec esp
add eax, esp
inc cx
sub edx, 0x43666e16
mov dword [eax + edi*2 - 0x12c], edi
dec ebx
lea edi, [edx + edx*4 - 0x84d5665]
inc edi
mov edx, dword [ebx + edi*2 - 0x12c]
mov edx, 0x2f3eeeb1
dec edi
lea ebx, [edi + ebx - 0x92]
inc ebp
xor edx, ecx
dec eax
lea ecx, [eax + edx + 0x2c202a8d]
inc eax
shl bh, 0xe1
js 0x8d3160
inc ebp
lea edx, [edx + edi*8 - 0x7f2ad130]
ja 0x893d4d
mov ecx, 0x1fb27da4
call fcn.00840736
mov eax, 0x47209085
mov ecx, dword [ebp + eax - 0x47209085]
lea ebp, [eax + ebp - 0x47209081]
mov dword [esp + eax - 0x47209085], eax
lea edx, [eax + eax + 0x29339eb5]
xor dword [esp + eax - 0x47209085], 0xbab66798
xor ecx, ebx
sub eax, edx
pop eax
rol ecx, 2
imul dx, ax
neg ecx
lea edx, [edx*4 - 0x627386db]
ror al, 0xa7
inc ecx
cdq
cdq
bswap ecx
cdq
xor ecx, edx
xor ebx, ecx
or edx, eax
adc edi, ecx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lea edx, [edx*8 + 0xa9739c]
push ebx
movsx ebx, dl
shl dl, 0x87
cpuid
sbb esi, 8
push 0x5907bb1
rol dword [esp], 0x63
ror byte [esp + 2], 0xa1
mov dword [esi + 0xc], eax
mov eax, 0xf39396be
rol dword [esp], 0xe2
sal eax, 0xa5
mov dword [eax + esi - 0x7272d7b8], ebx
sar ax, 0xa6
mov dword [esi + eax - 0x7272ff5b], ecx
idiv byte [esp + eax - 0x7272ff5c]
not al
lea ecx, [eax + eax*8 + 0x67be2825]
mov dword [esi + ecx - 0x6dc8f20a], edx
imul ecx
lea ebx, [ecx*8 + 0x119a1da3]
setae bl
mov ebx, dword [esp + eax - 0x2f76edde]
push edx
pop ecx
pop ecx
pop edx
jb fcn.00c67487
mov eax, 0xdf9c4a80
movzx edx, al
mov dl, byte [esi + edx - 0x81]
xor dl, bl
neg dl
sub dl, 0x23
ror dl, 1
push eax
xadd al, ah
sbb dword [esp], eax
adc dl, 0xd
neg dl
rol dword [esp], 0xd5
movzx ecx, byte [esp]
not byte [esp + ecx*2 - 0x1f0]
sbb dl, 0x1c
ror dword [esp + ecx*2 - 0x1f2], 0x8d
jb 0x977a12