Function at 0x2e170f4
Capabilities:
Encode data using base64

Disassembly:
mov dword [ebp - 0x2c], edi
je 0x220381e
mov ecx, eax
shr ah, cl
bsr ax, ax
bswap ax
mov eax, 0x400
mov edi, edx
xor dh, 0xe
movzx edx, ax
clc
cmovle eax, edi
mov al, ch
mov eax, edx
clc
shl edx, 0x10
cmp bp, sp
or eax, edx
stc
cmc
shr ecx, 1
jmp 0x2eaf0cc
dec ecx
ror eax, cl
inc ecx
rol edx, 3
dec edi
lea eax, [ebp - 0x4862b274]
inc ecx
dec edx
dec edx
lea eax, [ebp*8 + 0x7e8762a9]
rol bp, cl
inc ecx
push ebx
dec eax
not ebp
inc bp
adc edi, edi
call fcn.01baa4a4
rol ecx, cl
lea eax, [eax + ecx - 0x6a98db0e]
ror eax, 1
mov edx, ecx
dec cl
dec eax
add cl, 0x2b
sub edx, edx
xor ebx, eax
shl cl, 0xa7
bswap ecx
add ebp, eax
lea edx, [ecx - 0x194d2ccf]
jmp ebp
add eax, 0x736
jmp 0x222b5af
jl 0x220383a
mov dword [ebp - 8], ecx
bts edx, ebp
inc ecx
lea esp, [esp]
stc
shrd di, sp, 0xae
rcr cx, 0xb8
adc ecx, ecx
jmp 0x2203818
je 0x21c9ee9
movzx edx, byte [ecx]
shl esi, 8
jmp 0x2efaa2f
shl esi, cl
cmc
rcl ch, cl
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], ebx
test dx, di
cmp edx, esp
mov byte [ebp - 1], bl
sub esi, edi
jmp 0x2eadf71
inc ecx
clc
cmp edi, 5
jmp 0x1bc900c
mov dword [ebp - 0x24], edi
jmp 0x1b8f813
rep stosw word es:[edi], ax
setg al
mov ecx, dword [ebp + 8]
lea eax, [ecx - 1]
test ax, si
mov dword [ebp - 0x40], eax
cmp esp, 0x5324f713
sub esi, esi
cmp esp, ebx
cmc
or eax, 0xffffffff
xor edi, edi
cmp ecx, dword [ebp - 0x40]
jmp 0x1be5666
mov dword [ebp - 0x28], edi
jmp 0x21fd49a
mov ecx, dword [edi + edx - 0x3936c7b7]
mov dword [esp + edx*2 - 0x726d8f6e], 0x66a6cba1
add dword [esp + edx*2 - 0x726d8f6e], edx
sub edx, edx
mov eax, dword ss:[ecx + edx*2]
mov dword [edi + edx], eax
and byte [esp + edx + 1], 6
jae 0x2e484bc
mov dword [ebp - 0x20], edx
test bx, di
sub esi, edi
cmc
cmp ecx, edi
cmp dl, 0x9c
mov dword [ebp - 0x44], esi
mov esi, edi
test dx, bp
jmp 0x21e4df7
xor ebx, edx
sub byte [esp + eax - 0x4afffffe], al
sbb eax, 0xecae359c
add ebp, edx
sal byte [esp + eax - 0x5e51ca62], 2
sete byte [esp + eax - 0x5e51ca63]
movzx edx, byte [esp + eax - 0x5e51ca64]
mov ecx, dword [edx + esi + 4]
lea esi, [esi + eax - 0x5e51ca5c]
push edx
xor ecx, ebx
and edx, edx
sal word [esp + edx + 4], 0x2c
bswap ecx
ror ecx, 1
bswap ecx
call fcn.02ee1c6e
leave
outsd dx, dword [esi]
ja 0x2e170ed
jp 0x2e1710c
jl 0x2e170df
and ecx, esi
pop ebx
pop ss
stosd dword es:[edi], eax
mov ah, 0xb
sal byte [edx], 1
retf
pushfd
or dword [ecx], esi
mov ebp, dword [ebx]
in eax, dx
je 0x1bc495e
xor ecx, ebx
bswap ecx
call fcn.021ac01e
push ebp
mov ebp, esp
adc ch, cl
sub esp, 0x48
shr dh, 0xbf
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
cmp sp, dx
clc
push ebx
push esi
bts esi, eax
movzx esi, di
adc esi, edx
push edi
sbb si, bp
mov edi, 1
sal esi, 0xb
mov esi, edi
shl esi, cl
ror ch, 0x95
mov ecx, dword [eax + 4]
clc
stc
sub ebx, ebx
jmp 0x223d6e9
stosd dword es:[edi], eax
invalid
xor edx, dword [esi + edx*8]
xor edx, ebx
rol edx, 1
add edx, 0x3fab5097
mov eax, dword [esp]
add dword [esp], eax
ror edx, 1
sal eax, 0x95
mov dword [esp + eax - 0x4b000000], eax
dec edx
jmp 0x2e17040
shl eax, cl
clc
mov dword [ebp - 0x3c], esi
cmp ebx, esi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], edi
jmp 0x1bc83db
mov dword [ebp - 0x48], esi
cmovp esi, ebp
mov esi, dword [eax]
mov dword [ecx], ebx
btr cx, 8
mov ecx, dword [ebp + 0x14]
test sp, 0xb926
mov dword [ecx], ebx
not cl
rcl cl, cl
mov ecx, dword [eax + 4]
btr eax, edi
btc eax, ecx
add ecx, esi
test dh, cl
mov eax, 0x300
cmc
jmp 0x2e75d25
rep stosd dword es:[edi], eax
jmp 0x1be2c72
inc edi
cmp ch, 0x25
or esi, edx
jmp 0x21f6f65