Function at 0x4a36ac
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.0040588c
xor eax, eax
push ebp
push 0x4a38b6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.004053cc
mov eax, dword [ebp - 8]
call fcn.0040569c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x1c], 0
jne 0x4a3709
mov byte [ebp - 0xd], 0
jmp 0x4a3893
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx - 1]
mov byte [ebp - 0x15], al
inc dword [ebp - 0x14]
dec dword [ebp - 0x1c]
xor eax, eax
mov al, byte [ebp - 0x15]
shr eax, 2
mov byte [ebp - 0x17], al
lea ecx, [ebp - 0x18]
mov dl, byte [ebp - 0x17]
mov eax, dword [ebp - 4]
call fcn.004a35d0
test al, al
jne 0x4a3742
mov byte [ebp - 0xd], 1
jmp 0x4a3893
lea eax, [ebp - 0x20]
mov dl, byte [ebp - 0x18]
call fcn.004055b4
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.004056a4
mov eax, dword [ebp - 0xc]
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x16], al
cmp dword [ebp - 0x1c], 0
jne 0x4a376d
mov byte [ebp - 0x15], 0
jmp 0x4a377d
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx - 1]
mov byte [ebp - 0x15], al
inc dword [ebp - 0x14]
dec dword [ebp - 0x1c]
mov al, byte [ebp - 0x16]
and al, 3
shl eax, 4
xor edx, edx
mov dl, byte [ebp - 0x15]
shr edx, 4
add al, dl
mov byte [ebp - 0x17], al
lea ecx, [ebp - 0x18]
mov dl, byte [ebp - 0x17]
mov eax, dword [ebp - 4]
call fcn.004a35d0
test al, al
jne 0x4a37b0
mov byte [ebp - 0xd], 1
jmp 0x4a3893
lea eax, [ebp - 0x24]
mov dl, byte [ebp - 0x18]
call fcn.004055b4
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
call fcn.004056a4
mov eax, dword [ebp - 0xc]
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x16], al
cmp dword [ebp - 0x1c], 0
jge 0x4a37db
mov byte [ebp - 0x18], 0x3d
jmp 0x4a3827
cmp dword [ebp - 0x1c], 0
jne 0x4a37e7
mov byte [ebp - 0x15], 0
jmp 0x4a37f7
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx - 1]
mov byte [ebp - 0x15], al
inc dword [ebp - 0x14]
dec dword [ebp - 0x1c]
mov al, byte [ebp - 0x16]
and al, 0xf
shl eax, 2
xor edx, edx
mov dl, byte [ebp - 0x15]
shr edx, 6
add al, dl
mov byte [ebp - 0x17], al
lea ecx, [ebp - 0x18]
mov dl, byte [ebp - 0x17]
mov eax, dword [ebp - 4]
call fcn.004a35d0
test al, al
jne 0x4a3827
mov byte [ebp - 0xd], 1
jmp 0x4a3893
lea eax, [ebp - 0x28]
mov dl, byte [ebp - 0x18]
call fcn.004055b4
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.004056a4
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x1c], 0
jge 0x4a384c
mov byte [ebp - 0x18], 0x3d
jmp 0x4a386c
mov al, byte [ebp - 0x15]
and al, 0x3f
mov byte [ebp - 0x17], al
lea ecx, [ebp - 0x18]
mov dl, byte [ebp - 0x17]
mov eax, dword [ebp - 4]
call fcn.004a35d0
test al, al
jne 0x4a386c
mov byte [ebp - 0xd], 1
jmp 0x4a3893
lea eax, [ebp - 0x2c]
mov dl, byte [ebp - 0x18]
call fcn.004055b4
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.004056a4
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x1c], 0
jg 0x4a3709
mov byte [ebp - 0xd], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a38bd
lea eax, [ebp - 0x2c]
mov edx, 4
call fcn.004053f0
lea eax, [ebp - 8]
call fcn.004053cc
ret