Function at 0x4b734b
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + 3]
shr eax, 2
lea eax, [eax + eax*2]
cmp dword [edx], eax
jae 0x4b7368
xor al, al
leave
ret
and byte [ebp - 2], 0
and byte [ebp - 1], 0
push ebx
push esi
xor esi, esi
push edi
cmp ecx, esi
mov dword [ebp - 8], esi
jbe 0x4b756e
mov ebx, dword [ebp + 0x10]
xor edi, edi
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp + 0x10], eax
mov dword [ebp - 0xc], 4
mov eax, dword [ebp + 0xc]
cmp dword [ebp - 8], eax
jae 0x4b73f3
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
inc dword [ebp - 8]
movzx ecx, byte [ecx + eax]
mov eax, dword [ebp + 0x10]
mov edi, ecx
push edi
mov dword [eax], ecx
call fcn.004b7580
test al, al
pop ecx
jne 0x4b73f0
cmp edi, 0x3d
je 0x4b73ec
cmp edi, 0xd
je 0x4b73e2
cmp edi, 0xa
je 0x4b73e2
cmp edi, 0x20
je 0x4b73e2
cmp edi, 9
je 0x4b73e2
mov byte [ebp - 2], 1
mov eax, dword [ebp + 0xc]
cmp dword [ebp - 8], eax
jb 0x4b73a6
jmp 0x4b73f0
mov byte [ebp - 1], 1
mov edi, dword [ebp - 0x1c]
add dword [ebp + 0x10], 4
dec dword [ebp - 0xc]
jne 0x4b739e
push edi
call fcn.004b7580
test al, al
pop ecx
je 0x4b74b9
push dword [ebp - 0x18]
call fcn.004b7580
test al, al
pop ecx
je 0x4b74b9
push dword [ebp - 0x14]
call fcn.004b7580
test al, al
pop ecx
je 0x4b74b9
push dword [ebp - 0x10]
call fcn.004b7580
test al, al
pop ecx
je 0x4b74b9
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
movzx edi, byte [edi + 0x4dbd50]
movzx edx, byte [edx + 0x4dbd50]
movzx eax, byte [eax + 0x4dbd50]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], edx
mov edx, eax
and edi, 0x3f
movzx ecx, byte [ecx + 0x4dbd50]
sar edx, 4
shl edi, 2
and edx, 3
and eax, 0xf
or edi, edx
mov edx, edi
mov edi, ecx
sar edi, 2
shl eax, 4
and edi, 0xf
and ecx, 3
or eax, edi
mov edi, dword [ebp - 0x10]
shl ecx, 6
and edi, 0x3f
mov byte [esi + ebx], dl
or ecx, edi
inc esi
mov byte [esi + ebx], al
inc esi
mov byte [esi + ebx], cl
inc esi
cmp byte [ebp - 1], 0
jne 0x4b756e
mov eax, dword [ebp + 0xc]
cmp dword [ebp - 8], eax
jb 0x4b7383
jmp 0x4b756e
push edi
call fcn.004b7580
test al, al
pop ecx
je 0x4b7528
push dword [ebp - 0x18]
call fcn.004b7580
test al, al
pop ecx
je 0x4b7528
push dword [ebp - 0x14]
call fcn.004b7580
test al, al
pop ecx
je 0x4b7528
cmp dword [ebp - 0x10], 0x3d
jne 0x4b7528
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
movzx edi, byte [edi + 0x4dbd50]
movzx eax, byte [eax + 0x4dbd50]
movzx ecx, byte [ecx + 0x4dbd50]
mov edx, eax
and edi, 0x3f
sar edx, 4
shl edi, 2
and edx, 3
and eax, 0xf
or edi, edx
sar ecx, 2
mov edx, edi
and ecx, 0xf
shl eax, 4
or eax, ecx
mov byte [esi + ebx], dl
inc esi
mov byte [esi + ebx], al
jmp 0x4b756d
push edi
call fcn.004b7580
test al, al
pop ecx
je 0x4b756e
push dword [ebp - 0x18]
call fcn.004b7580
test al, al
pop ecx
je 0x4b756e
cmp dword [ebp - 0x14], 0x3d
jne 0x4b756e
cmp dword [ebp - 0x10], 0x3d
jne 0x4b756e
mov ecx, dword [ebp - 0x18]
movzx eax, byte [edi + 0x4dbd50]
movzx edi, byte [ecx + 0x4dbd50]
mov ecx, edi
sar ecx, 4
and cl, 3
shl al, 2
or cl, al
mov byte [esi + ebx], cl
inc esi
mov eax, dword [ebp + 0x14]
pop edi
mov dword [eax], esi
xor eax, eax
cmp byte [ebp - 2], al
pop esi
pop ebx
sete al
leave
ret