Function at 0x4a7aa0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push ebx
push esi
mov eax, dword [ebp + 8]
mov edx, eax
or eax, 0xffffffff
inc eax
cmp byte [edx + eax], 0
jne 0x4a7ab3
inc eax
mov dword [ebp - 0x124], eax
push eax
call fcn.0049b580
pop ecx
mov dword [ebp - 0x110], eax
push edi
lea edi, [ebp - 0x100]
push edi
mov eax, 0xffffffff
mov ecx, 0x40
rep stosd dword es:[edi], eax
pop eax
pop edi
mov bl, 0x41
mov byte [ebp - 0xbf], 0
jmp 0x4a7b08
movsx eax, bl
movsx edx, byte [ebp + eax - 0x100]
inc edx
mov byte [ebp + eax - 0xff], dl
movsx eax, bl
inc eax
mov ebx, eax
movsx eax, bl
cmp eax, 0x5a
jl 0x4a7aef
mov bl, 0x61
mov byte [ebp - 0x9f], 0x1a
jmp 0x4a7b34
movsx eax, bl
movsx edx, byte [ebp + eax - 0x100]
inc edx
mov byte [ebp + eax - 0xff], dl
movsx eax, bl
inc eax
mov ebx, eax
movsx eax, bl
cmp eax, 0x7a
jle 0x4a7b1b
mov bl, 0x30
mov byte [ebp - 0xd0], 0x34
jmp 0x4a7b60
movsx eax, bl
movsx edx, byte [ebp + eax - 0x100]
inc edx
mov byte [ebp + eax - 0xff], dl
movsx eax, bl
inc eax
mov ebx, eax
movsx eax, bl
cmp eax, 0x39
jle 0x4a7b47
mov byte [ebp - 0xd5], 0x3e
mov byte [ebp - 0xd1], 0x3f
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp + 8]
mov al, byte [eax]
mov byte [ebp - 0x101], al
jmp 0x4a7bd4
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x110]
movsx ecx, byte [ebp - 0x101]
mov cl, byte [ebp + ecx - 0x100]
mov byte [edx + eax], cl
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x110]
movsx eax, byte [edx + eax]
test eax, eax
jl 0x4a7bc5
add dword [ebp - 0x10c], 1
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
mov al, byte [eax]
mov byte [ebp - 0x101], al
movsx eax, byte [ebp - 0x101]
test eax, eax
je 0x4a7be4
cmp eax, 0x3d
jne 0x4a7b8d
mov eax, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x110]
mov byte [edx + eax], 0
mov eax, dword [ebp - 0x10c]
shr eax, 2
mov dword [ebp - 0x118], eax
mov eax, 3
mov edx, dword [ebp - 0x118]
inc edx
mul edx
push eax
call fcn.0049b580
pop ecx
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x108], eax
mov esi, dword [ebp - 0x110]
mov dword [ebp - 0x114], 0
jmp 0x4a7c9f
mov eax, dword [ebp - 0x108]
lea edx, [eax + 1]
mov dword [ebp - 0x108], edx
movsx edx, byte [esi]
shl edx, 2
movsx ecx, byte [esi + 1]
sar ecx, 4
or edx, ecx
mov byte [eax], dl
mov eax, dword [ebp - 0x108]
lea edx, [eax + 1]
mov dword [ebp - 0x108], edx
movsx edx, byte [esi + 1]
shl edx, 4
movsx ecx, byte [esi + 2]
sar ecx, 2
or edx, ecx
mov byte [eax], dl
mov eax, dword [ebp - 0x108]
lea edx, [eax + 1]
mov dword [ebp - 0x108], edx
movsx edx, byte [esi + 2]
shl edx, 6
movsx ecx, byte [esi + 3]
or edx, ecx
mov byte [eax], dl
lea esi, [esi + 4]
add dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x118]
cmp dword [ebp - 0x114], eax
jb 0x4a7c36
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x128], eax
mov eax, 3
mul dword [ebp - 0x118]
mov ecx, dword [ebp - 0x128]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10c]
and eax, 3
mov dword [ebp - 0x120], eax
cmp eax, 2
jne 0x4a7d09
mov eax, dword [ebp - 0x108]
lea edx, [eax + 1]
mov dword [ebp - 0x108], edx
movsx edx, byte [esi]
shl edx, 2
movsx ecx, byte [esi + 1]
sar ecx, 4
or edx, ecx
mov byte [eax], dl
mov eax, dword [ebp + 0xc]
add dword [eax], 1
jmp 0x4a7d5b
mov eax, dword [ebp - 0x120]
cmp eax, 3
jne 0x4a7d5b
mov eax, dword [ebp - 0x108]
lea edx, [eax + 1]
mov dword [ebp - 0x108], edx
movsx edx, byte [esi]
shl edx, 2
movsx ecx, byte [esi + 1]
sar ecx, 4
or edx, ecx
mov byte [eax], dl
mov eax, dword [ebp - 0x108]
lea edx, [eax + 1]
mov dword [ebp - 0x108], edx
movsx edx, byte [esi + 1]
shl edx, 4
movsx ecx, byte [esi + 2]
sar ecx, 2
or edx, ecx
mov byte [eax], dl
mov eax, dword [ebp + 0xc]
add dword [eax], 2
mov eax, dword [ebp - 0x110]
push eax
call fcn.0049b640
pop ecx
mov eax, dword [ebp - 0x11c]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret