Function at 0x5e1ac0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov byte [ebp - 1], al
mov eax, dword [ebp - 0xc]
shl eax, 2
mov ecx, 3
cdq
idiv ecx
mov edx, eax
add edx, 4
mov ecx, dword [ebp + 8]
xor eax, eax
call fcn.00406590
cmp byte [ebp - 1], 0
jne 0x5e1b1c
mov eax, dword [ebp + 8]
call fcn.004063d0
mov dl, byte [ebp - 0xc]
dec edx
and dl, 0x3f
add dl, 0x21
mov byte [eax], dl
mov eax, dword [ebp - 0xc]
add eax, 2
mov ecx, 3
cdq
idiv ecx
lea eax, [eax + eax*2]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 2
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov al, byte [ebp - 1]
sub al, 1
jb 0x5e1b3a
sub al, 2
jb 0x5e1b43
jmp 0x5e1b4a
mov dword [ebp - 0x18], 2
jmp 0x5e1b4a
mov dword [ebp - 0x18], 1
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x18]
mov byte [eax + edx - 1], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xc]
jge 0x5e1c64
cmp dword [ebp - 0x10], 0
jle 0x5e1bbe
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov ebx, 0x3f
shl ebx, cl
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x14]
movzx ecx, byte [ecx + esi]
and ebx, ecx
mov ecx, dword [ebp - 0x10]
shr ebx, cl
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov esi, dword [ebp - 0x18]
or bl, byte [ecx + esi - 1]
mov byte [eax + edx - 1], bl
sub dword [ebp - 0x10], 6
inc dword [ebp - 0x18]
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x18]
mov byte [eax + edx - 1], 0
jmp 0x5e1c58
cmp dword [ebp - 0x10], 0
jge 0x5e1c12
mov eax, dword [ebp - 0x10]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov ebx, 0x3f
shr ebx, cl
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x14]
and bl, byte [ecx + esi]
mov ecx, dword [ebp - 0x10]
shl bl, cl
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov esi, dword [ebp - 0x18]
or bl, byte [ecx + esi - 1]
mov byte [eax + edx - 1], bl
mov eax, 8
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x14]
jmp 0x5e1c58
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
mov cl, byte [ecx + ebx]
and cl, 0x3f
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov esi, dword [ebp - 0x18]
mov bl, byte [ebx + esi - 1]
or cl, bl
mov byte [eax + edx - 1], cl
inc dword [ebp - 0x18]
inc dword [ebp - 0x14]
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x18]
mov byte [eax + edx - 1], 0
mov dword [ebp - 0x10], 2
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xc]
jl 0x5e1b66
mov al, byte [ebp - 1]
sub al, 1
jb 0x5e1c74
sub al, 2
jb 0x5e1cc3
jmp 0x5e1d25
cmp dword [ebp - 0x10], 2
jne 0x5e1c7d
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, 2
jl 0x5e1d25
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 2
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov ebx, dword [ebp - 0x1c]
movzx ecx, byte [ecx + ebx - 1]
mov ebx, dword [0x70fbb4]
mov cl, byte [ebx + ecx]
mov byte [eax + edx - 1], cl
inc dword [ebp - 0x1c]
dec dword [ebp - 0x20]
jne 0x5e1c94
jmp 0x5e1d25
cmp dword [ebp - 0x10], 2
jne 0x5e1ccc
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0x5e1d1f
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov ebx, dword [ebp - 0x1c]
movzx ecx, byte [ecx + ebx - 1]
mov ebx, dword [0x70fbb8]
mov cl, byte [ebx + ecx]
mov byte [eax + edx - 1], cl
inc dword [ebp - 0x1c]
dec dword [ebp - 0x20]
jne 0x5e1cdd
jmp 0x5e1d1f
inc dword [ebp - 0x18]
mov eax, dword [ebp + 8]
call fcn.004063d0
mov edx, dword [ebp - 0x18]
mov byte [eax + edx - 1], 0x3d
test byte [ebp - 0x18], 3
jne 0x5e1d0c
mov eax, dword [ebp + 8]
xor ecx, ecx
mov edx, dword [ebp - 0x18]
call fcn.004064f8
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4