Function at 0x4e95f0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x118
mov eax, dword [ecx + 4]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x130]
push eax
push edi
mov dword [esp + 0x20], ecx
call fcn.004e94d0
mov ebp, dword [esp + 0x13c]
add esp, 8
mov ecx, ebp
push eax
call fcn.004e4bd0
test al, al
jne 0x4e9632
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x118
ret 0xc
xor ecx, ecx
cmp edi, ecx
je 0x4e9899
mov ebx, dword [esp + 0x12c]
cmp ebx, ecx
je 0x4e9899
mov eax, 0xaaaaaaab
xor esi, esi
mul edi
shr edx, 1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
je 0x4e976a
xor eax, eax
xor edx, edx
mov al, byte [esi + ebx]
mov dl, byte [esi + ebx + 1]
inc esi
mov edi, edx
inc esi
xor edx, edx
mov dl, byte [esi + ebx]
inc esi
mov ebp, edx
mov edx, eax
sar edx, 2
and edx, 0x3f
and eax, 3
shl eax, 4
mov dl, byte [edx + 0x65d9a0]
mov byte [esp + ecx + 0x20], dl
mov edx, edi
sar edx, 4
and edx, 0xf
and edi, 0xf
or edx, eax
inc ecx
shl edi, 2
mov al, byte [edx + 0x65d9a0]
mov edx, ebp
sar edx, 6
and edx, 3
mov byte [esp + ecx + 0x20], al
or edx, edi
inc ecx
and ebp, 0x3f
inc ecx
mov al, byte [edx + 0x65d9a0]
mov dl, byte [ebp + 0x65d9a0]
mov byte [esp + ecx + 0x1f], al
mov eax, dword [esp + 0x10]
mov byte [esp + ecx + 0x20], dl
mov edx, dword [esp + 0x18]
add eax, 4
inc ecx
mov dword [esp + 0x10], eax
cmp eax, dword [edx + 4]
jb 0x4e96fe
mov byte [esp + ecx + 0x20], 0xd
inc ecx
mov dword [esp + 0x10], 0
mov byte [esp + ecx + 0x20], 0xa
inc ecx
cmp ecx, 0x100
jl 0x4e971e
lea eax, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x138]
push eax
call fcn.004e52e0
test al, al
je 0x4e974d
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
inc eax
cmp eax, edx
mov dword [esp + 0x14], eax
jb 0x4e9668
test ecx, ecx
je 0x4e975c
push ecx
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x13c]
call fcn.004e52e0
test al, al
jne 0x4e975c
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x118
ret 0xc
mov ebp, dword [esp + 0x134]
mov edi, dword [esp + 0x130]
mov eax, edi
xor edx, edx
mov edi, 3
mov cl, 1
div edi
sub edx, 0
je 0x4e9870
dec edx
je 0x4e97ee
dec edx
jne 0x4e988a
xor edx, edx
xor eax, eax
mov dl, byte [esi + ebx]
mov al, byte [esi + ebx + 1]
mov edi, edx
mov esi, eax
mov ecx, edi
sar ecx, 2
and ecx, 0x3f
mov dl, byte [ecx + 0x65d9a0]
mov ecx, ebp
push edx
call fcn.004e3f90
mov cl, al
test cl, cl
je 0x4e988a
mov eax, esi
and edi, 3
sar eax, 4
and eax, 0xf
shl edi, 4
or eax, edi
mov cl, byte [eax + 0x65d9a0]
push ecx
mov ecx, ebp
call fcn.004e3f90
mov cl, al
test cl, cl
je 0x4e988a
and esi, 0xf
mov dl, byte [esi*4 + 0x65d9a0]
push edx
jmp 0x4e982d
xor eax, eax
mov al, byte [esi + ebx]
mov esi, eax
mov ecx, esi
sar ecx, 2
and ecx, 0x3f
mov dl, byte [ecx + 0x65d9a0]
mov ecx, ebp
push edx
call fcn.004e3f90
mov cl, al
test cl, cl
je 0x4e988a
and esi, 3
mov ecx, ebp
shl esi, 4
mov al, byte [esi + 0x65d9a0]
push eax
call fcn.004e3f90
mov cl, al
test cl, cl
je 0x4e988a
push 0x3d
mov ecx, ebp
call fcn.004e3f90
mov cl, al
test cl, cl
je 0x4e988a
push 0x3d
mov ecx, ebp
call fcn.004e3f90
mov cl, al
test cl, cl
je 0x4e988a
push 0xd
mov ecx, ebp
call fcn.004e3f90
mov cl, al
test cl, cl
je 0x4e988a
push 0xa
mov ecx, ebp
call fcn.004e3f90
pop edi
pop esi
pop ebp
mov cl, al
pop ebx
add esp, 0x118
ret 0xc
push 0xd
mov ecx, ebp
call fcn.004e3f90
mov cl, al
test cl, cl
je 0x4e988a
push 0xa
mov ecx, ebp
call fcn.004e3f90
mov cl, al
pop edi
pop esi
pop ebp
mov al, cl
pop ebx
add esp, 0x118
ret 0xc
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x118
ret 0xc