Function at 0x545a8c
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.00405da8
cmp byte [ebp - 1], 0
jne 0x545ae8
mov eax, dword [ebp + 8]
call fcn.00405ca4
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 0x545b06
sub al, 2
jb 0x545b0f
jmp 0x545b16
mov dword [ebp - 0x18], 2
jmp 0x545b16
mov dword [ebp - 0x18], 1
mov eax, dword [ebp + 8]
call fcn.00405ca4
mov edx, dword [ebp - 0x18]
mov byte [eax + edx - 1], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xc]
jge 0x545c30
cmp dword [ebp - 0x10], 0
jle 0x545b8a
mov eax, dword [ebp + 8]
call fcn.00405ca4
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.00405ca4
mov edx, dword [ebp - 0x18]
mov byte [eax + edx - 1], 0
jmp 0x545c24
cmp dword [ebp - 0x10], 0
jge 0x545bde
mov eax, dword [ebp - 0x10]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
call fcn.00405ca4
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 0x545c24
mov eax, dword [ebp + 8]
call fcn.00405ca4
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.00405ca4
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 0x545b32
mov al, byte [ebp - 1]
sub al, 1
jb 0x545c40
sub al, 2
jb 0x545c8f
jmp 0x545cf1
cmp dword [ebp - 0x10], 2
jne 0x545c49
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, 2
jl 0x545cf1
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 2
mov eax, dword [ebp + 8]
call fcn.00405ca4
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 [0x56884c]
mov cl, byte [ebx + ecx]
mov byte [eax + edx - 1], cl
inc dword [ebp - 0x1c]
dec dword [ebp - 0x20]
jne 0x545c60
jmp 0x545cf1
cmp dword [ebp - 0x10], 2
jne 0x545c98
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0x545ceb
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp + 8]
call fcn.00405ca4
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 [0x568850]
mov cl, byte [ebx + ecx]
mov byte [eax + edx - 1], cl
inc dword [ebp - 0x1c]
dec dword [ebp - 0x20]
jne 0x545ca9
jmp 0x545ceb
inc dword [ebp - 0x18]
mov eax, dword [ebp + 8]
call fcn.00405ca4
mov edx, dword [ebp - 0x18]
mov byte [eax + edx - 1], 0x3d
test byte [ebp - 0x18], 3
jne 0x545cd8
mov eax, dword [ebp + 8]
xor ecx, ecx
mov edx, dword [ebp - 0x18]
call fcn.00405d10
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4