Function at 0x5cb640
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x5cb648
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov esi, eax
lea ebx, [ebp - 8]
xor eax, eax
push ebp
push 0x5cbc6c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.00404778
and eax, 0x80000003
jns 0x5cb67b
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x5cb6f4
mov eax, esi
call fcn.00404778
and eax, 0x80000003
jns 0x5cb692
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 2
jne 0x5cb6a6
lea eax, [ebp - 0x10]
mov ecx, 0x5cbc84
mov edx, esi
call fcn.004047c4
mov eax, esi
call fcn.00404778
and eax, 0x80000003
jns 0x5cb6b9
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 3
jne 0x5cb6cd
lea eax, [ebp - 0x10]
mov ecx, 0x5cbc90
mov edx, esi
call fcn.004047c4
mov eax, esi
call fcn.00404778
and eax, 0x80000003
jns 0x5cb6e0
dec eax
or eax, 0xfffffffc
inc eax
dec eax
jne 0x5cb6fe
lea eax, [ebp - 0x10]
mov ecx, 0x5cbc90
mov edx, esi
call fcn.004047c4
jmp 0x5cb6fe
lea eax, [ebp - 0x10]
mov edx, esi
call fcn.00404550
mov eax, dword [ebp - 0x10]
call fcn.00404778
test eax, eax
jns 0x5cb70d
add eax, 3
sar eax, 2
dec eax
lea edx, [eax + eax*2]
mov eax, dword [ebp - 4]
call fcn.00404b04
mov eax, dword [ebp - 0x10]
call fcn.00404778
mov edi, eax
test edi, edi
jns 0x5cb72d
add edi, 3
sar edi, 2
dec edi
test edi, edi
jle 0x5cb8b7
mov esi, 1
lea eax, [ebp - 0x10]
call fcn.004049d0
mov edx, esi
dec edx
shl edx, 2
add eax, edx
mov edx, ebx
mov ecx, 4
call fcn.004029fc
mov al, byte [ebx]
cmp al, 0x40
jbe 0x5cb769
cmp al, 0x5b
jae 0x5cb769
sub byte [ebx], 0x41
jmp 0x5cb793
mov al, byte [ebx]
cmp al, 0x60
jbe 0x5cb778
cmp al, 0x7b
jae 0x5cb778
sub byte [ebx], 0x47
jmp 0x5cb793
mov al, byte [ebx]
cmp al, 0x2f
jbe 0x5cb787
cmp al, 0x3a
jae 0x5cb787
add byte [ebx], 4
jmp 0x5cb793
cmp al, 0x2b
jne 0x5cb790
mov byte [ebx], 0x3e
jmp 0x5cb793
mov byte [ebx], 0x3f
mov al, byte [ebx + 1]
cmp al, 0x40
jbe 0x5cb7a4
cmp al, 0x5b
jae 0x5cb7a4
sub byte [ebx + 1], 0x41
jmp 0x5cb7d4
mov al, byte [ebx + 1]
cmp al, 0x60
jbe 0x5cb7b5
cmp al, 0x7b
jae 0x5cb7b5
sub byte [ebx + 1], 0x47
jmp 0x5cb7d4
mov al, byte [ebx + 1]
cmp al, 0x2f
jbe 0x5cb7c6
cmp al, 0x3a
jae 0x5cb7c6
add byte [ebx + 1], 4
jmp 0x5cb7d4
cmp al, 0x2b
jne 0x5cb7d0
mov byte [ebx + 1], 0x3e
jmp 0x5cb7d4
mov byte [ebx + 1], 0x3f
mov al, byte [ebx + 2]
cmp al, 0x40
jbe 0x5cb7e5
cmp al, 0x5b
jae 0x5cb7e5
sub byte [ebx + 2], 0x41
jmp 0x5cb815
mov al, byte [ebx + 2]
cmp al, 0x60
jbe 0x5cb7f6
cmp al, 0x7b
jae 0x5cb7f6
sub byte [ebx + 2], 0x47
jmp 0x5cb815
mov al, byte [ebx + 2]
cmp al, 0x2f
jbe 0x5cb807
cmp al, 0x3a
jae 0x5cb807
add byte [ebx + 2], 4
jmp 0x5cb815
cmp al, 0x2b
jne 0x5cb811
mov byte [ebx + 2], 0x3e
jmp 0x5cb815
mov byte [ebx + 2], 0x3f
mov al, byte [ebx + 3]
cmp al, 0x40
jbe 0x5cb826
cmp al, 0x5b
jae 0x5cb826
sub byte [ebx + 3], 0x41
jmp 0x5cb856
mov al, byte [ebx + 3]
cmp al, 0x60
jbe 0x5cb837
cmp al, 0x7b
jae 0x5cb837
sub byte [ebx + 3], 0x47
jmp 0x5cb856
mov al, byte [ebx + 3]
cmp al, 0x2f
jbe 0x5cb848
cmp al, 0x3a
jae 0x5cb848
add byte [ebx + 3], 4
jmp 0x5cb856
cmp al, 0x2b
jne 0x5cb852
mov byte [ebx + 3], 0x3e
jmp 0x5cb856
mov byte [ebx + 3], 0x3f
mov dl, byte [ebx]
shl edx, 2
mov al, byte [ebx + 1]
xor ecx, ecx
mov cl, al
shr ecx, 4
and cl, 3
or dl, cl
mov byte [ebp - 0xb], dl
shl eax, 4
xor edx, edx
mov dl, byte [ebx + 2]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xa], al
mov al, byte [ebx + 2]
shl eax, 6
mov dl, byte [ebx + 3]
and dl, 0x3f
or al, dl
mov byte [ebp - 9], al
mov eax, dword [ebp - 4]
call fcn.004049d0
mov edx, esi
dec edx
lea edx, [edx + edx*2]
lea edx, [eax + edx]
lea eax, [ebp - 0xb]
mov ecx, 3
call fcn.004029fc
inc esi
dec edi
jne 0x5cb73e
mov eax, dword [ebp - 0x10]
call fcn.00404778
test eax, eax
je 0x5cbc51
mov eax, dword [ebp - 0x10]
call fcn.00404778
mov esi, eax
lea eax, [ebp - 0x10]
call fcn.004049d0
lea eax, [eax + esi - 4]
mov edx, ebx
mov ecx, 4
call fcn.004029fc
cmp byte [ebx + 2], 0x3d
jne 0x5cb9a4
mov al, byte [ebx]
cmp al, 0x40
jbe 0x5cb902
cmp al, 0x5b
jae 0x5cb902
sub byte [ebx], 0x41
jmp 0x5cb92d
mov al, byte [ebx]
cmp al, 0x60
jbe 0x5cb911
cmp al, 0x7b
jae 0x5cb911
sub byte [ebx], 0x47
jmp 0x5cb92d
cmp byte [ebx], 0x2f
jbe 0x5cb920
cmp byte [ebx], 0x3a
jae 0x5cb920
add byte [ebx], 4
jmp 0x5cb92d
cmp byte [ebx], 0x2b
jne 0x5cb92a
mov byte [ebx], 0x3e
jmp 0x5cb92d
mov byte [ebx], 0x3f
mov al, byte [ebx + 1]
cmp al, 0x40
jbe 0x5cb93e
cmp al, 0x5b
jae 0x5cb93e
sub byte [ebx + 1], 0x41
jmp 0x5cb971
mov al, byte [ebx + 1]
cmp al, 0x60
jbe 0x5cb94f
cmp al, 0x7b
jae 0x5cb94f
sub byte [ebx + 1], 0x47
jmp 0x5cb971
cmp byte [ebx + 1], 0x2f
jbe 0x5cb961
cmp byte [ebx + 1], 0x3a
jae 0x5cb961
add byte [ebx + 1], 4
jmp 0x5cb971
cmp byte [ebx + 1], 0x2b
jne 0x5cb96d
mov byte [ebx + 1], 0x3e
jmp 0x5cb971
mov byte [ebx + 1], 0x3f
mov al, byte [ebx]
shl eax, 2
xor edx, edx
mov dl, byte [ebx + 1]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0xb], al
lea eax, [ebp - 0x14]
mov dl, byte [ebp - 0xb]
call fcn.004046a0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.00404780
mov eax, dword [ebp - 4]
jmp 0x5cbc51
cmp byte [ebx + 3], 0x3d
jne 0x5cbacf
mov al, byte [ebx]
cmp al, 0x40
jbe 0x5cb9bd
cmp al, 0x5b
jae 0x5cb9bd
sub byte [ebx], 0x41
jmp 0x5cb9e8
cmp byte [ebx], 0x60
jbe 0x5cb9cc
cmp byte [ebx], 0x7b
jae 0x5cb9cc
sub byte [ebx], 0x47
jmp 0x5cb9e8
cmp byte [ebx], 0x2f
jbe 0x5cb9db
cmp byte [ebx], 0x3a
jae 0x5cb9db
add byte [ebx], 4
jmp 0x5cb9e8
cmp byte [ebx], 0x2b
jne 0x5cb9e5
mov byte [ebx], 0x3e
jmp 0x5cb9e8
mov byte [ebx], 0x3f
mov al, byte [ebx + 1]
cmp al, 0x40
jbe 0x5cb9f9
cmp al, 0x5b
jae 0x5cb9f9
sub byte [ebx + 1], 0x41
jmp 0x5cba2d
cmp byte [ebx + 1], 0x60
jbe 0x5cba0b
cmp byte [ebx + 1], 0x7b
jae 0x5cba0b
sub byte [ebx + 1], 0x47
jmp 0x5cba2d
cmp byte [ebx + 1], 0x2f
jbe 0x5cba1d
cmp byte [ebx + 1], 0x3a
jae 0x5cba1d
add byte [ebx + 1], 4
jmp 0x5cba2d
cmp byte [ebx + 1], 0x2b
jne 0x5cba29
mov byte [ebx + 1], 0x3e
jmp 0x5cba2d
mov byte [ebx + 1], 0x3f
mov al, byte [ebx + 2]
cmp al, 0x40
jbe 0x5cba3e
cmp al, 0x5b
jae 0x5cba3e
sub byte [ebx + 2], 0x41
jmp 0x5cba72
cmp byte [ebx + 2], 0x60
jbe 0x5cba50
cmp byte [ebx + 2], 0x7b
jae 0x5cba50
sub byte [ebx + 2], 0x47
jmp 0x5cba72
cmp byte [ebx + 2], 0x2f
jbe 0x5cba62
cmp byte [ebx + 2], 0x3a
jae 0x5cba62
add byte [ebx + 2], 4
jmp 0x5cba72
cmp byte [ebx + 2], 0x2b
jne 0x5cba6e
mov byte [ebx + 2], 0x3e
jmp 0x5cba72
mov byte [ebx + 2], 0x3f
mov dl, byte [ebx]
shl edx, 2
mov al, byte [ebx + 1]
xor ecx, ecx
mov cl, al
shr ecx, 4
and cl, 3
or dl, cl
mov byte [ebp - 0xb], dl
shl eax, 4
xor edx, edx
mov dl, byte [ebx + 2]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xa], al
mov eax, dword [ebp - 4]
push dword [eax]
lea eax, [ebp - 0x18]
mov dl, byte [ebp - 0xb]
call fcn.004046a0
push dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
mov dl, byte [ebp - 0xa]
call fcn.004046a0
push dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov edx, 3
call fcn.00404838
jmp 0x5cbc51
mov al, byte [ebx]
cmp al, 0x40
jbe 0x5cbade
cmp al, 0x5b
jae 0x5cbade
sub byte [ebx], 0x41
jmp 0x5cbb09
cmp byte [ebx], 0x60
jbe 0x5cbaed
cmp byte [ebx], 0x7b
jae 0x5cbaed
sub byte [ebx], 0x47
jmp 0x5cbb09
cmp byte [ebx], 0x2f
jbe 0x5cbafc
cmp byte [ebx], 0x3a
jae 0x5cbafc
add byte [ebx], 4
jmp 0x5cbb09
cmp byte [ebx], 0x2b
jne 0x5cbb06
mov byte [ebx], 0x3e
jmp 0x5cbb09
mov byte [ebx], 0x3f
mov al, byte [ebx + 1]
cmp al, 0x40
jbe 0x5cbb1a
cmp al, 0x5b
jae 0x5cbb1a
sub byte [ebx + 1], 0x41
jmp 0x5cbb4e
cmp byte [ebx + 1], 0x60
jbe 0x5cbb2c
cmp byte [ebx + 1], 0x7b
jae 0x5cbb2c
sub byte [ebx + 1], 0x47
jmp 0x5cbb4e
cmp byte [ebx + 1], 0x2f
jbe 0x5cbb3e
cmp byte [ebx + 1], 0x3a
jae 0x5cbb3e
add byte [ebx + 1], 4
jmp 0x5cbb4e
cmp byte [ebx + 1], 0x2b
jne 0x5cbb4a
mov byte [ebx + 1], 0x3e
jmp 0x5cbb4e
mov byte [ebx + 1], 0x3f
mov al, byte [ebx + 2]
cmp al, 0x40
jbe 0x5cbb5f
cmp al, 0x5b
jae 0x5cbb5f
sub byte [ebx + 2], 0x41
jmp 0x5cbb93
cmp byte [ebx + 2], 0x60
jbe 0x5cbb71
cmp byte [ebx + 2], 0x7b
jae 0x5cbb71
sub byte [ebx + 2], 0x47
jmp 0x5cbb93
cmp byte [ebx + 2], 0x2f
jbe 0x5cbb83
cmp byte [ebx + 2], 0x3a
jae 0x5cbb83
add byte [ebx + 2], 4
jmp 0x5cbb93
cmp byte [ebx + 2], 0x2b
jne 0x5cbb8f
mov byte [ebx + 2], 0x3e
jmp 0x5cbb93
mov byte [ebx + 2], 0x3f
cmp byte [ebx + 3], 0x40
jbe 0x5cbba5
cmp byte [ebx + 3], 0x5b
jae 0x5cbba5
sub byte [ebx + 3], 0x41
jmp 0x5cbbd9
cmp byte [ebx + 3], 0x60
jbe 0x5cbbb7
cmp byte [ebx + 3], 0x7b
jae 0x5cbbb7
sub byte [ebx + 3], 0x47
jmp 0x5cbbd9
cmp byte [ebx + 3], 0x2f
jbe 0x5cbbc9
cmp byte [ebx + 3], 0x3a
jae 0x5cbbc9
add byte [ebx + 3], 4
jmp 0x5cbbd9
cmp byte [ebx + 3], 0x2b
jne 0x5cbbd5
mov byte [ebx + 3], 0x3e
jmp 0x5cbbd9
mov byte [ebx + 3], 0x3f
mov al, byte [ebx]
shl eax, 2
xor edx, edx
mov dl, byte [ebx + 1]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0xb], al
mov al, byte [ebx + 1]
shl eax, 4
xor edx, edx
mov dl, byte [ebx + 2]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xa], al
mov al, byte [ebx + 2]
shl eax, 6
mov dl, byte [ebx + 3]
and dl, 0x3f
or al, dl
mov byte [ebp - 9], al
mov eax, dword [ebp - 4]
push dword [eax]
lea eax, [ebp - 0x20]
mov dl, byte [ebp - 0xb]
call fcn.004046a0
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
mov dl, byte [ebp - 0xa]
call fcn.004046a0
push dword [ebp - 0x24]
lea eax, [ebp - 0x28]
mov dl, byte [ebp - 9]
call fcn.004046a0
push dword [ebp - 0x28]
mov eax, dword [ebp - 4]
mov edx, 4
call fcn.00404838
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5cbc73
lea eax, [ebp - 0x28]
mov edx, 7
call fcn.004044dc
ret