Function at 0x41ed80
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x51484c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ecx + 4]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x110], eax
lea ecx, [esi + esi*4 + 0xa]
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
push edi
mov edi, dword [ebp + 0x10]
add ecx, edx
cmp dword [ebp - 0x110], 0
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x120], edi
je 0x41ede5
lea eax, [ecx + ecx]
cdq
idiv dword [ebp - 0x110]
lea ecx, [ecx + eax + 3]
jmp 0x41ede8
add ecx, 3
push 0x3f1
push ecx
mov ecx, edi
call fcn.004060f0
test esi, esi
je 0x41effd
test ebx, ebx
je 0x41effd
mov eax, 0x55555556
imul dword [ebp + 0xc]
mov eax, edx
shr eax, 0x1f
add eax, edx
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x124], eax
test eax, eax
jle 0x41ef37
mov dword [ebp - 0x11c], eax
jmp 0x41ee46
mov ebx, dword [ebp - 0x114]
movzx eax, byte [ebx + esi]
movzx edx, byte [ebx + esi + 2]
movzx edi, byte [ebx + esi + 1]
mov ebx, eax
sar ebx, 2
and ebx, 0x3f
mov bl, byte [ebx + 0x4b3fd0]
mov byte [ebp + ecx - 0x10c], bl
and eax, 3
shl eax, 4
mov ebx, edi
sar ebx, 4
and ebx, 0xf
or ebx, eax
movzx eax, byte [ebx + 0x4b3fd0]
mov byte [ebp + ecx - 0x10b], al
mov eax, edx
sar eax, 6
and edi, 0xf
and eax, 3
add edi, edi
add edi, edi
or eax, edi
movzx eax, byte [eax + 0x4b3fd0]
and edx, 0x3f
mov dl, byte [edx + 0x4b3fd0]
mov byte [ebp + ecx - 0x10a], al
mov eax, dword [ebp - 0x110]
mov byte [ebp + ecx - 0x109], dl
mov edx, dword [ebp - 0x118]
add eax, 4
add esi, 3
add ecx, 4
mov dword [ebp - 0x110], eax
cmp eax, dword [edx + 4]
jl 0x41eeed
mov word [ebp + ecx - 0x10c], 0xa0d
add ecx, 2
mov dword [ebp - 0x110], 0
mov edi, dword [ebp - 0x120]
cmp ecx, 0x100
jl 0x41ef0c
push ecx
lea eax, [ebp - 0x10c]
push eax
mov ecx, edi
call fcn.004063d0
xor ecx, ecx
dec dword [ebp - 0x11c]
jne 0x41ee40
test ecx, ecx
je 0x41ef2b
push ecx
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, edi
call fcn.004063d0
mov eax, dword [ebp - 0x124]
mov ebx, dword [ebp - 0x114]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0xc]
sub eax, edx
sub eax, 0
je 0x41efeb
dec eax
je 0x41efa9
dec eax
jne 0x41effd
movzx eax, byte [ebx + esi]
movzx esi, byte [ebx + esi + 1]
mov dword [ebp - 0x118], eax
sar eax, 2
and eax, 0x3f
movzx eax, byte [eax + 0x4b3fd0]
push eax
mov ecx, edi
call fcn.00405f00
mov eax, dword [ebp - 0x118]
mov ecx, esi
sar ecx, 4
and eax, 3
and ecx, 0xf
shl eax, 4
or ecx, eax
movzx edx, byte [ecx + 0x4b3fd0]
push edx
mov ecx, edi
call fcn.00405f00
and esi, 0xf
movzx eax, byte [esi*4 + 0x4b3fd0]
push eax
jmp 0x41efdb
movzx esi, byte [ebx + esi]
mov ecx, esi
sar ecx, 2
and ecx, 0x3f
movzx edx, byte [ecx + 0x4b3fd0]
push edx
mov ecx, edi
call fcn.00405f00
and esi, 3
shl esi, 4
movzx eax, byte [esi + 0x4b3fd0]
push eax
mov ecx, edi
call fcn.00405f00
push 0x3d
mov ecx, edi
call fcn.00405f00
push 0x3d
mov ecx, edi
call fcn.00405f00
push 0xd
mov ecx, edi
call fcn.00405f00
push 0xa
mov ecx, edi
call fcn.00405f00
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00462878
mov esp, ebp
pop ebp
ret 0xc