Function at 0x4b6420
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [edx + 0x3f]
push esi
shr eax, 6
mov esi, edx
sub esi, eax
mov dword [ebp - 8], edx
inc esi
mov dword [ebp - 0x10], ecx
push edi
xor edi, edi
mov dword [ebp - 0xc], edi
lea eax, [esi + esi*2]
shr eax, 2
cmp eax, dword [ebx]
ja 0x4b66ef
cmp edx, 3
jbe 0x4b66ea
nop dword [eax]
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 8]
call fcn.004b6700
add esp, 4
test eax, eax
jne 0x4b66de
mov eax, dword [ebp - 0xc]
mov dl, byte [eax + ecx]
inc eax
mov byte [ebp - 2], dl
mov dword [ebp - 0xc], eax
test dl, dl
je 0x4b66e5
dec dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 8]
call fcn.004b6700
add esp, 4
test eax, eax
jne 0x4b66f4
mov eax, dword [ebp - 0xc]
dec dword [ebp - 8]
mov dl, byte [eax + ecx]
inc eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
mov byte [ebp - 1], dl
lea edx, [ebp - 8]
push eax
call fcn.004b6700
add esp, 4
test eax, eax
jne 0x4b66f4
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 8]
dec dword [ebp - 8]
mov bl, byte [eax + ecx]
inc eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
mov byte [ebp - 3], bl
call fcn.004b6700
add esp, 4
test eax, eax
jne 0x4b66f4
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
dec esi
mov dword [ebp - 8], esi
mov bh, byte [eax + ecx]
inc eax
mov dword [ebp - 0xc], eax
cmp bl, 0x3d
jne 0x4b6512
cmp bh, bl
jne 0x4b66d2
mov dl, byte [ebp - 2]
cmp dl, 0x2b
jb 0x4b66d2
mov al, byte [ebp - 1]
cmp al, 0x2b
jb 0x4b66d2
cmp bl, 0x2b
jb 0x4b66d2
cmp bh, 0x2b
jb 0x4b66d2
cmp dl, 0x7a
ja 0x4b66d2
cmp al, 0x7a
ja 0x4b66d2
cmp bl, 0x7a
ja 0x4b66d2
cmp bh, 0x7a
ja 0x4b66d2
xor ecx, ecx
cmp bh, 0x3d
setne cl
xor eax, eax
cmp bl, 0x3d
setne al
add ecx, edi
inc eax
add eax, ecx
mov ecx, dword [ebp + 0xc]
cmp eax, dword [ecx]
ja 0x4b66ef
sub dl, 0x2b
mov bl, 0x3f
sub bl, dl
movzx edx, dl
mov ecx, edx
shr bl, 7
and ecx, 0xf
dec bl
or ecx, 0x40
mov al, bl
not al
and edx, 0x3f
mov cl, byte [ecx + 0x501ba0]
and cl, al
mov al, byte [edx + 0x501ba0]
and al, bl
mov bl, 0x3f
or cl, al
mov al, byte [ebp - 1]
sub al, 0x2b
mov byte [ebp - 4], cl
movzx edx, al
sub bl, al
mov ecx, edx
shr bl, 7
and ecx, 0xf
dec bl
or ecx, 0x40
and edx, 0x3f
mov al, bl
not al
mov ah, byte [ecx + 0x501ba0]
mov ch, byte [ebp - 3]
and ah, al
mov al, byte [edx + 0x501ba0]
and al, bl
or ah, al
mov byte [ebp - 2], ah
cmp ch, 0x3d
jne 0x4b65f2
xor al, al
jmp 0x4b6626
mov al, ch
mov bl, 0x3f
sub al, 0x2b
sub bl, al
movzx edx, al
mov eax, edx
shr bl, 7
and eax, 0xf
dec bl
or eax, 0x40
and edx, 0x3f
mov cl, bl
not cl
mov al, byte [eax + 0x501ba0]
mov ah, byte [ebp - 2]
and al, cl
mov cl, byte [edx + 0x501ba0]
and cl, bl
or al, cl
cmp bh, 0x3d
jne 0x4b662f
xor dl, dl
jmp 0x4b6664
mov cl, bh
mov bl, 0x3f
sub cl, 0x2b
movzx esi, cl
sub bl, cl
mov edx, esi
shr bl, 7
and edx, 0xf
dec bl
or edx, 0x40
and esi, 0x3f
mov cl, bl
not cl
mov dl, byte [edx + 0x501ba0]
and dl, cl
mov cl, byte [esi + 0x501ba0]
mov esi, dword [ebp - 8]
and cl, bl
or dl, cl
mov dh, byte [ebp - 4]
cmp dh, 0xff
je 0x4b66d2
cmp ah, 0xff
je 0x4b66d2
cmp al, 0xff
je 0x4b66d2
cmp dl, 0xff
je 0x4b66d2
mov bl, al
shl dh, 2
mov cl, ah
shl bl, 6
shr cl, 4
or bl, dl
or cl, dh
mov edx, dword [ebp + 8]
mov byte [edi + edx], cl
inc edi
cmp ch, 0x3d
je 0x4b66a3
shr al, 2
shl ah, 4
or al, ah
mov byte [edi + edx], al
inc edi
cmp bh, 0x3d
je 0x4b66b8
mov ecx, dword [ebp - 0x10]
mov byte [edi + edx], bl
inc edi
cmp esi, 3
ja 0x4b6460
mov ebx, dword [ebp + 0xc]
test edx, edx
je 0x4b66c7
cmp dword [ebx], edi
jbe 0x4b66c7
mov byte [edi + edx], 0
mov dword [ebx], edi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffff66
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xffffff7c
jne 0x4b66f4
mov edx, dword [ebp + 8]
jmp 0x4b66b8
mov edx, dword [ebp + 8]
jmp 0x4b66bb
mov eax, 0xffffff53
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret