Function at 0xa63eaac
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [ebp + 0x14], 0
push ebx
push edi
je 0xa63ecff
mov eax, dword [ebp + 0xc]
xor edx, edx
add eax, 2
mov ebx, dword [ebp + 0x1c]
push 3
pop ecx
div ecx
and ebx, 8
mov ecx, eax
or ebx, 0x40
mov eax, dword [ebp + 0x1c]
and eax, 6
shl ecx, 2
mov dword [ebp - 0xc], ebx
cmp eax, 2
jne 0xa63eaf1
mov eax, ecx
xor edx, edx
div ebx
add ecx, eax
jmp 0xa63eaff
cmp eax, 6
jne 0xa63eaff
mov eax, ecx
xor edx, edx
div ebx
lea ecx, [ecx + eax*2]
mov ebx, dword [ebp + 0x14]
inc ecx
cmp dword [ebx], ecx
jae 0xa63eb10
mov dword [ebx], ecx
push 6
jmp 0xa63ed01
mov edi, dword [ebp + 8]
test edi, edi
je 0xa63ecff
mov eax, dword [ebp + 0x10]
test eax, eax
je 0xa63ecff
cmp edi, eax
je 0xa63ecff
push esi
mov esi, eax
xor edx, edx
mov eax, dword [ebp + 0xc]
push 3
pop ecx
div ecx
xor ecx, ecx
imul eax, eax, 3
mov dword [ebp - 4], ecx
test eax, eax
je 0xa63ec7f
push 3
dec eax
xor edx, edx
pop ecx
div ecx
test byte [ebp + 0x1c], 4
lea ebx, [eax + 1]
je 0xa63ebf5
and dword [ebp - 8], 0
imul eax, ebx, 3
mov dword [ebp - 4], eax
movzx eax, byte [edi]
mov edx, dword [ebp + 0x18]
shr eax, 2
push 3
mov al, byte [eax + edx]
mov byte [esi], al
movzx ecx, byte [edi]
pop eax
and ecx, eax
movzx eax, byte [edi + 1]
shr eax, 4
shl ecx, 4
add ecx, edx
push 3
mov al, byte [eax + ecx]
mov byte [esi + 1], al
movzx eax, byte [edi + 2]
movzx ecx, byte [edi + 1]
shr eax, 6
and ecx, 0xf
add eax, edx
mov al, byte [eax + ecx*4]
mov ecx, dword [ebp - 8]
mov byte [esi + 2], al
add ecx, 4
movzx eax, byte [edi + 2]
and eax, 0x3f
mov dword [ebp - 8], ecx
mov al, byte [eax + edx]
xor edx, edx
mov byte [esi + 3], al
add esi, 4
pop eax
add edi, eax
mov eax, ecx
div dword [ebp - 0xc]
test edx, edx
jne 0xa63ebe7
mov byte [esi], 0xd
inc esi
inc ecx
test byte [ebp + 0x1c], 2
mov dword [ebp - 8], ecx
je 0xa63ebe7
mov byte [esi], 0xa
inc esi
inc ecx
mov dword [ebp - 8], ecx
sub ebx, 1
jne 0xa63eb6a
jmp 0xa63ec79
and dword [ebp - 8], 0
imul eax, ebx, 3
mov dword [ebp - 4], eax
movzx eax, byte [edi]
mov edx, dword [ebp + 0x18]
shr eax, 2
push 3
mov al, byte [eax + edx]
mov byte [esi], al
movzx ecx, byte [edi]
pop eax
and ecx, eax
movzx eax, byte [edi + 1]
shr eax, 4
shl ecx, 4
add ecx, edx
push 3
mov al, byte [eax + ecx]
mov byte [esi + 1], al
movzx eax, byte [edi + 2]
movzx ecx, byte [edi + 1]
shr eax, 6
and ecx, 0xf
add eax, edx
mov al, byte [eax + ecx*4]
mov ecx, dword [ebp - 8]
mov byte [esi + 2], al
add ecx, 4
movzx eax, byte [edi + 2]
and eax, 0x3f
mov dword [ebp - 8], ecx
mov al, byte [eax + edx]
xor edx, edx
mov byte [esi + 3], al
add esi, 4
pop eax
add edi, eax
mov eax, ecx
div dword [ebp - 0xc]
test edx, edx
jne 0xa63ec74
test byte [ebp + 0x1c], 2
je 0xa63ec74
mov byte [esi], 0xa
inc esi
inc ecx
mov dword [ebp - 8], ecx
sub ebx, 1
jne 0xa63ebff
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
cmp ecx, edx
jae 0xa63ecf2
movzx eax, byte [edi]
inc ecx
mov dword [ebp - 8], eax
cmp ecx, edx
jae 0xa63ec97
movzx ecx, byte [edi + 1]
jmp 0xa63ec99
xor ecx, ecx
mov edi, dword [ebp + 0x18]
shl dword [ebp - 8], 4
shr eax, 2
mov al, byte [eax + edi]
mov byte [esi], al
mov eax, ecx
shr eax, 4
add eax, dword [ebp - 8]
and eax, 0x3f
mov al, byte [eax + edi]
mov byte [esi + 1], al
add esi, 2
mov eax, dword [ebp - 4]
inc eax
test byte [ebp + 0x1c], 1
je 0xa63ece2
cmp eax, edx
jae 0xa63ecd2
and ecx, 0xf
mov al, byte [edi + ecx*4]
jmp 0xa63ecd4
mov al, 0x3d
mov ebx, dword [ebp + 0x14]
mov byte [esi], al
mov byte [esi + 1], 0x3d
add esi, 2
jmp 0xa63ecf2
mov ebx, dword [ebp + 0x14]
cmp eax, edx
jae 0xa63ecf2
and ecx, 0xf
mov al, byte [edi + ecx*4]
mov byte [esi], al
inc esi
mov byte [esi], 0
sub esi, dword [ebp + 0x10]
xor eax, eax
mov dword [ebx], esi
pop esi
jmp 0xa63ed02
push 0x10
pop eax
pop edi
pop ebx
leave
ret