Function at 0x150cbc
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x150cc4
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea ebx, [ebp - 0xc]
xor eax, eax
push ebp
push 0x151276
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.0001409c
and eax, 0x80000003
jns 0x150cf9
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x150d13
mov ecx, 0x15128c
mov dl, 1
mov eax, dword [0x185cc]
call fcn.0001cc4c
call fcn.00013820
mov eax, dword [ebp - 4]
call fcn.0001409c
test eax, eax
jns 0x150d22
add eax, 3
sar eax, 2
dec eax
lea edx, [eax + eax*2]
mov eax, dword [ebp - 8]
call fcn.000143d0
mov eax, dword [ebp - 4]
call fcn.0001409c
mov edi, eax
test edi, edi
jns 0x150d42
add edi, 3
sar edi, 2
dec edi
test edi, edi
jle 0x150ec8
mov esi, 1
mov eax, esi
dec eax
shl eax, 2
mov edx, dword [ebp - 4]
lea eax, [edx + eax]
mov edx, ebx
mov ecx, 4
call fcn.000129b8
mov al, byte [ebx]
cmp al, 0x40
jbe 0x150d7a
cmp al, 0x5b
jae 0x150d7a
sub byte [ebx], 0x41
jmp 0x150da4
mov al, byte [ebx]
cmp al, 0x60
jbe 0x150d89
cmp al, 0x7b
jae 0x150d89
sub byte [ebx], 0x47
jmp 0x150da4
mov al, byte [ebx]
cmp al, 0x2f
jbe 0x150d98
cmp al, 0x3a
jae 0x150d98
add byte [ebx], 4
jmp 0x150da4
cmp al, 0x2b
jne 0x150da1
mov byte [ebx], 0x3e
jmp 0x150da4
mov byte [ebx], 0x3f
mov al, byte [ebx + 1]
cmp al, 0x40
jbe 0x150db5
cmp al, 0x5b
jae 0x150db5
sub byte [ebx + 1], 0x41
jmp 0x150de5
mov al, byte [ebx + 1]
cmp al, 0x60
jbe 0x150dc6
cmp al, 0x7b
jae 0x150dc6
sub byte [ebx + 1], 0x47
jmp 0x150de5
mov al, byte [ebx + 1]
cmp al, 0x2f
jbe 0x150dd7
cmp al, 0x3a
jae 0x150dd7
add byte [ebx + 1], 4
jmp 0x150de5
cmp al, 0x2b
jne 0x150de1
mov byte [ebx + 1], 0x3e
jmp 0x150de5
mov byte [ebx + 1], 0x3f
mov al, byte [ebx + 2]
cmp al, 0x40
jbe 0x150df6
cmp al, 0x5b
jae 0x150df6
sub byte [ebx + 2], 0x41
jmp 0x150e26
mov al, byte [ebx + 2]
cmp al, 0x60
jbe 0x150e07
cmp al, 0x7b
jae 0x150e07
sub byte [ebx + 2], 0x47
jmp 0x150e26
mov al, byte [ebx + 2]
cmp al, 0x2f
jbe 0x150e18
cmp al, 0x3a
jae 0x150e18
add byte [ebx + 2], 4
jmp 0x150e26
cmp al, 0x2b
jne 0x150e22
mov byte [ebx + 2], 0x3e
jmp 0x150e26
mov byte [ebx + 2], 0x3f
mov al, byte [ebx + 3]
cmp al, 0x40
jbe 0x150e37
cmp al, 0x5b
jae 0x150e37
sub byte [ebx + 3], 0x41
jmp 0x150e67
mov al, byte [ebx + 3]
cmp al, 0x60
jbe 0x150e48
cmp al, 0x7b
jae 0x150e48
sub byte [ebx + 3], 0x47
jmp 0x150e67
mov al, byte [ebx + 3]
cmp al, 0x2f
jbe 0x150e59
cmp al, 0x3a
jae 0x150e59
add byte [ebx + 3], 4
jmp 0x150e67
cmp al, 0x2b
jne 0x150e63
mov byte [ebx + 3], 0x3e
jmp 0x150e67
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 - 0xf], dl
shl eax, 4
xor edx, edx
mov dl, byte [ebx + 2]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xe], al
mov al, byte [ebx + 2]
shl eax, 6
mov dl, byte [ebx + 3]
and dl, 0x3f
or al, dl
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 8]
call fcn.0001426c
mov edx, esi
dec edx
lea edx, [edx + edx*2]
lea edx, [eax + edx]
lea eax, [ebp - 0xf]
mov ecx, 3
call fcn.000129b8
inc esi
dec edi
jne 0x150d53
mov eax, dword [ebp - 4]
call fcn.0001409c
test eax, eax
je 0x15125b
mov eax, dword [ebp - 4]
call fcn.0001409c
mov edx, dword [ebp - 4]
lea eax, [edx + eax - 4]
mov edx, ebx
mov ecx, 4
call fcn.000129b8
cmp byte [ebx + 2], 0x3d
jne 0x150fae
mov al, byte [ebx]
cmp al, 0x40
jbe 0x150f0c
cmp al, 0x5b
jae 0x150f0c
sub byte [ebx], 0x41
jmp 0x150f37
mov al, byte [ebx]
cmp al, 0x60
jbe 0x150f1b
cmp al, 0x7b
jae 0x150f1b
sub byte [ebx], 0x47
jmp 0x150f37
cmp byte [ebx], 0x2f
jbe 0x150f2a
cmp byte [ebx], 0x3a
jae 0x150f2a
add byte [ebx], 4
jmp 0x150f37
cmp byte [ebx], 0x2b
jne 0x150f34
mov byte [ebx], 0x3e
jmp 0x150f37
mov byte [ebx], 0x3f
mov al, byte [ebx + 1]
cmp al, 0x40
jbe 0x150f48
cmp al, 0x5b
jae 0x150f48
sub byte [ebx + 1], 0x41
jmp 0x150f7b
mov al, byte [ebx + 1]
cmp al, 0x60
jbe 0x150f59
cmp al, 0x7b
jae 0x150f59
sub byte [ebx + 1], 0x47
jmp 0x150f7b
cmp byte [ebx + 1], 0x2f
jbe 0x150f6b
cmp byte [ebx + 1], 0x3a
jae 0x150f6b
add byte [ebx + 1], 4
jmp 0x150f7b
cmp byte [ebx + 1], 0x2b
jne 0x150f77
mov byte [ebx + 1], 0x3e
jmp 0x150f7b
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 - 0xf], al
lea eax, [ebp - 0x14]
mov dl, byte [ebp - 0xf]
call fcn.00013fb4
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.000140a4
mov eax, dword [ebp - 8]
jmp 0x15125b
cmp byte [ebx + 3], 0x3d
jne 0x1510d9
mov al, byte [ebx]
cmp al, 0x40
jbe 0x150fc7
cmp al, 0x5b
jae 0x150fc7
sub byte [ebx], 0x41
jmp 0x150ff2
cmp byte [ebx], 0x60
jbe 0x150fd6
cmp byte [ebx], 0x7b
jae 0x150fd6
sub byte [ebx], 0x47
jmp 0x150ff2
cmp byte [ebx], 0x2f
jbe 0x150fe5
cmp byte [ebx], 0x3a
jae 0x150fe5
add byte [ebx], 4
jmp 0x150ff2
cmp byte [ebx], 0x2b
jne 0x150fef
mov byte [ebx], 0x3e
jmp 0x150ff2
mov byte [ebx], 0x3f
mov al, byte [ebx + 1]
cmp al, 0x40
jbe 0x151003
cmp al, 0x5b
jae 0x151003
sub byte [ebx + 1], 0x41
jmp 0x151037
cmp byte [ebx + 1], 0x60
jbe 0x151015
cmp byte [ebx + 1], 0x7b
jae 0x151015
sub byte [ebx + 1], 0x47
jmp 0x151037
cmp byte [ebx + 1], 0x2f
jbe 0x151027
cmp byte [ebx + 1], 0x3a
jae 0x151027
add byte [ebx + 1], 4
jmp 0x151037
cmp byte [ebx + 1], 0x2b
jne 0x151033
mov byte [ebx + 1], 0x3e
jmp 0x151037
mov byte [ebx + 1], 0x3f
mov al, byte [ebx + 2]
cmp al, 0x40
jbe 0x151048
cmp al, 0x5b
jae 0x151048
sub byte [ebx + 2], 0x41
jmp 0x15107c
cmp byte [ebx + 2], 0x60
jbe 0x15105a
cmp byte [ebx + 2], 0x7b
jae 0x15105a
sub byte [ebx + 2], 0x47
jmp 0x15107c
cmp byte [ebx + 2], 0x2f
jbe 0x15106c
cmp byte [ebx + 2], 0x3a
jae 0x15106c
add byte [ebx + 2], 4
jmp 0x15107c
cmp byte [ebx + 2], 0x2b
jne 0x151078
mov byte [ebx + 2], 0x3e
jmp 0x15107c
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 - 0xf], dl
shl eax, 4
xor edx, edx
mov dl, byte [ebx + 2]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xe], al
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0x18]
mov dl, byte [ebp - 0xf]
call fcn.00013fb4
push dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
mov dl, byte [ebp - 0xe]
call fcn.00013fb4
push dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov edx, 3
call fcn.0001415c
jmp 0x15125b
mov al, byte [ebx]
cmp al, 0x40
jbe 0x1510e8
cmp al, 0x5b
jae 0x1510e8
sub byte [ebx], 0x41
jmp 0x151113
cmp byte [ebx], 0x60
jbe 0x1510f7
cmp byte [ebx], 0x7b
jae 0x1510f7
sub byte [ebx], 0x47
jmp 0x151113
cmp byte [ebx], 0x2f
jbe 0x151106
cmp byte [ebx], 0x3a
jae 0x151106
add byte [ebx], 4
jmp 0x151113
cmp byte [ebx], 0x2b
jne 0x151110
mov byte [ebx], 0x3e
jmp 0x151113
mov byte [ebx], 0x3f
mov al, byte [ebx + 1]
cmp al, 0x40
jbe 0x151124
cmp al, 0x5b
jae 0x151124
sub byte [ebx + 1], 0x41
jmp 0x151158
cmp byte [ebx + 1], 0x60
jbe 0x151136
cmp byte [ebx + 1], 0x7b
jae 0x151136
sub byte [ebx + 1], 0x47
jmp 0x151158
cmp byte [ebx + 1], 0x2f
jbe 0x151148
cmp byte [ebx + 1], 0x3a
jae 0x151148
add byte [ebx + 1], 4
jmp 0x151158
cmp byte [ebx + 1], 0x2b
jne 0x151154
mov byte [ebx + 1], 0x3e
jmp 0x151158
mov byte [ebx + 1], 0x3f
mov al, byte [ebx + 2]
cmp al, 0x40
jbe 0x151169
cmp al, 0x5b
jae 0x151169
sub byte [ebx + 2], 0x41
jmp 0x15119d
cmp byte [ebx + 2], 0x60
jbe 0x15117b
cmp byte [ebx + 2], 0x7b
jae 0x15117b
sub byte [ebx + 2], 0x47
jmp 0x15119d
cmp byte [ebx + 2], 0x2f
jbe 0x15118d
cmp byte [ebx + 2], 0x3a
jae 0x15118d
add byte [ebx + 2], 4
jmp 0x15119d
cmp byte [ebx + 2], 0x2b
jne 0x151199
mov byte [ebx + 2], 0x3e
jmp 0x15119d
mov byte [ebx + 2], 0x3f
cmp byte [ebx + 3], 0x40
jbe 0x1511af
cmp byte [ebx + 3], 0x5b
jae 0x1511af
sub byte [ebx + 3], 0x41
jmp 0x1511e3
cmp byte [ebx + 3], 0x60
jbe 0x1511c1
cmp byte [ebx + 3], 0x7b
jae 0x1511c1
sub byte [ebx + 3], 0x47
jmp 0x1511e3
cmp byte [ebx + 3], 0x2f
jbe 0x1511d3
cmp byte [ebx + 3], 0x3a
jae 0x1511d3
add byte [ebx + 3], 4
jmp 0x1511e3
cmp byte [ebx + 3], 0x2b
jne 0x1511df
mov byte [ebx + 3], 0x3e
jmp 0x1511e3
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 - 0xf], 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 - 0xe], al
mov al, byte [ebx + 2]
shl eax, 6
mov dl, byte [ebx + 3]
and dl, 0x3f
or al, dl
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0x20]
mov dl, byte [ebp - 0xf]
call fcn.00013fb4
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
mov dl, byte [ebp - 0xe]
call fcn.00013fb4
push dword [ebp - 0x24]
lea eax, [ebp - 0x28]
mov dl, byte [ebp - 0xd]
call fcn.00013fb4
push dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov edx, 4
call fcn.0001415c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x15127d
lea eax, [ebp - 0x28]
mov edx, 6
call fcn.00013e30
ret