Function at 0x44c0c0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
xor eax, eax
mov dword [ebp - 0x18], ecx
push ebx
mov ebx, dword [ebp + 0x10]
lea ecx, [edx + 2]
push esi
xor esi, esi
mov dword [ebp - 0x10], edx
push edi
mov edi, dword [ebp + 8]
test edi, edi
mov dword [ebp - 8], esi
sete al
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xc], eax
mov eax, 0xaaaaaaab
mul ecx
xor eax, eax
mov dword [ebp - 0x1c], esi
shr edx, 1
shl edx, 2
lea ecx, [edx + 0x3f]
shr ecx, 6
cmp ebx, 2
cmovne eax, ecx
mov ecx, dword [ebp + 0xc]
add edx, eax
mov dword [ebp - 0x20], edx
test ecx, ecx
je 0x44c3c5
cmp edx, dword [ecx]
jbe 0x44c123
test edi, edi
jne 0x44c3c5
mov eax, dword [ebp - 0x10]
cmp eax, 2
ja 0x44c163
test eax, eax
je 0x44c34d
test esi, esi
jne 0x44c373
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
mov dl, byte [ecx + esi]
mov byte [ebp + 0x13], dl
cmp eax, 2
jne 0x44c297
mov al, byte [ecx + esi + 1]
jmp 0x44c299
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
push dword [ebp - 0xc]
push 0
mov dl, byte [esi + eax]
mov al, byte [esi + eax + 1]
push dword [ecx]
mov byte [ebp + 0xb], al
mov ecx, ebx
mov eax, dword [ebp - 0x18]
mov byte [ebp - 1], dl
shr dl, 2
mov al, byte [esi + eax + 2]
add esi, 3
mov byte [ebp + 0x13], al
lea eax, [ebp - 8]
push eax
push edi
mov dword [ebp - 0x14], esi
call fcn.0044bfc0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44c28f
push dword [ebp - 0xc]
mov dl, byte [ebp - 1]
mov ecx, ebx
push eax
mov eax, dword [ebp + 0xc]
and dl, 3
shl dl, 4
push dword [eax]
lea eax, [ebp - 8]
push eax
mov al, byte [ebp + 0xb]
shr al, 4
push edi
or dl, al
call fcn.0044bfc0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44c287
push dword [ebp - 0xc]
mov dl, byte [ebp + 0xb]
mov ecx, ebx
push eax
mov eax, dword [ebp + 0xc]
and dl, 0xf
shl dl, 2
push dword [eax]
lea eax, [ebp - 8]
push eax
mov al, byte [ebp + 0x13]
shr al, 6
push edi
or dl, al
call fcn.0044bfc0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44c287
push dword [ebp - 0xc]
mov dl, byte [ebp + 0x13]
mov ecx, ebx
push eax
mov eax, dword [ebp + 0xc]
and dl, 0x3f
push dword [eax]
lea eax, [ebp - 8]
push eax
push edi
call fcn.0044bfc0
mov esi, eax
add esp, 0x14
mov eax, dword [ebp - 0x10]
test esi, esi
jne 0x44c12b
sub eax, 3
mov dword [ebp - 0x10], eax
cmp ebx, 2
je 0x44c279
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
test cl, 0xf
jne 0x44c279
test eax, eax
je 0x44c34d
push dword [ebp - 0xc]
mov eax, dword [ebp + 0xc]
mov dl, 0xa
push 1
mov ecx, ebx
push dword [eax]
lea eax, [ebp - 8]
push eax
push edi
call fcn.0044bfc0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44c28f
mov eax, dword [ebp - 0x10]
cmp eax, 2
ja 0x44c160
jmp 0x44c12b
mov eax, dword [ebp - 0x10]
jmp 0x44c12b
mov eax, dword [ebp - 0x10]
jmp 0x44c133
xor al, al
push dword [ebp - 0xc]
mov byte [ebp + 0xb], al
mov ecx, ebx
and al, 0xf
shr dl, 2
shl al, 2
mov byte [ebp - 1], al
mov eax, dword [ebp + 0xc]
push 0
push dword [eax]
lea eax, [ebp - 8]
push eax
push edi
call fcn.0044bfc0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44c373
push dword [ebp - 0xc]
mov dl, byte [ebp + 0x13]
mov cl, byte [ebp + 0xb]
and dl, 3
push eax
mov eax, dword [ebp + 0xc]
shr cl, 4
shl dl, 4
or dl, cl
mov ecx, ebx
push dword [eax]
lea eax, [ebp - 8]
push eax
push edi
call fcn.0044bfc0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44c373
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
mov cl, byte [ebp - 1]
mov esi, dword [eax]
mov eax, dword [ebp - 0xc]
cmp edx, 2
je 0x44c30e
mov cl, 0x3d
push eax
xor eax, eax
cmp edx, 2
mov dl, cl
mov ecx, ebx
setne al
push eax
push esi
lea eax, [ebp - 8]
push eax
push edi
call fcn.0044bfc0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x44c373
push dword [ebp - 0xc]
mov eax, dword [ebp + 0xc]
mov dl, 0x3d
push 1
mov ecx, ebx
push dword [eax]
lea eax, [ebp - 8]
push eax
push edi
call fcn.0044bfc0
add esp, 0x14
mov esi, eax
test esi, esi
jne 0x44c373
cmp ebx, 2
je 0x44c373
push dword [ebp - 0xc]
mov eax, dword [ebp + 0xc]
mov dl, 0xa
push 1
mov ecx, ebx
push dword [eax]
lea eax, [ebp - 8]
push eax
push edi
call fcn.0044bfc0
add esp, 0x14
mov esi, eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 8], eax
je 0x44c38b
test esi, esi
jne 0x44c38b
pop edi
pop esi
mov eax, 0xffffff66
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x44c39d
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
cmp dword [eax], ecx
jbe 0x44c39d
mov byte [ecx + edi], 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
mov dword [ecx], eax
test esi, esi
jne 0x44c3bc
xor eax, eax
mov ecx, 0xffffff36
test edi, edi
pop edi
pop esi
cmove eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffff53
pop ebx
mov esp, ebp
pop ebp
ret