Function at 0x1c20146
Capabilities:
Encode data using base64

Disassembly:
xor ebx, edx
add eax, ecx
inc byte [esp + ecx - 0x16]
inc eax
adc ebp, edx
movzx edx, cl
shl dword [esp + ecx*2 - 0x32], cl
mov cx, word [esi + ecx*8 - 0xc8]
shl ax, 0x21
lea esi, [esi + eax*2 - 0x34ab97a6]
sub word [esp + eax - 0x1a55cbd2], dx
dec al
lea edi, [edi + edx - 0x1a]
mov dl, byte [edi + eax*2 - 0x34ab97a6]
xor dl, bl
rol ax, 0x2d
inc dl
neg dl
ror dl, 1
inc dl
inc al
and al, byte [esp + eax - 0x1a557979]
xadd dword [esp + eax - 0x1a557963], eax
not dl
jle 0x21189c4
ror edi, 3
dec eax
mov dword [esp + 8], 0xf003a899
sub edi, 0x9810a588
mov ebp, 0x85831111
not edi
dec eax
mov dword [esp + 8], ebx
xor dword [esp + 8], edi
dec eax
mov dword [esp], ebp
sal byte [esp + 3], 0x26
dec eax
mov ebx, dword [esp + 8]
dec eax
arpl di, di
inc esp
movzx ebx, word [esp]
dec esp
add edi, edi
call fcn.0212f99c
sub edi, 2
mov edx, 0xaa272f9b
mov ecx, edx
movzx ecx, word [edi]
xor cx, bx
mov eax, 0x6d9cca15
not dl
xchg dh, al
ror cx, 1
xor al, ah
sal dx, 0xc
sal eax, 0xc7
neg cx
sub cx, 0x851e
rol cx, 1
dec dl
xor ax, dx
jbe 0x22ddd63
sbb cx, 0x7c26
xor bx, cx
not edx
bswap eax
call int.02278f5b
bswap edx
jmp 0x1b87675
mov edx, dword [ebp + edx*4 - 0x5bfb9160]
mov cx, word [edx]
movzx edx, al
call fcn.020ee151
ror edx, 1
ror cx, 0x66
not edx
setb al
lea ecx, [eax*2 + 0x2d06830b]
ror edx, 1
shr cx, cl
bswap ecx
neg edx
call fcn.01be64dc
sbb dl, 0x10
push eax
shr eax, 0x3a
not dl
xor bl, dl
and byte [esp + eax - 0x22], al
add eax, eax
sar al, 0xc7
lea edx, [esp + edx + 8]
mov word [edx + eax], cx
je 0x22758c6
lea eax, [ecx*4 - 0x1652ff68]
call fcn.0217ca73
mov esp, esi
mov ebp, 0xa30e009b
lea edx, [ebp*8 + 0x180839b1]
pop ecx
pop edi
movzx esi, bp
lea eax, [esi + edx + 0x732b2a15]
call fcn.01b976d7
mov ecx, dword [esi]
mov eax, 0x682adca0
lea eax, [eax*8 + 0x3d37a92a]
lea esi, [eax + esi - 0x7e8e8e26]
xor ecx, ebx
jmp 0x226debc
lea ecx, [ecx + eax - 0x44f74813]
rol al, 0x21
neg ecx
mov edx, eax
sub ecx, 0x6d35f68e
add eax, 0x659190b5
bswap ecx
adc edx, eax
and ax, 0xfe84
sbb edx, 0x4bb09724
xor ecx, 0x5e0ca807
rol dx, 0xca
xor ebx, ecx
xor al, 0x28
adc al, dl
xor ax, 0x301e
adc edi, ecx
jmp 0x1c56b5a
mov byte [esp + eax*8 + 4], 0xa0
mov dword [esp + eax*8], ebp
ret 4
xor edx, ebx
inc edx
dec eax
jnp 0x2318667
lea ecx, [eax*2 - 0x6acde447]
ror edx, 2
sal al, 0xc2
inc edx
shl cx, 0xc1
neg edx
add al, ah
dec al
xor ebx, edx
push ecx
sar eax, 0xbb
call fcn.01b96c0c
xor dword [esp + ecx - 0x5bfffffe], edx
push ecx
mov ecx, dword [ecx + ebp - 0x5c000000]
mov eax, dword [esp + 0xc]
movzx dx, byte ss:[ecx]
rol ax, 0x68
sub eax, eax
lea ebp, [eax + ebp + 2]
sbb ax, ax
mov word [ebp + eax], dx
lea edx, [eax + eax*8 - 0x53d28de6]
sub word [esp + eax + 4], dx
push eax
add dword [esp + eax*4], esi
ret 0x10
xor dword [esp + ecx - 0x46ff4604], edx
pop edx
mov ecx, dword [esi + edx - 0x4a392b9d]
call fcn.02134c4d
mov ecx, 0x450ca61f
mov edx, dword [ecx + esi - 0x450ca61f]
lea esi, [esi + ecx - 0x450ca61b]
xor cx, 0x3d9e
xor edx, ebx
jmp 0x22670c8
ror word [esp + edx*2 - 0x6b61665c], 0xc3
xor ebx, eax
rol dl, 0x65
jae 0x227c355
setb byte [esp + edx - 0x35b0b3c1]
add ebp, eax
mov eax, edx
mov eax, dword [eax + esi - 0x35b0b3c5]
jmp 0x22b681d
xchg dh, dl
dec dl
add dl, 0x9d
lea esi, [esi + edx - 0x3c9e12f5]
adc dword [esp + edx - 0x3c9e12fd], edx
mov dword fs:[eax + edx*2 - 0x793c25fa], ecx
setns byte [esp + edx*2 - 0x793c25fa]
movzx eax, byte [esp + edx*2 - 0x793c25fa]
mov dword [esp + eax*8 - 8], ebp
ret