Function at 0x22b7e64
Capabilities:
Encode data using base64

Disassembly:
xor edx, 0xcc9da2bb
push 0xbe23cdb4
not byte [esp + 0xa]
sar dword [esp + 0x10], 7
dec ecx
call fcn.01768f15
mov ecx, 0x6dad269e
lea esi, [esi + ecx - 0x6dad26a2]
mov ah, 0xe
pop esi
fst dword [edx - 0x6e]
movzx edx, cl
call fcn.016cecdd
mov edx, 0x913287bf
mov ecx, 0x721f16aa
mov edx, dword [ebp + ecx - 0x721f16aa]
mov eax, 0xa23bf086
lea ebp, [ebp + ecx - 0x721f16a6]
xor edx, ebx
sub edx, 0x6127a70b
xor edx, 0x8c998f0f
sub ax, cx
call fcn.012cd6b3
mov al, byte [0x3153255a]
push ecx
xchg esp, eax
fcmovne st(0), st(5)
push edx
test edi, eax
add byte [esi], bl
lodsd eax, dword [esi]
jo 0x1663824
jle 0x166377d
test ax, 0x351
mov esi, 0x43c78a53
movsd dword es:[edi], dword [esi]
ret
push edx
out 0x3e, eax
int1
loop 0x16638a6
cmp esi, dword [edi]
invalid
jno 0x16638a9
add esi, ebp
out dx, al
cmp ecx, ebx
insd dword es:[edi], dx
out 0x2f, eax
mov al, 0x44
mov edx, 0x2f896995
shl byte gs:[eax + 0x6c245ec5], 1
imul ebx, dword [esi], 0xffffff85
not dword [ebx - 0x6d682f57]
adc byte [edi], bh
pushal
xchg byte [edi + 0x6d], dl
mov ebx, 0xe29baa42
and byte [edi - 0x4b], ch
push 0x21
mov al, byte [0xf669fcc5]
das
adc dl, ah
xchg ebp, eax
jno 0x16638de
xchg esp, eax
xchg ebx, eax
mov bh, 0x4f
adc bh, al
cmp ebp, dword [edx - 0x37]
or ch, byte [esi - 0x42509f66]
frstor dword [ebp + 0x67e5b93]
jbe 0x1663964
leave
push ebx
push ss
insd dword es:[edi], dx
das
out dx, eax
inc eax
add eax, 0x5bf492d6
inc eax
js 0x16638a7
test edx, esi
movsd dword es:[edi], dword [esi]
dec esi
adc al, 0xbd
mov dl, 0x6d
mov byte [0x7b40b86], al
aaa
adc dword [edx], esp
ficomp dword [esi + 0x42]
jg 0x1663993
lds ebp, [ebp + 0x3a]
xchg ebx, eax
sbb al, 0xaf
mov esi, 0x45704662
and al, 0xbc
in al, dx
pushal
xor eax, dword [eax + 0x3a8b61da]
sub edx, ebx
pop eax
bound edi, qword [eax + 0x7e]
xor dword [edi + 0x15], ebx
dec ebx
cmp eax, dword [esi + ebx*2 + 0x687be8e0]
and al, 0xfe
xchg edx, eax
fdivr dword [ebx - 0x45]
mov edx, eax
jnp 0x1663990
invalid
rol byte [ebp + 0x182aac42], 1
jp 0x16639bf
outsd dx, dword [esi]
and eax, 0xbd5b4b7a
jecxz 0x166396c
test edx, edx
adc dword [eax], 0x82ac507a
and byte [edx - 0x39], bh
ljmp 0xbebf
imul eax, dword [ecx], 0xd3327f3c
lea esi, [ebx + 0x1a2d5bef]
lcall 0x3894, 0xecf32b2d
jg 0x16639c7
ror dword [ebp + 0x2d5befb3], cl
sbb dh, dl
lcall 0x3894, 0xecf32b2d
adc dl, 0x4d
cmc
pop ss
and al, byte [esp + edx*4 + 0x71]
and bl, byte [ebx + ebp]
test al, 0x7a
stc
iretd
scasd eax, dword es:[edi]
xchg edx, eax
fmul qword [esi + 0x7c]
adc ecx, dword [ebp - 0x467395d3]
les ebp, [esi]
mov edx, 0x809a2e64
sub eax, 0xc4b98c6a
mov edx, 0x809a2e64
sal dword [edx], 0x35
add al, 0x48
add al, byte [esi + eax*8 + 0x21]
inc eax
outsb dx, byte [esi]
lodsb al, byte [esi]
lds edx, [ebp + 0x4bed5b44]
movsd dword es:[edi], dword [esi]
xchg ebp, eax
cmpsb byte [esi], byte es:[edi]
xor eax, 0x8589cf22
bound ebp, qword [eax - 0x1d]
fsubr qword [ebp + 0x491dbe65]
xchg esp, eax
aad 0x83
pop ds
mov al, byte [0xc900c991]
int1
add bl, cl
dec eax
dec esi
ret
ror ebp, 0xe8
not ebx
sbb ebx, 0xbebd6c30
bswap ebx
inc esp
movsx ebp, al
push edi
xor dword [esp + ebp - 0x591f84a7], ebx
dec ecx
lea eax, [edi + 0x63985b0d]
pop edi
dec eax
arpl bx, bx
cwde
dec eax
add esi, ebx
mov ecx, 0xc286c9a
inc ecx
movzx edx, bp
dec eax
rol eax, cl
inc ecx
mov edx, dword [ecx + ebp - 0x591f84a7]
inc ecx
mov cl, byte [ecx + ecx - 0xc286c96]
cwde
cbw
dec ebp
lea ecx, [ecx + ebp - 0x591f84a5]
call fcn.02353b49
xor edx, ebx
push 0xae1a70b4
shr dword [esp], 0x2e
inc eax
shr dword [esp + 8], 5
push 0x3b234c85
jae 0x166375d
jmp 0x16e8ec3