Function at 0x22afc76
Capabilities:
Encode data using base64

Disassembly:
sar dl, 0xc1
call fcn.01295a39
mov eax, 0x8e343abf
sub esi, 4
mov ecx, dword [esi]
and eax, eax
movsx edx, ax
mul edx
xor ecx, ebx
lea eax, [eax*8 - 0x126dc7d7]
cdq
shr edx, 0xfb
lea ecx, [ecx + edx + 0x7b8bc00e]
neg ecx
lea edx, [eax*4 + 0x2f993731]
sub ecx, 0x95889fbd
cwde
or eax, edx
shl edx, 0x24
bswap ecx
sal edx, 0x73
btr eax, eax
shr edx, 0x12
neg ecx
xchg edx, eax
add edx, 0x6919931e
sub edx, 0x6934cb3
xor ebx, ecx
add dx, ax
jge 0x24117fb
sub dx, dx
adc edi, ecx
btr eax, edx
jae 0x22ab8f0
bswap eax
cwde
jp fcn.0167909e
dec ecx
add esi, esi
dec eax
cdq
shl byte [esp + ebp - 0x4018fb9b], cl
inc di
mov edi, dword [edi + ecx - 0x4018fba1]
dec edx
mov dword [esp + ebp*2 - 0x134], 0x9107d787
dec esi
lea ebx, [ebp + eax*4 - 0x717ba1eb]
cbw
inc dx
mov ebx, dword [ebp + ecx - 0x4018fba0]
inc ecx
idiv bl
inc ebx
mov cl, byte [ebp + ecx - 0x9e]
dec ecx
bswap ebx
dec edi
lea ecx, [ecx + ebp*2 - 0x140]
call fcn.012b3178
xor ax, bx
bswap edx
btr ecx, 0x25
adc dx, 0x6510
not ax
xadd dl, cl
ror ecx, 0xc6
sar ecx, 0xfd
xor ax, 0x81b9
btc ecx, 0x81
rol ax, 1
bts ecx, ecx
imul edx, edx
inc edx
neg ax
rol ax, 1
sar ecx, cl
js 0x15c4a93
xor bx, ax
lea edi, [edx + edi - 0x1ffc8767]
xor cx, cx
btr edx, edx
sar cx, 0x49
mov word [edi + edx - 0x1ffc8745], ax
movsx eax, dx
mov eax, dword [ebp + edx*2 - 0x3ff90e8a]
bswap ecx
and cx, dx
lea ebp, [edx + ebp - 0x1ffc8741]
not edx
xor eax, ebx
btr edx, 0x36
shl dx, 0x41
inc eax
btr dx, 0xbe
bswap eax
sbb eax, ecx
sub ecx, ecx
xor eax, 0x8b0d083d
bts edx, edx
and edx, edx
xor ebx, eax
bt edx, edx
sub edx, ecx
adc esi, eax
not cl
jmp fcn.0138cd07
ror eax, 0xda
setae dl
lea ecx, [eax*2 - 0x4941f480]
add edx, dword [edx + edi]
jmp 0x23a984f
call fcn.0238c990
mov eax, 0xf933e80c
sal eax, 0xa6
lea eax, [eax + 0x7aa8b535]
sbb esi, 4
bt eax, eax
movsx ecx, ax
rol cx, 0xcd
mov edx, dword [esi]
or al, ch
lea eax, [eax*4 + 0xc321425]
cbw
xor edx, ebx
bswap edx
inc ecx
lea edx, [edx + eax*2 - 0x32f25efa]
sub ecx, ecx
rol edx, 3
btc ecx, eax
sbb ecx, 0x18eb0ad
cwde
sbb edx, 0x84954207
bswap edx
jmp 0x228cdce
btr eax, eax
xor ebx, edx
and cx, ax
adc edi, edx
ror eax, 0xf
btr cx, ax
lea edx, [ecx*2 - 0x6dcb286a]
mov ecx, dword [ebp + eax - 0x20000]
xor al, byte [eax + ecx - 0x20000]
shr dl, 7
adc ebp, 2
mov ecx, edx
mov word [ebp], ax
mov eax, ecx
neg cl
jmp edi
dec ax
movzx ax, byte [ebp + edx*4 - 0x452c0000]
movsx ecx, dx
jg 0x231e34b
ljmp 0x2eac:0xcbb7abb7
push 0xe2bcba16
sub esi, 8
mov dword [esi + 0xc], eax
mov byte [esp + 3], 0x94
mov eax, 0x6886fd32
mov dword [esp + eax - 0x6886fd2e], 0x788ab927
mov dword [esi + eax - 0x6886fd2a], ebx
bt ax, ax
mov dword [eax + esi - 0x6886fd2e], ecx
lea ecx, [eax + eax*4 - 0x3a5f74cb]
inc eax
mov dword [esi + eax - 0x6886fd33], edx
mov ebx, dword [esp + eax - 0x6886fd2b]
mov eax, dword [eax + edi - 0x6886fd33]
push ecx
adc edi, 4
and cx, 0x9c86
xor eax, ebx
push ecx
mov edx, 0xc3e089e
bswap eax
not dl
xor eax, 0xc9aae493
btr ecx, ecx
sbb eax, 0x7ba000b8
jmp 0x23fa6ac
or cl, byte [edx + ebp - 0x114afffe]
bt edx, 0x22
lea ebp, [ebp + edx*2 - 0x2295fffe]
shl dl, 0x21
not dx
shr al, cl
ror dx, 0xa6
add edx, 0xb90b29a0
mov word [ebp], ax
jmp edi
add cl, ch
adc ax, cx
mov al, byte [edi + 4]
sbb ecx, ecx
bts cx, 0x9e
jae 0x1700510
push 0xfa4c213
inc eax
xor edx, 0x34ae7883
dec ecx
lea esp, [esp + 0x10]
jne 0x15626ab
mov esi, 0xea91a686
call fcn.022a287d
inc ecx
mov edi, 0x4018fba2
inc ebp
movzx ebp, bh
dec edi
lea esp, [edi - 0x4018fba6]
inc ecx
push ebp
inc ecx
push edi
inc edx
neg byte [esp + ebp - 0x94]
inc edi
mov esi, dword [edi - 0x4018fba2]
inc esp
xor esi, edi
dec edi
lea eax, [edi + edi*4 + 0x580451ad]
inc edi
lea esi, [edi + esi - 0xf8d75e7]
inc ecx
rol esi, 3
inc ecx
mov ebp, edi
push ebp
inc edi
lea esi, [esi + ebp*4 - 0x3b0e5db2]
inc ecx
movsx ecx, bp
inc ecx
not esi
inc esi
xor byte [esp + ebp - 0x8e], ch
inc ecx
neg esi
dec ecx
dec edi
inc edx
sar byte [esp + ebp - 0x97], 0xe7
dec edx
mov dword [esp + ebp*8 - 0x500], edi
inc ecx
movsx eax, di
inc esi
xor dword [esp + edi - 0x4018fb91], esi
dec edx
mov edi, dword [esp + edi - 0x4018fb91]
dec ebp
arpl si, si
jmp 0x154e9ae
dec ecx
setl byte [esp + edx - 0xc3e0859]
neg eax
sar ecx, cl
rol word [esp + edx - 0xc3e0853], 0x2a
lea eax, [eax + edx*8 + 0x40b4e105]
not edx
je 0x15652e9
inc word [esp + 1]
ror eax, 1
jmp 0x1292b69
ror eax, 6
cdq
shr edx, 0x35
mov word [ebp + edx - 0x7ff], cx
jbe 0x1322374
inc ecx
mov edx, 0x6916879e
dec ecx
lea ebx, [edx - 0x1c5f6578]
dec ebp
mov ebx, dword [ecx + ebx - 0x4cb72226]
inc ecx
movsx edx, dl
inc esi
mov ch, byte [ebx + ecx - 0x4cb7221e]
inc ecx
mov eax, 0x8ab3d33a
inc ecx
shr eax, 0x53
call fcn.0163f9d1